Files
EdgeAPI/internal/db/models/node_login_model_ext.go
2020-09-13 20:37:28 +08:00

26 lines
519 B
Go

package models
import (
"encoding/json"
"errors"
)
// 解析SSH登录参数
func (this *NodeLogin) DecodeSSHParams() (*NodeLoginSSHParams, error) {
if this.Type != NodeLoginTypeSSH {
return nil, errors.New("invalid login type '" + this.Type + "'")
}
if len(this.Params) == 0 || this.Params == "null" {
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
}