160 lines
3.2 KiB
Go
160 lines
3.2 KiB
Go
package noauthagent
|
|
|
|
import (
|
|
|
|
"git.loafle.net/overflow/commons_go/model/timestamp"
|
|
"git.loafle.net/overflow/overflow_service/proxy"
|
|
"encoding/json"
|
|
"git.loafle.net/overflow/overflow_service/proxy/member"
|
|
"git.loafle.net/overflow/overflow_service/proxy/agent"
|
|
"errors"
|
|
)
|
|
|
|
type NoAuthAgentService struct {
|
|
}
|
|
|
|
func NewNoAuthAgentService() *NoAuthAgentService {
|
|
return &NoAuthAgentService{}
|
|
}
|
|
|
|
|
|
type NoAuthAgent struct {
|
|
Id json.Number `json:"id,Number,omitempty"`
|
|
TempKey string `json:"tempKey,omitempty"`
|
|
Date timestamp.Timestamp`json:"date,omitempty"`
|
|
ApiKey string `json:"apiKey,omitempty"`
|
|
AuthStatus string `json:"authStatus,omitempty"`
|
|
LocalIP int64 `json:"localIP,omitempty"`
|
|
HostName string `json:"hostName,omitempty"`
|
|
}
|
|
|
|
|
|
func NewNoAuthAgent(apikey string, localIp int64, hostName string) *NoAuthAgent {
|
|
|
|
na := &NoAuthAgent{
|
|
Date:timestamp.Now(),
|
|
ApiKey:apikey,
|
|
LocalIP:localIp,
|
|
HostName:hostName,
|
|
}
|
|
return na
|
|
}
|
|
|
|
|
|
func(as *NoAuthAgentService)SaveNoAuthAgent(na *NoAuthAgent) (string, error) {
|
|
|
|
|
|
bytes, err := json.Marshal(na)
|
|
if err != nil {
|
|
return "",err
|
|
}
|
|
|
|
memMap := make(map[string]string)
|
|
memMap["com.loafle.overflow.noauthagent.model.NoAuthAgent"] = string(bytes);
|
|
|
|
out, err := proxy.InvokeDB("noauthAgent", "create", memMap);
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return out, nil;
|
|
}
|
|
|
|
func(as *NoAuthAgentService)CheckAuth(tempKey string) (string,error) {
|
|
|
|
memMap := make(map[string]string)
|
|
|
|
na := NewNoAuthAgent("", 0, "")
|
|
na.TempKey = tempKey
|
|
|
|
bytes, err := json.Marshal(na)
|
|
if err != nil {
|
|
return "", err;
|
|
}
|
|
|
|
memMap["com.loafle.overflow.noauthagent.model.NoAuthAgent"] = string(bytes);
|
|
|
|
out, err := proxy.InvokeDB("noauthAgent", "findByTempKey", memMap);
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
nn := NoAuthAgent{}
|
|
err = json.Unmarshal([]byte(out), &nn)
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return out,nil;
|
|
}
|
|
|
|
|
|
func(as *NoAuthAgentService)GetNoAuthList(excludeStatus string) (string,error) {
|
|
|
|
memMap := make(map[string]string)
|
|
|
|
na := NewNoAuthAgent("", 0, "")
|
|
na.AuthStatus = excludeStatus
|
|
|
|
bytes, err := json.Marshal(na)
|
|
if err != nil {
|
|
return "", err;
|
|
}
|
|
|
|
memMap["com.loafle.overflow.noauthagent.model.NoAuthAgent"] = string(bytes);
|
|
|
|
out, err := proxy.InvokeDB("noauthAgent", "findAllByNoAuth", memMap);
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
|
|
return out,nil;
|
|
}
|
|
|
|
|
|
|
|
func (as *NoAuthAgentService)RequestAuth(noauthAgt NoAuthAgent, memberId, desc string) (string, error) {
|
|
paramMap := make(map[string]string)
|
|
noauthAgt.AuthStatus = "ACCEPT"
|
|
|
|
bytes, err := json.Marshal(noauthAgt)
|
|
if err != nil {
|
|
return "", err;
|
|
}
|
|
paramMap["com.loafle.overflow.noauthagent.model.NoAuthAgent"] = string(bytes)
|
|
out, err := proxy.InvokeDB("noauthAgent", "update", paramMap)
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
if len(out) == 0 {
|
|
return "", errors.New("Cannot update Agent. ")
|
|
}
|
|
m := member.Member{}
|
|
m.Id = json.Number(memberId)
|
|
newAgent := agent.NewAgent(desc, m)
|
|
newone, err := agent.NewAgentService().SaveAgent(newAgent)
|
|
if err!= nil {
|
|
return "", err
|
|
}
|
|
|
|
return newone, nil
|
|
}
|
|
|
|
func (as *NoAuthAgentService)ReadNoAuthAgent(id string) (string, error){
|
|
mm := make(map[string]string)
|
|
mm["id"] = id
|
|
out, err := proxy.InvokeDB("noauthAgent", "find", mm)
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return out, nil
|
|
} |