diff --git a/configmanage/server/internal/ssh.go b/configmanage/server/internal/ssh.go index b3924222708484962f2b8b25c252a2b0bb99c088..1bb04b1be85968d72c974a75b43ba308fa7700bf 100644 --- a/configmanage/server/internal/ssh.go +++ b/configmanage/server/internal/ssh.go @@ -35,3 +35,19 @@ func GetSSHFileByInfoUUID(uuid string, isindex interface{}) (SSHFile, error) { err := db.MySQL().Model(&SSHFile{}).Where("config_info_uuid=?", uuid).Find(&file).Error return file, err } + +func GetSSHFileByUUID(uuid string) (SSHFile, error) { + var file SSHFile + err := db.MySQL().Model(&SSHFile{}).Where("uuid=?", uuid).Find(&file).Error + return file, err +} + +func (sf *SSHFile) UpdateByuuid() error { + // 将同类配置的所有标志修改为未使用 + err := db.MySQL().Model(&SSHFile{}).Where("config_info_uuid=?", sf.ConfigInfoUUID).Update("is_index", 0).Error + if err != nil { + return err + } + // 将成功下发的具体某一个配置状态修改为已使用 + return db.MySQL().Model(&SSHFile{}).Where("uuid=?", sf.UUID).Update("is_index", 1).Error +} diff --git a/configmanage/server/service/ssh_test.go b/configmanage/server/service/ssh_test.go index 3a119d44252e91436f35c80fbd58db5c43f2c4f9..9842a23e69272eb814830b45088ffa33ceaacd34 100644 --- a/configmanage/server/service/ssh_test.go +++ b/configmanage/server/service/ssh_test.go @@ -7,6 +7,7 @@ import ( "testing" "github.com/google/uuid" + "openeuler.org/PilotGo/configmanage-plugin/internal" ) func TestSSHConfig_Record(t *testing.T) { @@ -40,3 +41,13 @@ func TestSSHConfig_Load(t *testing.T) { } fmt.Printf("sc: %v\n", sc) } + +func TestGetSSHFileByUUID(t *testing.T) { + uuid := "64636f68-b6fa-426d-a253-ff03c6d529be" + sf, err := internal.GetSSHFileByUUID(uuid) + if err != nil { + fmt.Printf("get ssh file error: %s\n", err) + os.Exit(-1) + } + fmt.Printf("hc: %v\n", sf) +}