overflow_service/proxy/noauthprobe/noauth_probe_service.go
snoop 34d7a81ae8 fixed
noauthprobe
2017-06-23 20:30:49 +09:00

191 lines
4.3 KiB
Go

package noauthprobe
import (
"git.loafle.net/overflow/commons_go/model/timestamp"
"encoding/json"
"git.loafle.net/overflow/overflow_service/proxy/member"
"git.loafle.net/overflow/overflow_service/proxy/probe"
"git.loafle.net/overflow/overflow_service/proxy/domain"
"errors"
"git.loafle.net/overflow/overflow_service/proxy/utils"
)
type NoAuthProbeService struct {
}
func NewNoAuthProbeService() *NoAuthProbeService {
return &NoAuthProbeService{}
}
type NoAuthProbe struct {
Id json.Number `json:"id,Number,omitempty"`
HostName string `json:"hostName,omitempty"`
MacAddress int64 `json:"macAddress,omitempty"`
IpAddress int64 `json:"ipAddress,omitempty"`
// P rocess, A ccept, D eny
Status string `json:"status,omitempty"`
TempProbeKey string `json:"tempProbeKey,omitempty"`
CreateDate timestamp.Timestamp`json:"createDate,omitempty"`
ApiKey string `json:"apiKey,omitempty"`
Domain domain.Domain `json:"domain,omitempty"`
Probe probe.Probe `json:"probe,omitempty"`
}
func NewNoAuthProbe(apikey string, ipAddress int64, hostName string, md int64) *NoAuthProbe {
na := &NoAuthProbe{
CreateDate:timestamp.Now(),
ApiKey:apikey,
IpAddress:ipAddress,
HostName:hostName,
MacAddress:md,
}
return na
}
func(as *NoAuthProbeService)Save(na *NoAuthProbe) (string, error) {
//bytes, err := json.Marshal(na)
//if err != nil {
// return "",err
//}
//
//memMap := make(map[string]string)
//memMap["com.loafle.overflow.module.noauthprobe.model.NoAuthProbe"] = string(bytes);
//
//out, err := proxy.InvokeDB("noauthProbe", "save", memMap);
out, err := utils.InvokeDBByModel("noauthProbe", "save", na, "com.loafle.overflow.module.noauthprobe.model.NoAuthProbe")
if err != nil {
return "", err
}
return out, nil;
}
func(as *NoAuthProbeService)CheckAuth(tempKey string) (string,error) {
//memMap := make(map[string]string)
//
//na := NewNoAuthProbe("", 0, "", 0)
//na.TempProbeKey = tempKey
//
//bytes, err := json.Marshal(na)
//if err != nil {
// return "", err;
//}
//
//memMap["com.loafle.overflow.noauthprobe.model.NoAuthProbe"] = string(bytes);
//
//out, err := proxy.InvokeDB("noauthProbe", "findByTempKey", memMap);
out, err:= utils.InvokeDBByModel("noauthProbe","findByTempProbeKey",tempKey, "java.lang.String")
if err != nil {
return "", err
}
nn := NoAuthProbe{}
err = json.Unmarshal([]byte(out), &nn)
if err != nil {
return "", err
}
return out,nil;
}
func(as *NoAuthProbeService)GetList(d *domain.Domain) (string,error) {
//memMap := make(map[string]string)
//
//na := NewNoAuthProbe("", 0, "", 0)
//na.Status = excludeStatus
//
//bytes, err := json.Marshal(na)
//if err != nil {
// return "", err;
//}
//
//memMap["com.loafle.overflow.noauthprobe.model.NoAuthProbe"] = string(bytes);
//
//out, err := proxy.InvokeDB("noauthProbe", "findAllByNoAuth", memMap);
out, err := utils.InvokeDBByModel("noauthProbe","findAllByDomain", d, "com.loafle.overflow.module.domain.model.Domain");
if err != nil {
return "", err
}
return out,nil;
}
func (as *NoAuthProbeService)RequestAuth(np *NoAuthProbe, memberId int, desc string) (string, error) {
//paramMap := make(map[string]string)
//noauthAgt.Status = "A"
//
//bytes, err := json.Marshal(noauthAgt)
//if err != nil {
// return "", err;
//}
//paramMap["com.loafle.overflow.noauthprobe.model.NoAuthProbe"] = string(bytes)
//out, err := proxy.InvokeDB("noauthProbe", "update", paramMap)
out ,err := utils.InvokeDBByModel("noauthProbe","findByTempProbeKey", np.TempProbeKey, "java.lang.String");
if err != nil {
return "", err
}
if len(out) == 0 {
return "", errors.New("Cannot update Probe. ")
}
dbnp := NoAuthProbe{}
err = json.Unmarshal([]byte(out), &dbnp);
if err != nil {
return "", err
}
dbnp.Status = np.Status;
//FIXME:: probe
m := member.Member{}
m.Id = json.Number(memberId)
newAgent := probe.NewAgent(desc, m)
newone, err := probe.NewProbeService().SaveAgent(newAgent)
if err!= nil {
return "", err
}
return newone, nil
}
func (as *NoAuthProbeService)Read(id string) (string, error){
//mm := make(map[string]string)
//mm["id"] = id
//out, err := proxy.InvokeDB("noauthProbe", "findOne", id, "java.lang.Long")
out,err :=utils.InvokeDBByModel("noauthProbe","findOne",id,"java.lang.Long")
if err != nil {
return "", err
}
return out, nil
}