From 379495e6d26931a2008f5c90b435c47d7f1cd68c Mon Sep 17 00:00:00 2001 From: wubijie Date: Tue, 5 Nov 2024 16:50:04 +0800 Subject: [PATCH] add GetSSHFilesByNode func --- configmanage/server/service/ssh.go | 31 +++++++++++++++++++++++++ configmanage/server/service/ssh_test.go | 13 +++++++++++ 2 files changed, 44 insertions(+) diff --git a/configmanage/server/service/ssh.go b/configmanage/server/service/ssh.go index 47af4574..a7adf149 100644 --- a/configmanage/server/service/ssh.go +++ b/configmanage/server/service/ssh.go @@ -47,6 +47,18 @@ func (sc *SSHConfig) toSSHFile() SSHFile { } } +func toSSHConfig(sf *SSHFile) SSHConfig { + return SSHConfig{ + UUID: sf.UUID, + ConfigInfoUUID: sf.ConfigInfoUUID, + Path: sf.Path, + Name: sf.Name, + Content: sf.Content, + Version: sf.Version, + IsActive: sf.IsActive, + } +} + func (sc *SSHConfig) Record() error { //检查info的uuid是否存在 ci, err := GetInfoByUUID(sc.ConfigInfoUUID) @@ -160,3 +172,22 @@ func (sc *SSHConfig) Collect() error { func GetSSHFilesByCinfigUUID(uuid string) ([]SSHFile, error) { return internal.GetSSHFilesByCinfigUUID(uuid) } + +// 查看某台机器某种类型的的历史配置信息 +func GetSSHFilesByNode(nodeid string) ([]SSHConfig, error) { + // 查找本台机器所属的配置uuid + config_nodes, err := internal.GetConfigNodesByNode(nodeid) + if err != nil { + return nil, err + } + var scs []SSHConfig + for _, v := range config_nodes { + sf, err := internal.GetSSHFileByInfoUUID(v.ConfigInfoUUID, nil) + if err != nil { + return nil, err + } + sc := toSSHConfig(&sf) + scs = append(scs, sc) + } + return scs, nil +} diff --git a/configmanage/server/service/ssh_test.go b/configmanage/server/service/ssh_test.go index f9712b91..ebc265e6 100644 --- a/configmanage/server/service/ssh_test.go +++ b/configmanage/server/service/ssh_test.go @@ -68,3 +68,16 @@ func TestGetSSHFilesByCinfigUUID(t *testing.T) { } fmt.Println(len(files)) } + +func TestGetSSHFilesByNode(t *testing.T) { + // 设置测试数据 + nodeid := "33333333-5f8e-42df-b2d0-49bf55cfeb56" + + // 调用被测试的函数 + rcs, err := GetSSHFilesByNode(nodeid) + if err != nil { + fmt.Printf("GetSSHFilesByNode error: %s\n", err) + os.Exit(-1) + } + fmt.Println(len(rcs)) +} -- Gitee