From ffb2a3e11a0f52b448d5adab41928ecc8d9af6a3 Mon Sep 17 00:00:00 2001 From: wubijie Date: Wed, 6 Dec 2023 17:49:17 +0800 Subject: [PATCH] Modify relationships between repoconfig and configinstance structs --- configmanage/server/controller/repo.go | 44 +++++++++++++++++++ configmanage/server/service/configinstance.go | 25 +++++++---- configmanage/server/service/repo.go | 21 +++------ 3 files changed, 66 insertions(+), 24 deletions(-) create mode 100644 configmanage/server/controller/repo.go diff --git a/configmanage/server/controller/repo.go b/configmanage/server/controller/repo.go new file mode 100644 index 00000000..0d6bf78d --- /dev/null +++ b/configmanage/server/controller/repo.go @@ -0,0 +1,44 @@ +package controller + +import ( + "gitee.com/openeuler/PilotGo/sdk/response" + "github.com/gin-gonic/gin" + "github.com/google/uuid" + "openeuler.org/PilotGo/configmanage-plugin/global" + "openeuler.org/PilotGo/configmanage-plugin/service" +) + +func AddRepoHandler(c *gin.Context) { + //TODO:query 类型需要转变 + var query int + err := c.ShouldBind(query) + if err != nil { + response.Fail(c, gin.H{"status": false}, err.Error()) + return + } + + uuid := uuid.New().String() + config := &service.RepoConfig{ + UUID: uuid, + } + err = config.Record() + if err != nil { + response.Fail(c, gin.H{"status": false}, err.Error()) + return + } + + ci := service.ConfigInstance{ + UUID: uuid, + Type: global.Repo, + Description: "", + BatchIds: []uint{}, + DepartIds: []int{}, + UUIDS: []string{}, + Config: config, + } + err = ci.Record() + if err != nil { + response.Fail(c, gin.H{"status": false}, err.Error()) + return + } +} diff --git a/configmanage/server/service/configinstance.go b/configmanage/server/service/configinstance.go index cf026788..dbf5a5c7 100644 --- a/configmanage/server/service/configinstance.go +++ b/configmanage/server/service/configinstance.go @@ -4,7 +4,6 @@ import ( "strconv" "gitee.com/openeuler/PilotGo/sdk/logger" - "github.com/google/uuid" "openeuler.org/PilotGo/configmanage-plugin/internal" ) @@ -14,8 +13,9 @@ type ConfigInstance struct { BatchIds []uint `json:"batchids"` DepartIds []int `json:"departids"` UUIDS []string `json:"uuids"` + UUID string - Config *Config + Config Config } type Config interface { @@ -33,20 +33,27 @@ type ConfigInfo = internal.ConfigInfo type ConfigFile = internal.ConfigFile type ConfigNode = internal.ConfigNode -func (ci *ConfigInstance) Record() (string, error) { +type ConfigResult struct { + ConfigInfo + BatchIds []uint + DepartIds []int + UUIDS []string +} + +func (ci *ConfigInstance) Record() error { cm := ConfigInfo{ - UUID: uuid.New().String(), + UUID: ci.UUID, Type: ci.Type, Description: ci.Description, } err := cm.Add() if err != nil { - return cm.UUID, err + return err } for _, v := range ci.BatchIds { cn := ConfigNode{ - ConfigInfoUUID: cm.UUID, + ConfigInfoUUID: ci.UUID, NodeId: "b" + strconv.Itoa(int(v)), } err := cn.Add() @@ -58,7 +65,7 @@ func (ci *ConfigInstance) Record() (string, error) { for _, v := range ci.DepartIds { cn := ConfigNode{ - ConfigInfoUUID: cm.UUID, + ConfigInfoUUID: ci.UUID, NodeId: "d" + strconv.Itoa(v), } err := cn.Add() @@ -70,7 +77,7 @@ func (ci *ConfigInstance) Record() (string, error) { for _, v := range ci.UUIDS { cn := ConfigNode{ - ConfigInfoUUID: cm.UUID, + ConfigInfoUUID: ci.UUID, NodeId: "n" + v, } err := cn.Add() @@ -79,5 +86,5 @@ func (ci *ConfigInstance) Record() (string, error) { continue } } - return cm.UUID, err + return err } diff --git a/configmanage/server/service/repo.go b/configmanage/server/service/repo.go index 87f02c5a..6aca34af 100644 --- a/configmanage/server/service/repo.go +++ b/configmanage/server/service/repo.go @@ -1,28 +1,19 @@ package service -import ( - "openeuler.org/PilotGo/configmanage-plugin/global" -) - type RepoConfig struct { - ConfigInstance ConfigInstance - Name string - File string + UUID string + Name string + File string } func (c *RepoConfig) Record() error { - c.ConfigInstance.Type = global.Repo - uuid, err := c.ConfigInstance.Record() - if err != nil { - return err - } cf := ConfigFile{ - ConfigInfoUUID: uuid, + ConfigInfoUUID: c.UUID, Name: c.Name, File: c.File, } - err = cf.Add() - return err + return cf.Add() + } func (c *RepoConfig) Load() error { -- Gitee