|
- package uploadersdk
-
- import (
- "gitlink.org.cn/cloudream/common/pkgs/types"
- sch "gitlink.org.cn/cloudream/common/sdks/pcmscheduler"
- schsdk "gitlink.org.cn/cloudream/common/sdks/scheduler"
- cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
- "gitlink.org.cn/cloudream/common/utils/serder"
- "time"
- )
-
- type ClusterID string
-
- type BlockChain struct {
- ObjectID cdssdk.ObjectID `gorm:"column:object_id" json:"objectID"`
- BlockChainID string `gorm:"column:blockchain_id" json:"blockChainID"`
- BlockChainType string `gorm:"column:blockchain_type" json:"blockChainType"`
- //FileName string `gorm:"column:file_name" json:"fileName"`
- //FileHash string `gorm:"column:file_hash" json:"fileHash"`
- //FileSize int64 `gorm:"column:file_size" json:"fileSize"`
- }
-
- func (BlockChain) TableName() string {
- return "BlockChain" // 确保和数据库中的表名一致
- }
-
- type Binding struct {
- ID DataID `gorm:"column:id;primaryKey;autoIncrement" json:"ID"`
- UserID cdssdk.UserID `gorm:"column:user_id" json:"userID"`
- Name string `gorm:"column:name" json:"Name"`
- DataType string `gorm:"column:data_type" json:"dataType"`
- Content string `gorm:"column:content" json:"Content"`
- AccessLevel string `gorm:"column:access_level" json:"accessLevel"`
- CreateTime time.Time `gorm:"column:created_at" json:"createTime"`
- }
-
- type BindingDAO struct {
- ID DataID `gorm:"column:id;primaryKey;autoIncrement" json:"ID"`
- UserID cdssdk.UserID `gorm:"column:user_id" json:"userID"`
- Name string `gorm:"column:name" json:"Name"`
- DataType string `gorm:"column:data_type" json:"dataType"`
- Content string `gorm:"column:content" json:"Content"`
- AccessLevel string `gorm:"column:access_level" json:"accessLevel"`
- CreateTime time.Time `gorm:"column:created_at" json:"createTime"`
- BindingCluster []BindingCluster `gorm:"foreignKey:binding_id;references:id" json:"bindingCluster"`
- }
-
- type BindingAccessData struct {
- ID DataID `gorm:"column:id;primaryKey;autoIncrement" json:"ID"`
- UserID cdssdk.UserID `gorm:"column:user_id" json:"userID"`
- UserName string `gorm:"column:username" json:"userName"`
- SSOId string `gorm:"column:sso_id" json:"ssoID"`
- Name string `gorm:"column:name" json:"Name"`
- DataType string `gorm:"column:data_type" json:"dataType"`
- Content string `gorm:"column:content" json:"Content"`
- AccessLevel string `gorm:"column:access_level" json:"accessLevel"`
- ApplicantID cdssdk.UserID `gorm:"column:applicant_id" json:"applicantID"`
- Status string `gorm:"column:status" json:"status"`
- CreateTime time.Time `gorm:"column:created_at" json:"createTime"`
- }
-
- type BindingDetail struct {
- ID DataID `json:"ID"`
- UserID cdssdk.UserID `json:"ownerID"`
- UserName string `json:"userName"`
- SSOId string `json:"ssoID"`
- Name string `json:"Name"`
- Info sch.DataBinding `json:"info"`
- Package Package `json:"package"`
- Status string `json:"status"`
- AccessLevel string `json:"accessLevel"`
- CreateTime time.Time `json:"createTime"`
- }
-
- func (Binding) TableName() string {
- return "BindingData" // 确保和数据库中的表名一致
- }
-
- type BindingCluster struct {
- BindingID DataID `gorm:"column:binding_id" json:"bindingID"`
- ClusterID ClusterID `gorm:"column:cluster_id" json:"clusterID"`
- Status string `gorm:"column:status" json:"status"`
- Param string `gorm:"column:param" json:"Param"`
- JsonData string `gorm:"column:json_data" json:"jsonData"`
- }
-
- func (BindingCluster) TableName() string {
- return "bindingCluster" // 确保和数据库中的表名一致
- }
-
- type Folder struct {
- PackageID cdssdk.PackageID `gorm:"column:package_id" json:"packageID"`
- Path string `gorm:"column:path_name" json:"path"`
- CreateTime time.Time `gorm:"column:create_time" json:"createTime"`
- }
-
- func (Folder) TableName() string {
- return "folders"
- }
-
- type DataID int64
- type FolderID int64
-
- type Cluster struct {
- PackageID cdssdk.PackageID `gorm:"column:package_id" json:"PackageID"`
- ClusterID schsdk.ClusterID `gorm:"column:cluster_id" json:"clusterID"`
- StorageID cdssdk.StorageID `gorm:"column:storage_id" json:"storageID"`
- }
-
- func (Cluster) TableName() string {
- return "uploadedCluster" // 确保和数据库中的表名一致
- }
-
- 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"`
- 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"`
- UploadPriority sch.UploadPriority `gorm:"column:upload_priority" json:"uploadPriority"`
- BindingInfo sch.DataBinding `gorm:"column:binding_info" json:"bindingInfo"`
- PackageType string `gorm:"column:package_type" json:"packageType"`
- }
-
- 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"`
- 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"`
- Param string `gorm:"column:param" json:"param"`
- PackageType string `gorm:"column:package_type" json:"packageType"`
- }
-
- 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 schsdk.ImageID `gorm:"column:image_id" json:"imageID"`
- BindingID DataID `gorm:"column:binding_id" json:"bindingID"`
- 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"`
- Name string `json:"name"`
- Description string `json:"description"`
- BootstrapObjectID cdssdk.ObjectID `json:"bootstrapObjectID"`
- ClusterID schsdk.ClusterID `json:"clusterID"`
- Output string `json:"output"`
- ImageID schsdk.ImageID `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"`
- BindingID DataID `gorm:"column:binding_id" json:"bindingID"`
- 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 ScheduleTarget interface {
- Noop()
- }
-
- var DataScheduleTargetTypeUnion = types.NewTypeUnion[ScheduleTarget](
- (*JCSScheduleTarget)(nil),
- (*UrlScheduleTarget)(nil),
- )
-
- var _ = serder.UseTypeUnionInternallyTagged(&DataScheduleTargetTypeUnion, "type")
-
- type ScheduleTargetBase struct{}
-
- func (d *ScheduleTargetBase) Noop() {}
-
- type JCSScheduleTarget struct {
- ScheduleTargetBase
- UserID cdssdk.UserID `json:"userID"`
- ScheduleStorages []ScheduleStorage `json:"scheduleStorages"`
- }
-
- type UrlScheduleTarget struct {
- ScheduleTargetBase
- ScheduleUrls []ScheduleUrl `json:"scheduleUrls"`
- }
-
- type ScheduleUrl struct {
- ClusterID ClusterID `json:"clusterID"`
- //RepositoryName string `json:"repositoryName"`
- JsonData string `json:"jsonData"`
- }
-
- type ScheduleStorage struct {
- StorageID cdssdk.StorageID `json:"storageID"`
- RootPath string `json:"rootPath"`
- }
|