| @@ -90,72 +90,99 @@ func (Cluster) TableName() string { | |||||
| } | } | ||||
| type Package struct { | type Package struct { | ||||
| UserID cdssdk.UserID `gorm:"column:user_id" json:"userID"` | |||||
| PackageID cdssdk.PackageID `gorm:"column:package_id" json:"packageID"` | |||||
| PackageName string `gorm:"column:package_name" json:"packageName"` | |||||
| BucketID cdssdk.BucketID `gorm:"column:bucket_id" json:"bucketID"` | |||||
| DataType string `gorm:"column:data_type" json:"dataType"` | |||||
| JsonData string `gorm:"column:json_data" json:"jsonData"` // JSON 数据字段 | |||||
| BindingID DataID `gorm:"column:binding_id" json:"bindingID"` | |||||
| CreateTime time.Time `gorm:"column:create_time" json:"createTime"` | |||||
| Objects []cdssdk.Object `gorm:"column:objects" json:"objects"` | |||||
| UploadedCluster []Cluster `gorm:"column:uploadedCluster" json:"uploadedCluster"` | |||||
| Versions []PackageVersion `gorm:"foreignKey:parent_package_id;references:package_id" json:"versions"` | |||||
| UserID cdssdk.UserID `gorm:"column:user_id" json:"userID"` | |||||
| PackageID cdssdk.PackageID `gorm:"column:package_id" json:"packageID"` | |||||
| PackageName string `gorm:"column:package_name" json:"packageName"` | |||||
| BucketID cdssdk.BucketID `gorm:"column:bucket_id" json:"bucketID"` | |||||
| DataType string `gorm:"column:data_type" json:"dataType"` | |||||
| JsonData string `gorm:"column:json_data" json:"jsonData"` // JSON 数据字段 | |||||
| BindingID DataID `gorm:"column:binding_id" json:"bindingID"` | |||||
| CreateTime time.Time `gorm:"column:create_time" json:"createTime"` | |||||
| Objects []cdssdk.Object `gorm:"column:objects" json:"objects"` | |||||
| UploadedCluster []Cluster `gorm:"column:uploadedCluster" json:"uploadedCluster"` | |||||
| Versions []PackageCloneDAO `gorm:"foreignKey:parent_package_id;references:package_id" json:"versions"` | |||||
| //BlockChain []BlockChain `gorm:"foreignKey:package_id;references:package_id" json:"blockChains"` // 关联 BlockChain 数据 | //BlockChain []BlockChain `gorm:"foreignKey:package_id;references:package_id" json:"blockChains"` // 关联 BlockChain 数据 | ||||
| UploadPriority sch.UploadPriority `gorm:"column:upload_priority" json:"uploadPriority"` | UploadPriority sch.UploadPriority `gorm:"column:upload_priority" json:"uploadPriority"` | ||||
| } | } | ||||
| type PackageDAO struct { | type PackageDAO struct { | ||||
| UserID cdssdk.UserID `gorm:"column:user_id" json:"userID"` | |||||
| PackageID cdssdk.PackageID `gorm:"column:package_id" json:"packageID"` | |||||
| PackageName string `gorm:"column:package_name" json:"packageName"` | |||||
| BucketID cdssdk.BucketID `gorm:"column:bucket_id" json:"bucketID"` | |||||
| DataType string `gorm:"column:data_type" json:"dataType"` | |||||
| JsonData string `gorm:"column:json_data" json:"jsonData"` // JSON 数据字段 | |||||
| BindingID DataID `gorm:"column:binding_id" json:"bindingID"` | |||||
| CreateTime time.Time `gorm:"column:create_time" json:"createTime"` | |||||
| UploadedCluster []Cluster `gorm:"foreignKey:package_id;references:package_id" json:"clusters"` // 关联 Cluster 数据 | |||||
| Versions []PackageVersion `gorm:"foreignKey:parent_package_id;references:package_id" json:"versions"` | |||||
| UploadPriority string `gorm:"column:upload_priority" json:"uploadPriority"` | |||||
| } | |||||
| type PackageVersion struct { | |||||
| ParentPackageID cdssdk.PackageID `gorm:"column:parent_package_id" json:"parentPackageID"` | |||||
| PackageID cdssdk.PackageID `gorm:"column:package_id" json:"packageID"` | |||||
| PackageName string `gorm:"column:package_name" json:"packageName"` | |||||
| Version int64 `gorm:"column:package_version" json:"version"` | |||||
| } | |||||
| func (PackageVersion) TableName() string { | |||||
| return "packageVersion" // 确保和数据库中的表名一致 | |||||
| } | |||||
| //type PackageScheduleType interface { | |||||
| // Noop() | |||||
| //} | |||||
| // | |||||
| //var PackageScheduleTypeUnion = types.NewTypeUnion[PackageScheduleType]( | |||||
| // (*PackagePreferencesSchedule)(nil), | |||||
| // (*PackageSpecifyClusterSchedule)(nil), | |||||
| //) | |||||
| // | |||||
| //var _ = serder.UseTypeUnionInternallyTagged(&PackageScheduleTypeUnion, "type") | |||||
| // | |||||
| //type PackageScheduleBase struct{} | |||||
| // | |||||
| //func (d *PackageScheduleBase) Noop() {} | |||||
| // | |||||
| //type PackagePreferencesSchedule struct { | |||||
| // serder.Metadata `union:"region"` | |||||
| // PackageScheduleBase | |||||
| // Type string `json:"type"` | |||||
| // a sch.Preferences | |||||
| UserID cdssdk.UserID `gorm:"column:user_id" json:"userID"` | |||||
| PackageID cdssdk.PackageID `gorm:"column:package_id" json:"packageID"` | |||||
| PackageName string `gorm:"column:package_name" json:"packageName"` | |||||
| BucketID cdssdk.BucketID `gorm:"column:bucket_id" json:"bucketID"` | |||||
| DataType string `gorm:"column:data_type" json:"dataType"` | |||||
| JsonData string `gorm:"column:json_data" json:"jsonData"` // JSON 数据字段 | |||||
| BindingID DataID `gorm:"column:binding_id" json:"bindingID"` | |||||
| CreateTime time.Time `gorm:"column:create_time" json:"createTime"` | |||||
| UploadedCluster []Cluster `gorm:"foreignKey:package_id;references:package_id" json:"clusters"` // 关联 Cluster 数据 | |||||
| Versions []PackageCloneDAO `gorm:"foreignKey:parent_package_id;references:package_id" json:"versions"` | |||||
| UploadPriority string `gorm:"column:upload_priority" json:"uploadPriority"` | |||||
| } | |||||
| type PackageCloneDAO struct { | |||||
| ID DataID `gorm:"column:id;primaryKey;autoIncrement" json:"ID"` | |||||
| ParentPackageID cdssdk.PackageID `gorm:"column:parent_package_id" json:"parentPackageID"` | |||||
| ClonePackageID cdssdk.PackageID `gorm:"column:clone_package_id" json:"clonePackageID"` | |||||
| Name string `gorm:"column:name" json:"name"` | |||||
| Description string `gorm:"column:description" json:"description"` | |||||
| BootstrapObjectID cdssdk.ObjectID `gorm:"column:bootstrap_object_id" json:"bootstrapObjectID"` | |||||
| ClusterID schsdk.ClusterID `gorm:"column:cluster_id" json:"clusterID"` | |||||
| ParentImageID schsdk.ImageID `gorm:"column:parent_image_id" json:"parentImageID"` | |||||
| ImageID string `gorm:"column:image_id" json:"imageID"` | |||||
| CreateTime time.Time `gorm:"column:created_at" json:"createTime"` | |||||
| } | |||||
| func (PackageCloneDAO) TableName() string { | |||||
| return "packageClone" // 确保和数据库中的表名一致 | |||||
| } | |||||
| type PackageCloneParam struct { | |||||
| PackageID cdssdk.PackageID `json:"packageID" binding:"required"` | |||||
| PackageName string `json:"packageName" binding:"required"` | |||||
| BucketID cdssdk.BucketID `json:"bucketID" binding:"required"` | |||||
| Name string `json:"name"` | |||||
| Description string `json:"description"` | |||||
| BootstrapObjectID cdssdk.ObjectID `json:"bootstrapObjectID"` | |||||
| ClusterID schsdk.ClusterID `json:"clusterID"` | |||||
| ParentImageID schsdk.ImageID `json:"parentImageID"` | |||||
| ImageID string `json:"imageID"` | |||||
| } | |||||
| type PackageCloneVO struct { | |||||
| ID DataID `gorm:"column:id;primaryKey;autoIncrement" json:"ID"` | |||||
| ParentPackageID cdssdk.PackageID `gorm:"column:parent_package_id" json:"parentPackageID"` | |||||
| ClonePackageID cdssdk.PackageID `gorm:"column:clone_package_id" json:"clonePackageID"` | |||||
| Name string `gorm:"column:name" json:"name"` | |||||
| Description string `gorm:"column:description" json:"description"` | |||||
| BootstrapObjectID cdssdk.ObjectID `gorm:"column:bootstrap_object_id" json:"bootstrapObjectID"` | |||||
| ClusterID schsdk.ClusterID `gorm:"column:cluster_id" json:"clusterID"` | |||||
| ParentImageID schsdk.ImageID `gorm:"column:parent_image_id" json:"parentImageID"` | |||||
| ImageID string `gorm:"column:image_id" json:"imageID"` | |||||
| CreateTime time.Time `gorm:"column:created_at" json:"createTime"` | |||||
| ClusterMapping ClusterMapping `gorm:"foreignKey:cluster_id;references:cluster_id" json:"cluster"` | |||||
| } | |||||
| type ClusterMapping struct { | |||||
| ClusterID schsdk.ClusterID `gorm:"column:cluster_id" json:"clusterID"` | |||||
| ClusterName string `gorm:"column:cluster_name" json:"clusterName"` | |||||
| StorageID cdssdk.StorageID `gorm:"column:storage_id" json:"storageID"` | |||||
| StorageType string `gorm:"column:storage_type" json:"storageType"` | |||||
| StoragePath string `gorm:"column:storage_path" json:"storagePath"` | |||||
| } | |||||
| func (ClusterMapping) TableName() string { | |||||
| return "ClusterMapping" | |||||
| } | |||||
| //type PackageCloneClusterDAO struct { | |||||
| // ID DataID `gorm:"column:id" json:"ID"` | |||||
| // ClusterID schsdk.ClusterID `gorm:"column:cluster_id" json:"clusterID"` | |||||
| // ClusterName string `gorm:"column:cluster_name" json:"clusterName"` | |||||
| //} | //} | ||||
| // | // | ||||
| //type PackageSpecifyClusterSchedule struct { | |||||
| // serder.Metadata `union:"region"` | |||||
| // PackageScheduleBase | |||||
| // Type string `json:"type"` | |||||
| //type PackageCloneCluster struct { | |||||
| // ClusterID schsdk.ClusterID `json:"clusterID"` | |||||
| // ClusterName string `json:"clusterName"` | |||||
| //} | //} | ||||
| type ScheduleTarget interface { | type ScheduleTarget interface { | ||||