From 8b471ed4f44852622395ff2e681e220bd2766316 Mon Sep 17 00:00:00 2001 From: wubijie Date: Thu, 7 Nov 2024 10:34:58 +0800 Subject: [PATCH] add sysctlconfig load func --- configmanage/server/internal/sysctl.go | 10 ++++++++++ configmanage/server/service/sysctl.go | 15 +++++++++++++++ configmanage/server/service/sysctl_test.go | 13 +++++++++++++ 3 files changed, 38 insertions(+) diff --git a/configmanage/server/internal/sysctl.go b/configmanage/server/internal/sysctl.go index 9a2d0177..c041ef43 100644 --- a/configmanage/server/internal/sysctl.go +++ b/configmanage/server/internal/sysctl.go @@ -25,3 +25,13 @@ type SysctlFile struct { func (sysf *SysctlFile) Add() error { return db.MySQL().Save(&sysf).Error } + +func GetSysctlFileByInfoUUID(uuid string, isindex interface{}) (SysctlFile, error) { + var file SysctlFile + if isindex != nil { + err := db.MySQL().Model(&SysctlFile{}).Where("config_info_uuid=? && is_index = ?", uuid, isindex).Find(&file).Error + return file, err + } + err := db.MySQL().Model(&SysctlFile{}).Where("config_info_uuid=?", uuid).Find(&file).Error + return file, err +} diff --git a/configmanage/server/service/sysctl.go b/configmanage/server/service/sysctl.go index 5a6b705d..f1301b56 100644 --- a/configmanage/server/service/sysctl.go +++ b/configmanage/server/service/sysctl.go @@ -63,3 +63,18 @@ func (sysc *SysctlConfig) Record() error { sysf := sysc.toSysctlFile() return sysf.Add() } + +func (sysc *SysctlConfig) Load() error { + // 加载正在使用的某配置文件 + sysf, err := internal.GetSysctlFileByInfoUUID(sysc.ConfigInfoUUID, true) + if err != nil { + return err + } + sysc.UUID = sysf.UUID + sysc.Path = sysf.Path + sysc.Name = sysf.Name + sysc.Content = sysf.Content + sysc.Version = sysf.Version + sysc.IsActive = sysf.IsActive + return nil +} diff --git a/configmanage/server/service/sysctl_test.go b/configmanage/server/service/sysctl_test.go index a19d4e21..94e5b189 100644 --- a/configmanage/server/service/sysctl_test.go +++ b/configmanage/server/service/sysctl_test.go @@ -27,3 +27,16 @@ func TestSysctlConfig_Record(t *testing.T) { os.Exit(-1) } } + +func TestSysctlConfig_Load(t *testing.T) { + // 设置测试数据 + sysc := &SysctlConfig{ + ConfigInfoUUID: "83a15f95-430c-4889-aa60-b27624a81703", + } + err := sysc.Load() + if err != nil { + fmt.Printf("record error: %s\n", err) + os.Exit(-1) + } + fmt.Printf("sysc: %v\n", sysc) +} -- Gitee