From d32a404ccf011c8fa15ace09e2a8e94160658fdf Mon Sep 17 00:00:00 2001 From: wubijie Date: Tue, 5 Nov 2024 13:47:16 +0800 Subject: [PATCH] add SSHConfig load func --- configmanage/server/internal/ssh.go | 10 ++++++++++ configmanage/server/service/ssh.go | 16 +++++++++++++++- configmanage/server/service/ssh_test.go | 13 +++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/configmanage/server/internal/ssh.go b/configmanage/server/internal/ssh.go index e65d2d9f..b3924222 100644 --- a/configmanage/server/internal/ssh.go +++ b/configmanage/server/internal/ssh.go @@ -25,3 +25,13 @@ type SSHFile struct { func (sf *SSHFile) Add() error { return db.MySQL().Save(&sf).Error } + +func GetSSHFileByInfoUUID(uuid string, isindex interface{}) (SSHFile, error) { + var file SSHFile + if isindex != nil { + err := db.MySQL().Model(&SSHFile{}).Where("config_info_uuid=? && is_index = ?", uuid, isindex).Find(&file).Error + return file, err + } + err := db.MySQL().Model(&SSHFile{}).Where("config_info_uuid=?", uuid).Find(&file).Error + return file, err +} diff --git a/configmanage/server/service/ssh.go b/configmanage/server/service/ssh.go index 1377607e..e2b46ebb 100644 --- a/configmanage/server/service/ssh.go +++ b/configmanage/server/service/ssh.go @@ -10,7 +10,7 @@ import ( ) /* -ssh: 配置文件 +ssh: 配置文件,ssh_config文件只有一个 一般方法: 1、在/etc/ssh/ssh_config中修改内容 @@ -52,3 +52,17 @@ func (sc *SSHConfig) Record() error { sf := sc.toSSHFile() return sf.Add() } +func (sc *SSHConfig) Load() error { + // 加载正在使用的某配置文件 + sf, err := internal.GetSSHFileByInfoUUID(sc.ConfigInfoUUID, true) + if err != nil { + return err + } + sc.UUID = sf.UUID + sc.Path = sf.Path + sc.Name = sf.Name + sc.Content = sf.Content + sc.Version = sf.Version + sc.IsActive = sf.IsActive + return nil +} diff --git a/configmanage/server/service/ssh_test.go b/configmanage/server/service/ssh_test.go index 4f5d85eb..3a119d44 100644 --- a/configmanage/server/service/ssh_test.go +++ b/configmanage/server/service/ssh_test.go @@ -27,3 +27,16 @@ func TestSSHConfig_Record(t *testing.T) { os.Exit(-1) } } + +func TestSSHConfig_Load(t *testing.T) { + // 设置测试数据 + sc := &SSHConfig{ + ConfigInfoUUID: "5973e993-6236-4b53-9eb6-0cc23c652460", + } + err := sc.Load() + if err != nil { + fmt.Printf("record error: %s\n", err) + os.Exit(-1) + } + fmt.Printf("sc: %v\n", sc) +} -- Gitee