From e265b1d59f4a3094a246394582aa2014094bdbb7 Mon Sep 17 00:00:00 2001 From: wubijie Date: Thu, 7 Dec 2023 15:46:18 +0800 Subject: [PATCH] add repoconfig fetch and update function --- configmanage/server/controller/repo.go | 53 ++++++++++++++++------ configmanage/server/internal/configinfo.go | 8 ++-- configmanage/server/service/repo.go | 13 +++++- 3 files changed, 56 insertions(+), 18 deletions(-) diff --git a/configmanage/server/controller/repo.go b/configmanage/server/controller/repo.go index 9691efcf..e7bc5574 100644 --- a/configmanage/server/controller/repo.go +++ b/configmanage/server/controller/repo.go @@ -10,7 +10,14 @@ import ( func AddRepoHandler(c *gin.Context) { //TODO:query 类型需要转变 - var query int + query := struct { + Description string `json:"description"` + BatchIds []uint `json:"batchids"` + DepartIds []int `json:"departids"` + Nodes []string `json:"uuids"` + Name string `json:"name"` + File string `json:"file"` + }{} err := c.ShouldBind(query) if err != nil { response.Fail(c, gin.H{"status": false}, err.Error()) @@ -20,8 +27,8 @@ func AddRepoHandler(c *gin.Context) { configuuid := uuid.New().String() config := &service.RepoConfig{ UUID: configuuid, - Name: "", - File: "", + Name: query.Name, + File: query.File, } err = config.Record() if err != nil { @@ -32,10 +39,10 @@ func AddRepoHandler(c *gin.Context) { ci := service.ConfigInstance{ UUID: uuid.New().String(), Type: global.Repo, - Description: "", - BatchIds: []uint{}, - DepartIds: []int{}, - Nodes: []string{}, + Description: query.Description, + BatchIds: query.BatchIds, + DepartIds: query.DepartIds, + Nodes: query.Nodes, Config: config, } err = ci.Add(configuuid) @@ -43,23 +50,43 @@ func AddRepoHandler(c *gin.Context) { response.Fail(c, gin.H{"status": false}, err.Error()) return } + response.Success(c, nil, "Add repo config success") } func GetRepoConfig(c *gin.Context) { - //TODO:query 类型需要转变需要包含uuid - var query int - err := c.ShouldBind(query) + //TODO:query 类型需要转变需要包含configuuid + query := c.Query("configuuid") + config := &service.RepoConfig{ + UUID: query, + } + err := config.Load() if err != nil { response.Fail(c, gin.H{"status": false}, err.Error()) return } - config := &service.RepoConfig{ - UUID: "configuuid", + response.Success(c, config, "Get repo file success") +} + +func UpdateRepoConfig(c *gin.Context) { + //TODO:query 类型需要转变需要包含configuuid + query := service.RepoConfig{} + err := c.ShouldBind(query) + if err != nil { + response.Fail(c, gin.H{"status": false}, err.Error()) + return } - err = config.Load() + configuuid := query.UUID + query.UUID = uuid.New().String() + err = query.Record() if err != nil { response.Fail(c, gin.H{"status": false}, err.Error()) return } + err = query.UpdateRepoConfig(configuuid) + if err != nil { + response.Fail(c, gin.H{"status": false}, err.Error()) + return + } + response.Success(c, query, "Update repo file success") } diff --git a/configmanage/server/internal/configinfo.go b/configmanage/server/internal/configinfo.go index 798f1e3b..07c438ee 100644 --- a/configmanage/server/internal/configinfo.go +++ b/configmanage/server/internal/configinfo.go @@ -15,8 +15,8 @@ func (cm *ConfigInfo) Add() error { return db.MySQL().Save(&cm).Error } -func GetConfigMessage() ([]ConfigInfo, error) { - var cm []ConfigInfo - err := db.MySQL().Find(&cm).Error - return cm, err +func GetInfoByConfigUUID(configuuid string) (ConfigInfo, error) { + var ci ConfigInfo + err := db.MySQL().Where("config_file_uuid=?", configuuid).Find(&ci).Error + return ci, err } diff --git a/configmanage/server/service/repo.go b/configmanage/server/service/repo.go index 10df12da..af6b0b8b 100644 --- a/configmanage/server/service/repo.go +++ b/configmanage/server/service/repo.go @@ -1,6 +1,8 @@ package service -import "openeuler.org/PilotGo/configmanage-plugin/internal" +import ( + "openeuler.org/PilotGo/configmanage-plugin/internal" +) type RepoConfig struct { UUID string @@ -32,3 +34,12 @@ func (c *RepoConfig) Apply(uuid string) error { return nil } + +func (c *RepoConfig) UpdateRepoConfig(configuuid string) error { + ci, err := internal.GetInfoByConfigUUID(configuuid) + if err != nil { + return err + } + ci.ConfigFileUUID = c.UUID + return ci.Add() +} -- Gitee