From a999cce0c7aac0584a7e191ee29d317d393346da Mon Sep 17 00:00:00 2001 From: wubijie Date: Thu, 11 Jan 2024 17:36:30 +0800 Subject: [PATCH] add loadinterface function --- .../server/controller/configinstance.go | 54 +++++++++++++++++-- configmanage/server/internal/configfile.go | 2 +- configmanage/server/router/router.go | 3 +- configmanage/server/service/configinstance.go | 2 +- configmanage/server/service/repo.go | 2 +- 5 files changed, 54 insertions(+), 9 deletions(-) diff --git a/configmanage/server/controller/configinstance.go b/configmanage/server/controller/configinstance.go index 1ab5628e..7e9129d0 100644 --- a/configmanage/server/controller/configinstance.go +++ b/configmanage/server/controller/configinstance.go @@ -2,7 +2,6 @@ package controller import ( "encoding/json" - "fmt" "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" @@ -22,7 +21,7 @@ func AddConfigHandler(c *gin.Context) { }{} err := c.ShouldBindJSON(query) if err != nil { - response.Fail(c, gin.H{"status": false}, err.Error()) + response.Fail(c, "parameter error", err.Error()) return } @@ -37,7 +36,7 @@ func AddConfigHandler(c *gin.Context) { } err = ci.Add() if err != nil { - response.Fail(c, gin.H{"status": false}, err.Error()) + response.Fail(c, "add configinfo fail:", err.Error()) return } @@ -55,7 +54,7 @@ func AddConfigHandler(c *gin.Context) { //将参数添加到数据库 err = repoconfig.Record() if err != nil { - response.Fail(c, gin.H{"status": false}, err.Error()) + response.Fail(c, "add repofile fail:", err.Error()) return } response.Success(c, nil, "Add repo config success") @@ -69,7 +68,52 @@ func AddConfigHandler(c *gin.Context) { case global.Sysctl: default: - fmt.Println("Unknown type:", query.Type) + response.Fail(c, nil, "Unknown type:"+query.Type) + } +} + +func LoadConfigHandler(c *gin.Context) { + //TODO:修改请求的参数 + query := &struct { + UUID string `json:"uuid"` + }{} + err := c.ShouldBindJSON(query) + if err != nil { + response.Fail(c, "parameter error", err.Error()) + return + } + + //获取configinfo + ci, err := service.GetInfoByUUID(query.UUID) + if err != nil { + response.Fail(c, "get configinfo fail:", err.Error()) + return + } + + //获取对应配置管理的参数 + switch ci.Type { + case global.Repo: + repoconfig := &service.RepoConfig{ + ConfigInfoUUID: ci.UUID, + } + //加载配置 + err = repoconfig.Load() + if err != nil { + response.Fail(c, "get repofile fail:", err.Error()) + return + } + response.Success(c, repoconfig, "load repo config success") + + case global.Host: + + case global.SSH: + + case global.SSHD: + + case global.Sysctl: + + default: + response.Fail(c, nil, "Unknown type of configinfo:"+query.UUID) } } diff --git a/configmanage/server/internal/configfile.go b/configmanage/server/internal/configfile.go index 9c89b6c6..2b8c5f5f 100644 --- a/configmanage/server/internal/configfile.go +++ b/configmanage/server/internal/configfile.go @@ -21,7 +21,7 @@ func (rf *RepoFile) Add() error { return db.MySQL().Save(&rf).Error } -func GetRepoFileByUUID(uuid string) (RepoFile, error) { +func GetRepoFileByInfoUUID(uuid string) (RepoFile, error) { var file RepoFile err := db.MySQL().Where("config_info_uuid=? && is_index = 1", uuid).Find(&file).Error return file, err diff --git a/configmanage/server/router/router.go b/configmanage/server/router/router.go index 1227fc23..d3025401 100644 --- a/configmanage/server/router/router.go +++ b/configmanage/server/router/router.go @@ -20,7 +20,8 @@ func RegisterAPIs(router *gin.Engine) { pg := router.Group("/plugin/" + global.GlobalClient.PluginInfo.Name) { pg.POST("/add", controller.AddConfigHandler) - pg.POST("/apply", controller.ApplyConfigHandler) + pg.GET("/load", controller.LoadConfigHandler) + //pg.POST("/apply", controller.ApplyConfigHandler) } } diff --git a/configmanage/server/service/configinstance.go b/configmanage/server/service/configinstance.go index 493ae59d..4bdf63bc 100644 --- a/configmanage/server/service/configinstance.go +++ b/configmanage/server/service/configinstance.go @@ -90,6 +90,6 @@ func (ci *ConfigInstance) Add() error { return nil } -func GetInfoByConfigUUID(configuuid string) (ConfigInfo, error) { +func GetInfoByUUID(configuuid string) (ConfigInfo, error) { return internal.GetInfoByUUID(configuuid) } diff --git a/configmanage/server/service/repo.go b/configmanage/server/service/repo.go index 621b14e4..0158ca12 100644 --- a/configmanage/server/service/repo.go +++ b/configmanage/server/service/repo.go @@ -28,7 +28,7 @@ func (rc *RepoConfig) Record() error { } func (c *RepoConfig) Load() error { - rf, err := internal.GetRepoFileByUUID(c.UUID) + rf, err := internal.GetRepoFileByInfoUUID(c.UUID) if err != nil { return err } -- Gitee