diff --git a/sdks/uploader/models.go b/sdks/uploader/models.go index 40f9d43..5cfa55b 100644 --- a/sdks/uploader/models.go +++ b/sdks/uploader/models.go @@ -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 {