From 74aa6976ebf5ad22d206531138c31bb4a5cf36c1 Mon Sep 17 00:00:00 2001 From: wubijie Date: Wed, 6 Nov 2024 10:16:48 +0800 Subject: [PATCH] add sshdconfig load func --- configmanage/server/internal/sshd.go | 9 +++++++++ configmanage/server/service/sshd.go | 15 +++++++++++++++ configmanage/server/service/sshd_test.go | 13 +++++++++++++ 3 files changed, 37 insertions(+) diff --git a/configmanage/server/internal/sshd.go b/configmanage/server/internal/sshd.go index ccfc1f56..c586e4ed 100644 --- a/configmanage/server/internal/sshd.go +++ b/configmanage/server/internal/sshd.go @@ -25,3 +25,12 @@ type SSHDFile struct { func (sdf *SSHDFile) Add() error { return db.MySQL().Save(&sdf).Error } +func GetSSHDFileByInfoUUID(uuid string, isindex interface{}) (SSHDFile, error) { + var file SSHDFile + if isindex != nil { + err := db.MySQL().Model(&SSHDFile{}).Where("config_info_uuid=? && is_index = ?", uuid, isindex).Find(&file).Error + return file, err + } + err := db.MySQL().Model(&SSHDFile{}).Where("config_info_uuid=?", uuid).Find(&file).Error + return file, err +} diff --git a/configmanage/server/service/sshd.go b/configmanage/server/service/sshd.go index 117863b2..c7ab826c 100644 --- a/configmanage/server/service/sshd.go +++ b/configmanage/server/service/sshd.go @@ -52,3 +52,18 @@ func (sdc *SSHDConfig) Record() error { sdf := sdc.toSSHDFile() return sdf.Add() } + +func (sdc *SSHDConfig) Load() error { + // 加载正在使用的某配置文件 + sdf, err := internal.GetSSHFileByInfoUUID(sdc.ConfigInfoUUID, true) + if err != nil { + return err + } + sdc.UUID = sdf.UUID + sdc.Path = sdf.Path + sdc.Name = sdf.Name + sdc.Content = sdf.Content + sdc.Version = sdf.Version + sdc.IsActive = sdf.IsActive + return nil +} diff --git a/configmanage/server/service/sshd_test.go b/configmanage/server/service/sshd_test.go index f1d5e03e..dc02a66d 100644 --- a/configmanage/server/service/sshd_test.go +++ b/configmanage/server/service/sshd_test.go @@ -27,3 +27,16 @@ func TestSSHDConfig_Record(t *testing.T) { os.Exit(-1) } } + +func TestSSHDConfig_Load(t *testing.T) { + // 设置测试数据 + sdc := &SSHDConfig{ + ConfigInfoUUID: "4d415c77-5a3d-45fb-a221-67dba74db56d", + } + err := sdc.Load() + if err != nil { + fmt.Printf("record error: %s\n", err) + os.Exit(-1) + } + fmt.Printf("sdc: %v\n", sdc) +} -- Gitee