mirror of
https://github.com/acepanel/panel.git
synced 2026-02-04 00:49:22 +08:00
55 lines
1.3 KiB
Go
55 lines
1.3 KiB
Go
package data
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/spf13/cast"
|
|
|
|
"github.com/TheTNB/panel/internal/biz"
|
|
"github.com/TheTNB/panel/internal/http/request"
|
|
)
|
|
|
|
type sshRepo struct {
|
|
settingRepo biz.SettingRepo
|
|
}
|
|
|
|
func NewSSHRepo() biz.SSHRepo {
|
|
return &sshRepo{
|
|
settingRepo: NewSettingRepo(),
|
|
}
|
|
}
|
|
|
|
func (r *sshRepo) GetInfo() (map[string]any, error) {
|
|
host, _ := r.settingRepo.Get(biz.SettingKeySshHost)
|
|
port, _ := r.settingRepo.Get(biz.SettingKeySshPort)
|
|
user, _ := r.settingRepo.Get(biz.SettingKeySshUser)
|
|
password, _ := r.settingRepo.Get(biz.SettingKeySshPassword)
|
|
if len(host) == 0 || len(user) == 0 || len(password) == 0 {
|
|
return nil, errors.New("SSH 配置不完整")
|
|
}
|
|
|
|
return map[string]any{
|
|
"host": host,
|
|
"port": cast.ToInt(port),
|
|
"user": user,
|
|
"password": password,
|
|
}, nil
|
|
}
|
|
|
|
func (r *sshRepo) UpdateInfo(req *request.SSHUpdateInfo) error {
|
|
if err := r.settingRepo.Set(biz.SettingKeySshHost, req.Host); err != nil {
|
|
return err
|
|
}
|
|
if err := r.settingRepo.Set(biz.SettingKeySshPort, cast.ToString(req.Port)); err != nil {
|
|
return err
|
|
}
|
|
if err := r.settingRepo.Set(biz.SettingKeySshUser, req.User); err != nil {
|
|
return err
|
|
}
|
|
if err := r.settingRepo.Set(biz.SettingKeySshPassword, req.Password); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|