Files
EdgeAPI/internal/db/models/node_login_model_ext.go

26 lines
510 B
Go
Raw Normal View History

2020-07-22 22:17:53 +08:00
package models
2020-09-13 20:37:28 +08:00
import (
"encoding/json"
"errors"
)
// DecodeSSHParams 解析SSH登录参数
2020-09-13 20:37:28 +08:00
func (this *NodeLogin) DecodeSSHParams() (*NodeLoginSSHParams, error) {
if this.Type != NodeLoginTypeSSH {
return nil, errors.New("invalid login type '" + this.Type + "'")
}
if len(this.Params) == 0 {
2020-09-13 20:37:28 +08:00
return nil, errors.New("'params' should not be empty")
}
params := &NodeLoginSSHParams{}
err := json.Unmarshal([]byte(this.Params), params)
if err != nil {
return nil, err
}
return params, nil
}