| @@ -90,72 +90,99 @@ func (Cluster) TableName() string { | |||
| } | |||
| 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 数据 | |||
| UploadPriority sch.UploadPriority `gorm:"column:upload_priority" json:"uploadPriority"` | |||
| } | |||
| 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 { | |||