diff --git a/api/manager/docs.go b/api/manager/docs.go index 9415f44e9..07595e841 100644 --- a/api/manager/docs.go +++ b/api/manager/docs.go @@ -3285,6 +3285,9 @@ const docTemplate = `{ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "name": { "type": "string" }, @@ -3317,12 +3320,18 @@ const docTemplate = `{ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "name": { "type": "string" }, "updated_at": { "type": "string" }, + "user": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.User" + }, "user_id": { "type": "integer" }, @@ -3350,6 +3359,9 @@ const docTemplate = `{ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "result": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.JSONMap" }, @@ -3377,6 +3389,9 @@ const docTemplate = `{ "updated_at": { "type": "string" }, + "user": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.User" + }, "user_id": { "type": "integer" } @@ -3397,9 +3412,15 @@ const docTemplate = `{ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "name": { "type": "string" }, + "scheduler": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.Scheduler" + }, "scheduler_id": { "type": "integer" }, @@ -3435,6 +3456,9 @@ const docTemplate = `{ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "name": { "type": "string" }, @@ -3470,13 +3494,25 @@ const docTemplate = `{ "ip": { "type": "string" }, + "is_del": { + "type": "integer" + }, "location": { "type": "string" }, + "models": { + "type": "array", + "items": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.Model" + } + }, "port": { "type": "integer" }, - "schedulerClusterID": { + "scheduler_cluster": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.SchedulerCluster" + }, + "scheduler_cluster_id": { "type": "integer" }, "state": { @@ -3508,6 +3544,9 @@ const docTemplate = `{ "is_default": { "type": "boolean" }, + "is_del": { + "type": "integer" + }, "jobs": { "type": "array", "items": { @@ -3517,6 +3556,12 @@ const docTemplate = `{ "name": { "type": "string" }, + "schedulers": { + "type": "array", + "items": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.Scheduler" + } + }, "scopes": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.JSONMap" }, @@ -3552,6 +3597,9 @@ const docTemplate = `{ "ip": { "type": "string" }, + "is_del": { + "type": "integer" + }, "location": { "type": "string" }, @@ -3561,7 +3609,10 @@ const docTemplate = `{ "port": { "type": "integer" }, - "seedPeerClusterID": { + "seed_peer_cluster": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.SeedPeerCluster" + }, + "seed_peer_cluster_id": { "type": "integer" }, "state": { @@ -3590,6 +3641,9 @@ const docTemplate = `{ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "jobs": { "type": "array", "items": { @@ -3605,6 +3659,12 @@ const docTemplate = `{ "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.SchedulerCluster" } }, + "seed_peer": { + "type": "array", + "items": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.SeedPeer" + } + }, "updated_at": { "type": "string" } @@ -3619,6 +3679,12 @@ const docTemplate = `{ "bio": { "type": "string" }, + "configs": { + "type": "array", + "items": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.Config" + } + }, "created_at": { "type": "string" }, @@ -3628,6 +3694,9 @@ const docTemplate = `{ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "location": { "type": "string" }, @@ -3758,37 +3827,37 @@ const docTemplate = `{ "bio": { "type": "string" }, - "createdAt": { + "created_at": { "type": "string" }, "id": { "type": "integer" }, - "isDefault": { + "is_default": { "type": "boolean" }, "name": { "type": "string" }, - "peerClusterConfig": { + "peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterClientConfig" }, - "schedulerClusterConfig": { + "scheduler_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterConfig" }, - "schedulerClusterID": { + "scheduler_cluster_id": { "type": "integer" }, "scopes": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterScopes" }, - "seedPeerClusterConfig": { + "seed_peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SeedPeerClusterConfig" }, - "seedPeerClusterID": { + "seed_peer_cluster_id": { "type": "integer" }, - "updatedAt": { + "updated_at": { "type": "string" } } @@ -4089,37 +4158,37 @@ const docTemplate = `{ "bio": { "type": "string" }, - "createdAt": { + "created_at": { "type": "string" }, "id": { "type": "integer" }, - "isDefault": { + "is_default": { "type": "boolean" }, "name": { "type": "string" }, - "peerClusterConfig": { + "peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterClientConfig" }, - "schedulerClusterConfig": { + "scheduler_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterConfig" }, - "schedulerClusterID": { + "scheduler_cluster_id": { "type": "integer" }, "scopes": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterScopes" }, - "seedPeerClusterConfig": { + "seed_peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SeedPeerClusterConfig" }, - "seedPeerClusterID": { + "seed_peer_cluster_id": { "type": "integer" }, - "updatedAt": { + "updated_at": { "type": "string" } } @@ -4343,37 +4412,37 @@ const docTemplate = `{ "bio": { "type": "string" }, - "createdAt": { + "created_at": { "type": "string" }, "id": { "type": "integer" }, - "isDefault": { + "is_default": { "type": "boolean" }, "name": { "type": "string" }, - "peerClusterConfig": { + "peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterClientConfig" }, - "schedulerClusterConfig": { + "scheduler_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterConfig" }, - "schedulerClusterID": { + "scheduler_cluster_id": { "type": "integer" }, "scopes": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterScopes" }, - "seedPeerClusterConfig": { + "seed_peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SeedPeerClusterConfig" }, - "seedPeerClusterID": { + "seed_peer_cluster_id": { "type": "integer" }, - "updatedAt": { + "updated_at": { "type": "string" } } diff --git a/api/manager/swagger.json b/api/manager/swagger.json index 678138f75..c11a1b760 100644 --- a/api/manager/swagger.json +++ b/api/manager/swagger.json @@ -3279,6 +3279,9 @@ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "name": { "type": "string" }, @@ -3311,12 +3314,18 @@ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "name": { "type": "string" }, "updated_at": { "type": "string" }, + "user": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.User" + }, "user_id": { "type": "integer" }, @@ -3344,6 +3353,9 @@ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "result": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.JSONMap" }, @@ -3371,6 +3383,9 @@ "updated_at": { "type": "string" }, + "user": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.User" + }, "user_id": { "type": "integer" } @@ -3391,9 +3406,15 @@ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "name": { "type": "string" }, + "scheduler": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.Scheduler" + }, "scheduler_id": { "type": "integer" }, @@ -3429,6 +3450,9 @@ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "name": { "type": "string" }, @@ -3464,13 +3488,25 @@ "ip": { "type": "string" }, + "is_del": { + "type": "integer" + }, "location": { "type": "string" }, + "models": { + "type": "array", + "items": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.Model" + } + }, "port": { "type": "integer" }, - "schedulerClusterID": { + "scheduler_cluster": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.SchedulerCluster" + }, + "scheduler_cluster_id": { "type": "integer" }, "state": { @@ -3502,6 +3538,9 @@ "is_default": { "type": "boolean" }, + "is_del": { + "type": "integer" + }, "jobs": { "type": "array", "items": { @@ -3511,6 +3550,12 @@ "name": { "type": "string" }, + "schedulers": { + "type": "array", + "items": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.Scheduler" + } + }, "scopes": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.JSONMap" }, @@ -3546,6 +3591,9 @@ "ip": { "type": "string" }, + "is_del": { + "type": "integer" + }, "location": { "type": "string" }, @@ -3555,7 +3603,10 @@ "port": { "type": "integer" }, - "seedPeerClusterID": { + "seed_peer_cluster": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.SeedPeerCluster" + }, + "seed_peer_cluster_id": { "type": "integer" }, "state": { @@ -3584,6 +3635,9 @@ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "jobs": { "type": "array", "items": { @@ -3599,6 +3653,12 @@ "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.SchedulerCluster" } }, + "seed_peer": { + "type": "array", + "items": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.SeedPeer" + } + }, "updated_at": { "type": "string" } @@ -3613,6 +3673,12 @@ "bio": { "type": "string" }, + "configs": { + "type": "array", + "items": { + "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_models.Config" + } + }, "created_at": { "type": "string" }, @@ -3622,6 +3688,9 @@ "id": { "type": "integer" }, + "is_del": { + "type": "integer" + }, "location": { "type": "string" }, @@ -3752,37 +3821,37 @@ "bio": { "type": "string" }, - "createdAt": { + "created_at": { "type": "string" }, "id": { "type": "integer" }, - "isDefault": { + "is_default": { "type": "boolean" }, "name": { "type": "string" }, - "peerClusterConfig": { + "peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterClientConfig" }, - "schedulerClusterConfig": { + "scheduler_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterConfig" }, - "schedulerClusterID": { + "scheduler_cluster_id": { "type": "integer" }, "scopes": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterScopes" }, - "seedPeerClusterConfig": { + "seed_peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SeedPeerClusterConfig" }, - "seedPeerClusterID": { + "seed_peer_cluster_id": { "type": "integer" }, - "updatedAt": { + "updated_at": { "type": "string" } } @@ -4083,37 +4152,37 @@ "bio": { "type": "string" }, - "createdAt": { + "created_at": { "type": "string" }, "id": { "type": "integer" }, - "isDefault": { + "is_default": { "type": "boolean" }, "name": { "type": "string" }, - "peerClusterConfig": { + "peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterClientConfig" }, - "schedulerClusterConfig": { + "scheduler_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterConfig" }, - "schedulerClusterID": { + "scheduler_cluster_id": { "type": "integer" }, "scopes": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterScopes" }, - "seedPeerClusterConfig": { + "seed_peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SeedPeerClusterConfig" }, - "seedPeerClusterID": { + "seed_peer_cluster_id": { "type": "integer" }, - "updatedAt": { + "updated_at": { "type": "string" } } @@ -4337,37 +4406,37 @@ "bio": { "type": "string" }, - "createdAt": { + "created_at": { "type": "string" }, "id": { "type": "integer" }, - "isDefault": { + "is_default": { "type": "boolean" }, "name": { "type": "string" }, - "peerClusterConfig": { + "peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterClientConfig" }, - "schedulerClusterConfig": { + "scheduler_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterConfig" }, - "schedulerClusterID": { + "scheduler_cluster_id": { "type": "integer" }, "scopes": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterScopes" }, - "seedPeerClusterConfig": { + "seed_peer_cluster_config": { "$ref": "#/definitions/d7y_io_dragonfly_v2_manager_types.SeedPeerClusterConfig" }, - "seedPeerClusterID": { + "seed_peer_cluster_id": { "type": "integer" }, - "updatedAt": { + "updated_at": { "type": "string" } } diff --git a/api/manager/swagger.yaml b/api/manager/swagger.yaml index a1aa4865c..8d8fb1da7 100644 --- a/api/manager/swagger.yaml +++ b/api/manager/swagger.yaml @@ -8,6 +8,8 @@ definitions: type: string id: type: integer + is_del: + type: integer name: type: string priority: @@ -29,10 +31,14 @@ definitions: type: string id: type: integer + is_del: + type: integer name: type: string updated_at: type: string + user: + $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.User' user_id: type: integer value: @@ -51,6 +57,8 @@ definitions: type: string id: type: integer + is_del: + type: integer result: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.JSONMap' scheduler_clusters: @@ -69,6 +77,8 @@ definitions: type: string updated_at: type: string + user: + $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.User' user_id: type: integer type: object @@ -82,8 +92,12 @@ definitions: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.JSONMap' id: type: integer + is_del: + type: integer name: type: string + scheduler: + $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.Scheduler' scheduler_id: type: integer state: @@ -107,6 +121,8 @@ definitions: type: string id: type: integer + is_del: + type: integer name: type: string redirect_url: @@ -130,11 +146,19 @@ definitions: type: string ip: type: string + is_del: + type: integer location: type: string + models: + items: + $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.Model' + type: array port: type: integer - schedulerClusterID: + scheduler_cluster: + $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.SchedulerCluster' + scheduler_cluster_id: type: integer state: type: string @@ -155,12 +179,18 @@ definitions: type: integer is_default: type: boolean + is_del: + type: integer jobs: items: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.Job' type: array name: type: string + schedulers: + items: + $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.Scheduler' + type: array scopes: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.JSONMap' seed_peer_clusters: @@ -184,13 +214,17 @@ definitions: type: string ip: type: string + is_del: + type: integer location: type: string object_storage_port: type: integer port: type: integer - seedPeerClusterID: + seed_peer_cluster: + $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.SeedPeerCluster' + seed_peer_cluster_id: type: integer state: type: string @@ -209,6 +243,8 @@ definitions: type: string id: type: integer + is_del: + type: integer jobs: items: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.Job' @@ -219,6 +255,10 @@ definitions: items: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.SchedulerCluster' type: array + seed_peer: + items: + $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.SeedPeer' + type: array updated_at: type: string type: object @@ -228,12 +268,18 @@ definitions: type: string bio: type: string + configs: + items: + $ref: '#/definitions/d7y_io_dragonfly_v2_manager_models.Config' + type: array created_at: type: string email: type: string id: type: integer + is_del: + type: integer location: type: string name: @@ -322,27 +368,27 @@ definitions: properties: bio: type: string - createdAt: + created_at: type: string id: type: integer - isDefault: + is_default: type: boolean name: type: string - peerClusterConfig: + peer_cluster_config: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterClientConfig' - schedulerClusterConfig: + scheduler_cluster_config: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterConfig' - schedulerClusterID: + scheduler_cluster_id: type: integer scopes: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterScopes' - seedPeerClusterConfig: + seed_peer_cluster_config: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SeedPeerClusterConfig' - seedPeerClusterID: + seed_peer_cluster_id: type: integer - updatedAt: + updated_at: type: string type: object d7y_io_dragonfly_v2_manager_types.CreateConfigRequest: @@ -547,27 +593,27 @@ definitions: properties: bio: type: string - createdAt: + created_at: type: string id: type: integer - isDefault: + is_default: type: boolean name: type: string - peerClusterConfig: + peer_cluster_config: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterClientConfig' - schedulerClusterConfig: + scheduler_cluster_config: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterConfig' - schedulerClusterID: + scheduler_cluster_id: type: integer scopes: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterScopes' - seedPeerClusterConfig: + seed_peer_cluster_config: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SeedPeerClusterConfig' - seedPeerClusterID: + seed_peer_cluster_id: type: integer - updatedAt: + updated_at: type: string type: object d7y_io_dragonfly_v2_manager_types.GetV1PreheatResponse: @@ -721,27 +767,27 @@ definitions: properties: bio: type: string - createdAt: + created_at: type: string id: type: integer - isDefault: + is_default: type: boolean name: type: string - peerClusterConfig: + peer_cluster_config: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterClientConfig' - schedulerClusterConfig: + scheduler_cluster_config: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterConfig' - schedulerClusterID: + scheduler_cluster_id: type: integer scopes: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SchedulerClusterScopes' - seedPeerClusterConfig: + seed_peer_cluster_config: $ref: '#/definitions/d7y_io_dragonfly_v2_manager_types.SeedPeerClusterConfig' - seedPeerClusterID: + seed_peer_cluster_id: type: integer - updatedAt: + updated_at: type: string type: object d7y_io_dragonfly_v2_manager_types.UpdateConfigRequest: diff --git a/manager/models/config.go b/manager/models/config.go index 21277a4a3..7fb08542e 100644 --- a/manager/models/config.go +++ b/manager/models/config.go @@ -22,5 +22,5 @@ type Config struct { Value string `gorm:"column:value;type:varchar(1024);not null;comment:config value" json:"value"` BIO string `gorm:"column:bio;type:varchar(1024);comment:biography" json:"bio"` UserID uint `gorm:"comment:user id" json:"user_id"` - User User `json:"-"` + User User `json:"user"` } diff --git a/manager/models/job.go b/manager/models/job.go index 82a0b06cc..b5c483289 100644 --- a/manager/models/job.go +++ b/manager/models/job.go @@ -25,7 +25,7 @@ type Job struct { Args JSONMap `gorm:"column:args;not null;comment:task request args" json:"args"` Result JSONMap `gorm:"column:result;comment:task result" json:"result"` UserID uint `gorm:"column:user_id;comment:user id" json:"user_id"` - User User `json:"-"` + User User `json:"user"` SeedPeerClusters []SeedPeerCluster `gorm:"many2many:job_seed_peer_cluster;" json:"seed_peer_clusters"` SchedulerClusters []SchedulerCluster `gorm:"many2many:job_scheduler_cluster;" json:"scheduler_clusters"` } diff --git a/manager/models/model.go b/manager/models/model.go index 32d4e2a12..898a7df84 100644 --- a/manager/models/model.go +++ b/manager/models/model.go @@ -42,5 +42,5 @@ type Model struct { State string `gorm:"column:state;type:varchar(256);default:'inactive';comment:model state" json:"state"` Evaluation JSONMap `gorm:"column:evaluation;comment:evaluation metrics" json:"evaluation"` SchedulerID uint `gorm:"index:uk_model,unique;not null;comment:scheduler id" json:"scheduler_id"` - Scheduler Scheduler `json:"-"` + Scheduler Scheduler `json:"scheduler"` } diff --git a/manager/models/models.go b/manager/models/models.go index 45bf793f9..50cf58850 100644 --- a/manager/models/models.go +++ b/manager/models/models.go @@ -32,7 +32,7 @@ type BaseModel struct { ID uint `gorm:"primarykey;comment:id" json:"id"` CreatedAt time.Time `gorm:"column:created_at;type:timestamp;default:current_timestamp" json:"created_at"` UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;default:current_timestamp" json:"updated_at"` - IsDel soft_delete.DeletedAt `gorm:"softDelete:flag;comment:soft delete flag" json:"-"` + IsDel soft_delete.DeletedAt `gorm:"softDelete:flag;comment:soft delete flag" json:"is_del"` } func Paginate(page, perPage int) func(db *gorm.DB) *gorm.DB { diff --git a/manager/models/scheduler.go b/manager/models/scheduler.go index 9bd61e64a..c51b5bed4 100644 --- a/manager/models/scheduler.go +++ b/manager/models/scheduler.go @@ -33,7 +33,7 @@ type Scheduler struct { Port int32 `gorm:"column:port;not null;comment:grpc service listening port" json:"port"` State string `gorm:"column:state;type:varchar(256);default:'inactive';comment:service state" json:"state"` Features Array `gorm:"column:features;comment:feature flags" json:"features"` - SchedulerClusterID uint `gorm:"index:uk_scheduler,unique;not null;comment:scheduler cluster id"` - SchedulerCluster SchedulerCluster `json:"-"` - Models []Model `json:"-"` + SchedulerClusterID uint `gorm:"index:uk_scheduler,unique;not null;comment:scheduler cluster id" json:"scheduler_cluster_id"` + SchedulerCluster SchedulerCluster `json:"scheduler_cluster"` + Models []Model `json:"models"` } diff --git a/manager/models/scheduler_cluster.go b/manager/models/scheduler_cluster.go index 763f37131..fd977f52f 100644 --- a/manager/models/scheduler_cluster.go +++ b/manager/models/scheduler_cluster.go @@ -25,6 +25,6 @@ type SchedulerCluster struct { Scopes JSONMap `gorm:"column:scopes;comment:match scopes" json:"scopes"` IsDefault bool `gorm:"column:is_default;not null;default:false;comment:default scheduler cluster" json:"is_default"` SeedPeerClusters []SeedPeerCluster `gorm:"many2many:seed_peer_cluster_scheduler_cluster;" json:"seed_peer_clusters"` - Schedulers []Scheduler `json:"-"` + Schedulers []Scheduler `json:"schedulers"` Jobs []Job `gorm:"many2many:job_scheduler_cluster;" json:"jobs"` } diff --git a/manager/models/seed_peer.go b/manager/models/seed_peer.go index 0ec27deb4..81534ab62 100644 --- a/manager/models/seed_peer.go +++ b/manager/models/seed_peer.go @@ -35,6 +35,6 @@ type SeedPeer struct { DownloadPort int32 `gorm:"column:download_port;not null;comment:download service listening port" json:"download_port"` ObjectStoragePort int32 `gorm:"column:object_storage_port;comment:object storage service listening port" json:"object_storage_port"` State string `gorm:"column:state;type:varchar(256);default:'inactive';comment:service state" json:"state"` - SeedPeerClusterID uint `gorm:"index:uk_seed_peer,unique;not null;comment:seed peer cluster id"` - SeedPeerCluster SeedPeerCluster `json:"-"` + SeedPeerClusterID uint `gorm:"index:uk_seed_peer,unique;not null;comment:seed peer cluster id" json:"seed_peer_cluster_id"` + SeedPeerCluster SeedPeerCluster `json:"seed_peer_cluster"` } diff --git a/manager/models/seed_peer_cluster.go b/manager/models/seed_peer_cluster.go index 9d76445a5..8cff4ee8c 100644 --- a/manager/models/seed_peer_cluster.go +++ b/manager/models/seed_peer_cluster.go @@ -22,6 +22,6 @@ type SeedPeerCluster struct { BIO string `gorm:"column:bio;type:varchar(1024);comment:biography" json:"bio"` Config JSONMap `gorm:"column:config;not null;comment:configuration" json:"config"` SchedulerClusters []SchedulerCluster `gorm:"many2many:seed_peer_cluster_scheduler_cluster;" json:"scheduler_clusters"` - SeedPeers []SeedPeer `json:"-"` + SeedPeers []SeedPeer `json:"seed_peer"` Jobs []Job `gorm:"many2many:job_seed_peer_cluster;" json:"jobs"` } diff --git a/manager/models/user.go b/manager/models/user.go index 18cf602fb..c069abd54 100644 --- a/manager/models/user.go +++ b/manager/models/user.go @@ -32,5 +32,5 @@ type User struct { State string `gorm:"column:state;type:varchar(256);default:'enable';comment:state" json:"state"` Location string `gorm:"column:location;type:varchar(256);comment:location" json:"location"` BIO string `gorm:"column:bio;type:varchar(256);comment:biography" json:"bio"` - Configs []Config `json:"-"` + Configs []Config `json:"configs"` } diff --git a/manager/service/cluster.go b/manager/service/cluster.go index c3d7b11c6..a09a3a8c0 100644 --- a/manager/service/cluster.go +++ b/manager/service/cluster.go @@ -280,7 +280,7 @@ func (s *service) GetCluster(ctx context.Context, id uint) (*types.GetClusterRes } schedulerClusterConfig := &types.SchedulerClusterConfig{} - if err := structure.MapToStruct(schedulerCluster.ClientConfig, &schedulerClusterConfig); err != nil { + if err := structure.MapToStruct(schedulerCluster.Config, &schedulerClusterConfig); err != nil { return nil, err } @@ -331,7 +331,7 @@ func (s *service) GetClusters(ctx context.Context, q types.GetClustersQuery) ([] } schedulerClusterConfig := &types.SchedulerClusterConfig{} - if err := structure.MapToStruct(schedulerCluster.ClientConfig, &schedulerClusterConfig); err != nil { + if err := structure.MapToStruct(schedulerCluster.Config, &schedulerClusterConfig); err != nil { return nil, 0, err } diff --git a/manager/types/cluster.go b/manager/types/cluster.go index d14369c47..aaba309cf 100644 --- a/manager/types/cluster.go +++ b/manager/types/cluster.go @@ -33,18 +33,18 @@ type CreateClusterRequest struct { } type CreateClusterResponse struct { - ID uint - Name string - BIO string - Scopes *SchedulerClusterScopes - SchedulerClusterID uint - SeedPeerClusterID uint - SchedulerClusterConfig *SchedulerClusterConfig - SeedPeerClusterConfig *SeedPeerClusterConfig - PeerClusterConfig *SchedulerClusterClientConfig - CreatedAt time.Time - UpdatedAt time.Time - IsDefault bool + ID uint `json:"id"` + Name string `json:"name"` + BIO string `json:"bio"` + Scopes *SchedulerClusterScopes `json:"scopes"` + SchedulerClusterID uint `json:"scheduler_cluster_id"` + SeedPeerClusterID uint `json:"seed_peer_cluster_id"` + SchedulerClusterConfig *SchedulerClusterConfig `json:"scheduler_cluster_config"` + SeedPeerClusterConfig *SeedPeerClusterConfig `json:"seed_peer_cluster_config"` + PeerClusterConfig *SchedulerClusterClientConfig `json:"peer_cluster_config"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + IsDefault bool `json:"is_default"` } type UpdateClusterRequest struct { @@ -58,33 +58,33 @@ type UpdateClusterRequest struct { } type UpdateClusterResponse struct { - ID uint - Name string - BIO string - Scopes *SchedulerClusterScopes - SchedulerClusterID uint - SeedPeerClusterID uint - SchedulerClusterConfig *SchedulerClusterConfig - SeedPeerClusterConfig *SeedPeerClusterConfig - PeerClusterConfig *SchedulerClusterClientConfig - CreatedAt time.Time - UpdatedAt time.Time - IsDefault bool + ID uint `json:"id"` + Name string `json:"name"` + BIO string `json:"bio"` + Scopes *SchedulerClusterScopes `json:"scopes"` + SchedulerClusterID uint `json:"scheduler_cluster_id"` + SeedPeerClusterID uint `json:"seed_peer_cluster_id"` + SchedulerClusterConfig *SchedulerClusterConfig `json:"scheduler_cluster_config"` + SeedPeerClusterConfig *SeedPeerClusterConfig `json:"seed_peer_cluster_config"` + PeerClusterConfig *SchedulerClusterClientConfig `json:"peer_cluster_config"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + IsDefault bool `json:"is_default"` } type GetClusterResponse struct { - ID uint - Name string - BIO string - Scopes *SchedulerClusterScopes - SchedulerClusterID uint - SeedPeerClusterID uint - SchedulerClusterConfig *SchedulerClusterConfig - SeedPeerClusterConfig *SeedPeerClusterConfig - PeerClusterConfig *SchedulerClusterClientConfig - CreatedAt time.Time - UpdatedAt time.Time - IsDefault bool + ID uint `json:"id"` + Name string `json:"name"` + BIO string `json:"bio"` + Scopes *SchedulerClusterScopes `json:"scopes"` + SchedulerClusterID uint `json:"scheduler_cluster_id"` + SeedPeerClusterID uint `json:"seed_peer_cluster_id"` + SchedulerClusterConfig *SchedulerClusterConfig `json:"scheduler_cluster_config"` + SeedPeerClusterConfig *SeedPeerClusterConfig `json:"seed_peer_cluster_config"` + PeerClusterConfig *SchedulerClusterClientConfig `json:"peer_cluster_config"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + IsDefault bool `json:"is_default"` } type GetClustersQuery struct {