fix: response of cluster rest api (#2572)

Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
Gaius 2023-07-25 21:28:52 +08:00 committed by GitHub
parent 864943f418
commit 22e7d629aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 312 additions and 128 deletions

View File

@ -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"
}
}

View File

@ -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"
}
}

View File

@ -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:

View File

@ -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"`
}

View File

@ -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"`
}

View File

@ -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"`
}

View File

@ -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 {

View File

@ -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"`
}

View File

@ -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"`
}

View File

@ -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"`
}

View File

@ -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"`
}

View File

@ -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"`
}

View File

@ -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
}

View File

@ -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 {