diff --git a/configmanage/server/controller/repo.go b/configmanage/server/controller/repo.go index 0d6bf78d7f054715a2b704ea69c8db61b4bc23ef..5d5cf9084d965577e8a5e86713caf448b55c56d9 100644 --- a/configmanage/server/controller/repo.go +++ b/configmanage/server/controller/repo.go @@ -17,9 +17,11 @@ func AddRepoHandler(c *gin.Context) { return } - uuid := uuid.New().String() + fileuuid := uuid.New().String() config := &service.RepoConfig{ - UUID: uuid, + UUID: fileuuid, + Name: "", + File: "", } err = config.Record() if err != nil { @@ -28,12 +30,13 @@ func AddRepoHandler(c *gin.Context) { } ci := service.ConfigInstance{ - UUID: uuid, + UUID: uuid.New().String(), Type: global.Repo, Description: "", + FileUUID: fileuuid, BatchIds: []uint{}, DepartIds: []int{}, - UUIDS: []string{}, + NodeS: []string{}, Config: config, } err = ci.Record() @@ -42,3 +45,22 @@ func AddRepoHandler(c *gin.Context) { return } } + +func GetRepoConfig(c *gin.Context) { + //TODO:query 类型需要转变需要包含uuid + var query int + err := c.ShouldBind(query) + if err != nil { + response.Fail(c, gin.H{"status": false}, err.Error()) + return + } + config := &service.RepoConfig{ + UUID: "fileuuid", + } + err = config.Load() + if err != nil { + response.Fail(c, gin.H{"status": false}, err.Error()) + return + } + +} diff --git a/configmanage/server/internal/configfile.go b/configmanage/server/internal/configfile.go index 8b868b683ed8f5fc335adcb244aa7feb9370fb2f..263e2da31551d35018f88d7ffd42c9e1a83e2fc3 100644 --- a/configmanage/server/internal/configfile.go +++ b/configmanage/server/internal/configfile.go @@ -7,20 +7,19 @@ import ( ) type ConfigFile struct { - ID int `gorm:"primary_key;AUTO_INCREMENT"` - ConfigInfo ConfigInfo `gorm:"Foreignkey:ConfigInfoUUID"` - ConfigInfoUUID string - Name string `json:"name"` - File string `gorm:"type:text" json:"file"` - CreatedAt time.Time + ID int `gorm:"AUTO_INCREMENT"` + UUID string `gorm:"primary_key;type:varchar(50)" json:"uuid"` + Name string `json:"name"` + File string `gorm:"type:text" json:"file"` + CreatedAt time.Time } func (cf *ConfigFile) Add() error { return db.MySQL().Save(&cf).Error } -func GetConfigFilesByUUID(uuid string) ([]ConfigFile, error) { - var files []ConfigFile - err := db.MySQL().Where("config_message_uuid=?", uuid).Find(&files).Error - return files, err +func GetConfigFilesByUUID(uuid string) (ConfigFile, error) { + var file ConfigFile + err := db.MySQL().Where("uuid=?", uuid).Find(&file).Error + return file, err } diff --git a/configmanage/server/internal/configinfo.go b/configmanage/server/internal/configinfo.go index ed52ccd3ed7a3f52eef5e71ef496d64bd2869f8e..798f1e3b936d1b43829670aed06cc51e42ea8ed9 100644 --- a/configmanage/server/internal/configinfo.go +++ b/configmanage/server/internal/configinfo.go @@ -3,10 +3,12 @@ package internal import "openeuler.org/PilotGo/configmanage-plugin/db" type ConfigInfo struct { - ID int `gorm:"AUTO_INCREMENT"` - UUID string `gorm:"primary_key;type:varchar(50)" json:"uuid"` - Type string `json:"type"` - Description string `json:"description"` + ID int `gorm:"primary_key;AUTO_INCREMENT"` + UUID string `gorm:"type:varchar(50)" json:"uuid"` + ConfigFile ConfigFile `gorm:"Foreignkey:ConfigFileUUID"` + ConfigFileUUID string + Type string `json:"type"` + Description string `json:"description"` } func (cm *ConfigInfo) Add() error { diff --git a/configmanage/server/internal/confignode.go b/configmanage/server/internal/confignode.go index 335335d0b89df9eab678dd5ce933f07eaea22a17..1aee3f4ff475822d2bee7e7880f334971d7ae8d6 100644 --- a/configmanage/server/internal/confignode.go +++ b/configmanage/server/internal/confignode.go @@ -3,10 +3,9 @@ package internal import "openeuler.org/PilotGo/configmanage-plugin/db" type ConfigNode struct { - ID int `gorm:"primary_key;AUTO_INCREMENT"` - ConfigInfo ConfigInfo `gorm:"Foreignkey:ConfigInfoUUID"` - ConfigInfoUUID string - NodeId string + ID int `gorm:"primary_key;AUTO_INCREMENT"` + ConfigInfoUUID string `json:"config_info_uuid"` + NodeId string `json:"node_id"` } func (cn *ConfigNode) Add() error { @@ -15,6 +14,6 @@ func (cn *ConfigNode) Add() error { func GetConfigNodesByUUID(uuid string) ([]ConfigNode, error) { var nodes []ConfigNode - err := db.MySQL().Where("config_message_uuid=?", uuid).Find(&nodes).Error + err := db.MySQL().Where("config_info_uuid=?", uuid).Find(&nodes).Error return nodes, err } diff --git a/configmanage/server/service/configinstance.go b/configmanage/server/service/configinstance.go index dbf5a5c719da2a789a1a3999057a6b3f67da4f30..01ad0b8b7fd8a4fc1a6720cfd8e7721720882a55 100644 --- a/configmanage/server/service/configinstance.go +++ b/configmanage/server/service/configinstance.go @@ -8,17 +8,19 @@ import ( ) type ConfigInstance struct { + UUID string `json:"uuid"` Type string `json:"type"` Description string `json:"description"` + FileUUID string `json:"fileuuid"` BatchIds []uint `json:"batchids"` DepartIds []int `json:"departids"` - UUIDS []string `json:"uuids"` - UUID string + NodeS []string `json:"uuids"` Config Config } type Config interface { + //Version() string // 配置存储 Record() error @@ -42,9 +44,10 @@ type ConfigResult struct { func (ci *ConfigInstance) Record() error { cm := ConfigInfo{ - UUID: ci.UUID, - Type: ci.Type, - Description: ci.Description, + UUID: ci.UUID, + ConfigFileUUID: ci.FileUUID, + Type: ci.Type, + Description: ci.Description, } err := cm.Add() if err != nil { @@ -75,7 +78,7 @@ func (ci *ConfigInstance) Record() error { } } - for _, v := range ci.UUIDS { + for _, v := range ci.NodeS { cn := ConfigNode{ ConfigInfoUUID: ci.UUID, NodeId: "n" + v, diff --git a/configmanage/server/service/repo.go b/configmanage/server/service/repo.go index 6aca34afbbea130080cc765644282bfa7de0935c..7b70a312fee5e560348cdc7fe22c3d41b86f6c51 100644 --- a/configmanage/server/service/repo.go +++ b/configmanage/server/service/repo.go @@ -1,5 +1,7 @@ package service +import "openeuler.org/PilotGo/configmanage-plugin/internal" + type RepoConfig struct { UUID string Name string @@ -8,15 +10,21 @@ type RepoConfig struct { func (c *RepoConfig) Record() error { cf := ConfigFile{ - ConfigInfoUUID: c.UUID, - Name: c.Name, - File: c.File, + UUID: c.UUID, + Name: c.Name, + File: c.File, } return cf.Add() } func (c *RepoConfig) Load() error { + cf, err := internal.GetConfigFilesByUUID(c.UUID) + if err != nil { + return err + } + c.Name = cf.Name + c.File = cf.File return nil }