diff --git a/configmanage/server/internal/sshd.go b/configmanage/server/internal/sshd.go index ccfc1f56c500cf63e27beff62cb5fbfba92adb8f..c586e4edb86f74fd54579a6926b6b939cfed9d4a 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 117863b2b6385170d9d61b62862c08bcb00f5075..c7ab826c20807295c677df537263a848299a808e 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 f1d5e03e88d8b3b0d056038aa1adffb1445db7d1..dc02a66ddf642a905857b224f81e52a56cc86e23 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) +}