diff --git a/configmanage/server/service/ssh_test.go b/configmanage/server/service/ssh_test.go index 29e69bb9e46ae5cda39ba5834e845ccb02679c85..3980127f9115d48864aff5085eef8c787b713f4a 100644 --- a/configmanage/server/service/ssh_test.go +++ b/configmanage/server/service/ssh_test.go @@ -74,13 +74,14 @@ func TestGetSSHFilesByNode(t *testing.T) { nodeid := "33333333-5f8e-42df-b2d0-49bf55cfeb56" // 调用被测试的函数 - rcs, err := GetSSHFilesByNode(nodeid) + scs, err := GetSSHFilesByNode(nodeid) if err != nil { fmt.Printf("GetSSHFilesByNode error: %s\n", err) os.Exit(-1) } - fmt.Println(len(rcs)) + fmt.Println(len(scs)) } + func TestGetSSHDFilesByCinfigUUID(t *testing.T) { // 设置测试数据 sdcUUID := "5973e993-6236-4b53-9eb6-0cc23c652460" diff --git a/configmanage/server/service/sshd.go b/configmanage/server/service/sshd.go index 38f3d380aec5ba313eb4a26eac3d121fe478824b..b65032dc95e8dccd32681f91288a8c397ccc3779 100644 --- a/configmanage/server/service/sshd.go +++ b/configmanage/server/service/sshd.go @@ -47,6 +47,18 @@ func (sdc *SSHDConfig) toSSHDFile() SSHDFile { } } +func toSSHDConfig(sdf *SSHDFile) SSHDConfig { + return SSHDConfig{ + UUID: sdf.UUID, + ConfigInfoUUID: sdf.ConfigInfoUUID, + Path: sdf.Path, + Name: sdf.Name, + Content: sdf.Content, + Version: sdf.Version, + IsActive: sdf.IsActive, + } +} + func (sdc *SSHDConfig) Record() error { //检查info的uuid是否存在 ci, err := GetInfoByUUID(sdc.ConfigInfoUUID) @@ -162,3 +174,22 @@ func (sdc *SSHDConfig) Collect() error { func GetSSHDFilesByCinfigUUID(uuid string) ([]SSHDFile, error) { return internal.GetSSHDFilesByCinfigUUID(uuid) } + +// 查看某台机器某种类型的的历史配置信息 +func GetSSHDFilesByNode(nodeid string) ([]SSHDConfig, error) { + // 查找本台机器所属的配置uuid + config_nodes, err := internal.GetConfigNodesByNode(nodeid) + if err != nil { + return nil, err + } + var sdcs []SSHDConfig + for _, v := range config_nodes { + sdf, err := internal.GetSSHDFileByInfoUUID(v.ConfigInfoUUID, nil) + if err != nil { + return nil, err + } + sdc := toSSHDConfig(&sdf) + sdcs = append(sdcs, sdc) + } + return sdcs, nil +} diff --git a/configmanage/server/service/sshd_test.go b/configmanage/server/service/sshd_test.go index f54037e9dd69ea39bbcd242a50122e8d581f3a48..817282510e43ed970f8bdb626fa8de322cdd72f8 100644 --- a/configmanage/server/service/sshd_test.go +++ b/configmanage/server/service/sshd_test.go @@ -51,3 +51,16 @@ func TestGetSSHDFileByUUID(t *testing.T) { } fmt.Printf("sshdfile: %v\n", sdf) } + +func TestGetSSHDFilesByNode(t *testing.T) { + // 设置测试数据 + nodeid := "44444444-5f8e-42df-b2d0-49bf55cfeb56" + + // 调用被测试的函数 + sdcs, err := GetSSHDFilesByNode(nodeid) + if err != nil { + fmt.Printf("GetSSHDFilesByNode error: %s\n", err) + os.Exit(-1) + } + fmt.Println(len(sdcs)) +}