fmt
This commit is contained in:
parent
60d5ab3232
commit
f93fbeea2f
@ -1,12 +1,12 @@
|
|||||||
package gateway
|
package gateway
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
|
||||||
"reflect"
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"github.com/golang/glog"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/golang/glog"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/member"
|
"git.loafle.net/overflow/overflow_service/proxy/member"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/target"
|
"git.loafle.net/overflow/overflow_service/proxy/target"
|
||||||
@ -26,13 +26,12 @@ func TestServices(t *testing.T) {
|
|||||||
|
|
||||||
va := reflect.ValueOf(meb).MethodByName("Regist").Call([]reflect.Value{})
|
va := reflect.ValueOf(meb).MethodByName("Regist").Call([]reflect.Value{})
|
||||||
|
|
||||||
|
|
||||||
//reflect.ValueOf(meb).MethodByName("Read").Call(reflect.ValueOf(meb))
|
//reflect.ValueOf(meb).MethodByName("Read").Call(reflect.ValueOf(meb))
|
||||||
|
|
||||||
assert.Equal(t, 0, len(va))
|
assert.Equal(t, 0, len(va))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestServiceParam(t *testing.T) {
|
func TestServiceParam(t *testing.T) {
|
||||||
|
|
||||||
InitServices()
|
InitServices()
|
||||||
|
|
||||||
@ -42,7 +41,6 @@ func TestServiceParam(t *testing.T) {
|
|||||||
m["email"] = "geek@loafle.com"
|
m["email"] = "geek@loafle.com"
|
||||||
m["pw"] = "qwer5795"
|
m["pw"] = "qwer5795"
|
||||||
|
|
||||||
|
|
||||||
paramStr, err := json.Marshal(m)
|
paramStr, err := json.Marshal(m)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -55,6 +53,7 @@ func TestServiceParam(t *testing.T) {
|
|||||||
|
|
||||||
//assert.ObjectsAreEqual(proxy.MemberService{}, meb)
|
//assert.ObjectsAreEqual(proxy.MemberService{}, meb)
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
//type Member struct {
|
//type Member struct {
|
||||||
// Email string `json:"email"`
|
// Email string `json:"email"`
|
||||||
@ -82,7 +81,7 @@ func TestExecServices(t *testing.T) {
|
|||||||
params := make([]reflect.Value, methodName.Type().NumIn())
|
params := make([]reflect.Value, methodName.Type().NumIn())
|
||||||
var NewObj reflect.Value
|
var NewObj reflect.Value
|
||||||
|
|
||||||
for i := 0; i < methodName.Type().NumIn(); i++{
|
for i := 0; i < methodName.Type().NumIn(); i++ {
|
||||||
temp := methodName.Type().In(i)
|
temp := methodName.Type().In(i)
|
||||||
|
|
||||||
switch temp.Kind() {
|
switch temp.Kind() {
|
||||||
@ -98,22 +97,21 @@ func TestExecServices(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//func TestReflectType(t *testing.T) {
|
//func TestReflectType(t *testing.T) {
|
||||||
//ss := &MemberService{}
|
//ss := &MemberService{}
|
||||||
////t1 := reflect.ValueOf(ss.Param).Elem()
|
////t1 := reflect.ValueOf(ss.Param).Elem()
|
||||||
//
|
//
|
||||||
//ms1 := reflect.New(reflect.TypeOf(ss.Param)).Elem().Type()
|
//ms1 := reflect.New(reflect.TypeOf(ss.Param)).Elem().Type()
|
||||||
//
|
//
|
||||||
//fmt.Println(ms1)
|
//fmt.Println(ms1)
|
||||||
////ss.Param = ms1
|
////ss.Param = ms1
|
||||||
////ss.Param.Email = "ddd"
|
////ss.Param.Email = "ddd"
|
||||||
////fmt.Println(ss.Param.Email)
|
////fmt.Println(ss.Param.Email)
|
||||||
//ms := reflect.New(reflect.ValueOf(ss.Param).Type()).Elem()
|
//ms := reflect.New(reflect.ValueOf(ss.Param).Type()).Elem()
|
||||||
//fmt.Printf("created a [%T]\n", reflect.ValueOf(ms).Type())
|
//fmt.Printf("created a [%T]\n", reflect.ValueOf(ms).Type())
|
||||||
|
|
||||||
|
|
||||||
//}
|
//}
|
||||||
|
|
||||||
func TestConvertParamModel(t *testing.T) {
|
func TestConvertParamModel(t *testing.T) {
|
||||||
res := `{"email":"geek@loafle.com","pwSalt":"dssdft","company":"loafle"}`
|
res := `{"email":"geek@loafle.com","pwSalt":"dssdft","company":"loafle"}`
|
||||||
|
|
||||||
m := make(map[string]string)
|
m := make(map[string]string)
|
||||||
@ -133,18 +131,17 @@ func TestParamTypeCreate(t *testing.T) {
|
|||||||
|
|
||||||
method := reflect.ValueOf(ms).MethodByName("Regist")
|
method := reflect.ValueOf(ms).MethodByName("Regist")
|
||||||
|
|
||||||
var NewObj reflect.Value;
|
var NewObj reflect.Value
|
||||||
for i := 0; i < method.Type().NumIn(); i++ {
|
for i := 0; i < method.Type().NumIn(); i++ {
|
||||||
tt := method.Type().In(i)
|
tt := method.Type().In(i)
|
||||||
|
|
||||||
t.Log(tt)
|
t.Log(tt)
|
||||||
|
|
||||||
switch tt.Kind() {
|
switch tt.Kind() {
|
||||||
case reflect.Ptr :
|
case reflect.Ptr:
|
||||||
NewObj = reflect.New(tt.Elem())
|
NewObj = reflect.New(tt.Elem())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//obj = NewObj.Elem().Interface()
|
//obj = NewObj.Elem().Interface()
|
||||||
|
|
||||||
//intPtr := reflect.New(tt)
|
//intPtr := reflect.New(tt)
|
||||||
@ -160,40 +157,34 @@ func TestParamTypeCreate(t *testing.T) {
|
|||||||
|
|
||||||
params := make([]reflect.Value, method.Type().NumIn())
|
params := make([]reflect.Value, method.Type().NumIn())
|
||||||
|
|
||||||
params[0] = NewObj;
|
params[0] = NewObj
|
||||||
|
|
||||||
result := method.Call(params)[0].String()
|
result := method.Call(params)[0].String()
|
||||||
|
|
||||||
t.Log(result)
|
t.Log(result)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func TestListReflect(t *testing.T) {
|
func TestListReflect(t *testing.T) {
|
||||||
|
|
||||||
res := "[{\"id\":1,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496631864025,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":2,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496635285090,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":3,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496642868260,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":4,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496814093714,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":5,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496814103052,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":6,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496814184478,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}}]";
|
res := "[{\"id\":1,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496631864025,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":2,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496635285090,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":3,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496642868260,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":4,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496814093714,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":5,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496814103052,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}},{\"id\":6,\"ip\":3232235882,\"port\":5432,\"targetType\":\"DATABASE\",\"vendorName\":\"PostgreSQL 9.5.0\",\"kinds\":\"PostgreSQL\",\"version\":\"9.5.0\",\"createDate\":1496814184478,\"member\":{\"id\":1,\"email\":\"ddddd@loafle.com\",\"pwSalt\":\"salktttt\",\"digest\":\"bbbbbbbbb\",\"name\":\"snnnnn\",\"company\":\"loafle\",\"phone\":\"000-000-0000\",\"authorizedDate\":null}}]"
|
||||||
|
|
||||||
t.Log(res)
|
t.Log(res)
|
||||||
|
|
||||||
|
|
||||||
ts := target.NewTargetService()
|
ts := target.NewTargetService()
|
||||||
|
|
||||||
|
|
||||||
method := reflect.ValueOf(ts).MethodByName("CreateList")
|
method := reflect.ValueOf(ts).MethodByName("CreateList")
|
||||||
|
|
||||||
|
var NewObj reflect.Value
|
||||||
var NewObj reflect.Value;
|
|
||||||
for i := 0; i < method.Type().NumIn(); i++ {
|
for i := 0; i < method.Type().NumIn(); i++ {
|
||||||
tt := method.Type().In(i)
|
tt := method.Type().In(i)
|
||||||
|
|
||||||
t.Log(tt)
|
t.Log(tt)
|
||||||
|
|
||||||
switch tt.Kind() {
|
switch tt.Kind() {
|
||||||
case reflect.Ptr :
|
case reflect.Ptr:
|
||||||
NewObj = reflect.New(tt.Elem())
|
NewObj = reflect.New(tt.Elem())
|
||||||
case reflect.Slice :
|
case reflect.Slice:
|
||||||
NewObj = reflect.MakeSlice(tt, 0, 0)
|
NewObj = reflect.MakeSlice(tt, 0, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,14 +199,12 @@ func TestListReflect(t *testing.T) {
|
|||||||
|
|
||||||
params := make([]reflect.Value, method.Type().NumIn())
|
params := make([]reflect.Value, method.Type().NumIn())
|
||||||
|
|
||||||
params[0] = NewObj;
|
params[0] = NewObj
|
||||||
|
|
||||||
result := method.Call(params)[0].String()
|
result := method.Call(params)[0].String()
|
||||||
|
|
||||||
t.Log(result)
|
t.Log(result)
|
||||||
|
|
||||||
|
|
||||||
//ts.cre
|
//ts.cre
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,45 +1,44 @@
|
|||||||
package gateway
|
package gateway
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"golang.org/x/net/context"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
pb "git.loafle.net/overflow/overflow_api_service/grpc"
|
pb "git.loafle.net/overflow/overflow_api_service/grpc"
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"encoding/json"
|
"golang.org/x/net/context"
|
||||||
"reflect"
|
|
||||||
"errors"
|
|
||||||
"log"
|
"log"
|
||||||
|
"reflect"
|
||||||
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/noauthprobe"
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/target"
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/member"
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/crawler"
|
"git.loafle.net/overflow/overflow_service/proxy/crawler"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/crawlerInputItem"
|
"git.loafle.net/overflow/overflow_service/proxy/crawlerInputItem"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/crawlerinputitemmapping"
|
"git.loafle.net/overflow/overflow_service/proxy/crawlerinputitemmapping"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/member"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/noauthprobe"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/probe"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/sensor"
|
"git.loafle.net/overflow/overflow_service/proxy/sensor"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/sensorItem"
|
"git.loafle.net/overflow/overflow_service/proxy/sensorItem"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/sensorItemCategory"
|
"git.loafle.net/overflow/overflow_service/proxy/sensorItemCategory"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/sensorItemMapping"
|
"git.loafle.net/overflow/overflow_service/proxy/sensorItemMapping"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/probe"
|
"git.loafle.net/overflow/overflow_service/proxy/target"
|
||||||
//"google.golang.org/grpc/metadata"
|
//"google.golang.org/grpc/metadata"
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var g_services map[string]interface{}
|
var g_services map[string]interface{}
|
||||||
|
|
||||||
func AddServices(name string, s interface{}) {
|
func AddServices(name string, s interface{}) {
|
||||||
if g_services == nil {
|
if g_services == nil {
|
||||||
g_services = make(map[string]interface{},0)
|
g_services = make(map[string]interface{}, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
g_services[name] = s
|
g_services[name] = s
|
||||||
}
|
}
|
||||||
|
|
||||||
type Services interface {
|
type Services interface {
|
||||||
GetModel()(interface{})
|
GetModel() interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func InitServices() {
|
func InitServices() {
|
||||||
g_services = make(map[string]interface{},0)
|
g_services = make(map[string]interface{}, 0)
|
||||||
|
|
||||||
// proxy services save
|
// proxy services save
|
||||||
//AddServices("Probe", probe.NewProbeService())
|
//AddServices("Probe", probe.NewProbeService())
|
||||||
@ -56,8 +55,8 @@ func InitServices() {
|
|||||||
AddServices("SensorItemMapping", sensorItemMapping.NewSensorItemMappingService())
|
AddServices("SensorItemMapping", sensorItemMapping.NewSensorItemMappingService())
|
||||||
|
|
||||||
}
|
}
|
||||||
type ServiceImpl struct {
|
|
||||||
|
|
||||||
|
type ServiceImpl struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ServiceImpl) ExecServices(c context.Context, in *pb.ServiceInput) (*pb.ServiceOutput, error) {
|
func (s *ServiceImpl) ExecServices(c context.Context, in *pb.ServiceInput) (*pb.ServiceOutput, error) {
|
||||||
@ -71,12 +70,9 @@ func (s *ServiceImpl) ExecServices(c context.Context, in *pb.ServiceInput) (*pb.
|
|||||||
return nil, errors.New("Not Exist Service Name")
|
return nil, errors.New("Not Exist Service Name")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pbs := &pb.ServiceOutput{}
|
pbs := &pb.ServiceOutput{}
|
||||||
methodName := reflect.ValueOf(serviceName).MethodByName(in.MethodName)
|
methodName := reflect.ValueOf(serviceName).MethodByName(in.MethodName)
|
||||||
|
|
||||||
|
|
||||||
if methodName.IsValid() == false {
|
if methodName.IsValid() == false {
|
||||||
return pbs, errors.New("Not Exist Method Name")
|
return pbs, errors.New("Not Exist Method Name")
|
||||||
}
|
}
|
||||||
@ -84,7 +80,7 @@ func (s *ServiceImpl) ExecServices(c context.Context, in *pb.ServiceInput) (*pb.
|
|||||||
params := make([]reflect.Value, methodName.Type().NumIn())
|
params := make([]reflect.Value, methodName.Type().NumIn())
|
||||||
var NewObj reflect.Value
|
var NewObj reflect.Value
|
||||||
|
|
||||||
for i := 0; i < methodName.Type().NumIn(); i++{
|
for i := 0; i < methodName.Type().NumIn(); i++ {
|
||||||
temp := methodName.Type().In(i)
|
temp := methodName.Type().In(i)
|
||||||
|
|
||||||
switch temp.Kind() {
|
switch temp.Kind() {
|
||||||
@ -96,11 +92,11 @@ func (s *ServiceImpl) ExecServices(c context.Context, in *pb.ServiceInput) (*pb.
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Todo Call Service Method
|
// Todo Call Service Method
|
||||||
results := methodName.Call(params);
|
results := methodName.Call(params)
|
||||||
|
|
||||||
result := results[0].Interface().(string)
|
result := results[0].Interface().(string)
|
||||||
|
|
||||||
var err error = nil;
|
var err error = nil
|
||||||
if len(result) > 1 {
|
if len(result) > 1 {
|
||||||
obj := results[1].Interface()
|
obj := results[1].Interface()
|
||||||
if obj != nil {
|
if obj != nil {
|
||||||
@ -110,7 +106,6 @@ func (s *ServiceImpl) ExecServices(c context.Context, in *pb.ServiceInput) (*pb.
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
pbs.ResultStr = result
|
pbs.ResultStr = result
|
||||||
|
|
||||||
return pbs, nil
|
return pbs, nil
|
||||||
|
@ -2,11 +2,10 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"github.com/golang/glog"
|
|
||||||
"git.loafle.net/overflow/overflow_service/server"
|
"git.loafle.net/overflow/overflow_service/server"
|
||||||
|
"github.com/golang/glog"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
defer glog.Flush()
|
defer glog.Flush()
|
||||||
|
@ -9,24 +9,20 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type ApiKeyService struct {
|
type ApiKeyService struct {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ApiKey struct {
|
type ApiKey struct {
|
||||||
Id json.Number `json:"id,Number,omitempty"`
|
Id json.Number `json:"id,Number,omitempty"`
|
||||||
Apikey string `json:"apiKey,omitempty"`
|
Apikey string `json:"apiKey,omitempty"`
|
||||||
CreateDAte timestamp.Timestamp`json:"createDate,omitempty"`
|
CreateDAte timestamp.Timestamp `json:"createDate,omitempty"`
|
||||||
HostName string `json:"hostName,omitempty"`
|
HostName string `json:"hostName,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func NewApiKeyService() *ApiKeyService {
|
func NewApiKeyService() *ApiKeyService {
|
||||||
return &ApiKeyService{}
|
return &ApiKeyService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (k *ApiKeyService) SaveApikey(key *ApiKey) (string, error) {
|
||||||
func(k *ApiKeyService)SaveApikey(key *ApiKey) (string, error) {
|
|
||||||
|
|
||||||
|
|
||||||
//bytes, err := json.Marshal(key)
|
//bytes, err := json.Marshal(key)
|
||||||
//
|
//
|
||||||
@ -52,10 +48,10 @@ func(k *ApiKeyService)SaveApikey(key *ApiKey) (string, error) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func(k *ApiKeyService)CheckApikey(apikey string) (bool, error) {
|
func (k *ApiKeyService) CheckApikey(apikey string) (bool, error) {
|
||||||
|
|
||||||
ak := ApiKey{
|
ak := ApiKey{
|
||||||
Apikey:apikey,
|
Apikey: apikey,
|
||||||
}
|
}
|
||||||
|
|
||||||
//bytes, err := json.Marshal(ak)
|
//bytes, err := json.Marshal(ak)
|
||||||
@ -80,5 +76,4 @@ func(k *ApiKeyService)CheckApikey(apikey string) (bool, error) {
|
|||||||
|
|
||||||
return true, nil
|
return true, nil
|
||||||
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
@ -1,3 +1 @@
|
|||||||
package apikey
|
package apikey
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,35 +1,32 @@
|
|||||||
package discovery
|
package discovery
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/probe"
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/probe"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Discovery struct {
|
type Discovery struct {
|
||||||
StartIp int64 `json:"startIp,omitempty"`
|
StartIp int64 `json:"startIp,omitempty"`
|
||||||
EndIp int64 `json:"endIp,omitempty"`
|
EndIp int64 `json:"endIp,omitempty"`
|
||||||
StartPort int `json:"startPort,omitempty"`
|
StartPort int `json:"startPort,omitempty"`
|
||||||
EndPort int `json:"endPort,omitempty"`
|
EndPort int `json:"endPort,omitempty"`
|
||||||
ExcludeIp []int64 `json:"excludeIp,omitempty"`
|
ExcludeIp []int64 `json:"excludeIp,omitempty"`
|
||||||
Probe *probe.Probe `json:"probe,omitempty"`
|
Probe *probe.Probe `json:"probe,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
type DiscoveryService struct {
|
type DiscoveryService struct {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDiscoveryService() *DiscoveryService {
|
func NewDiscoveryService() *DiscoveryService {
|
||||||
return &DiscoveryService{}
|
return &DiscoveryService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (dis *DiscoveryService) Discovery(d *Discovery) (string, error) {
|
||||||
func (dis *DiscoveryService)Discovery(d *Discovery) (string, error) {
|
|
||||||
|
|
||||||
pts := probe.NewProbeTaskService()
|
pts := probe.NewProbeTaskService()
|
||||||
|
|
||||||
bytes,err := json.Marshal(d)
|
bytes, err := json.Marshal(d)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@ -44,4 +41,4 @@ func (dis *DiscoveryService)Discovery(d *Discovery) (string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package discovery
|
package discovery
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/probe"
|
"git.loafle.net/overflow/overflow_service/proxy/probe"
|
||||||
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestDiscovery(t *testing.T) {
|
func TestDiscovery(t *testing.T) {
|
||||||
@ -29,5 +29,4 @@ func TestDiscovery(t *testing.T) {
|
|||||||
|
|
||||||
t.Log(out)
|
t.Log(out)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,27 +7,24 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Domain struct {
|
type Domain struct {
|
||||||
Id json.Number `json:"id,Number,omitempty"`
|
Id json.Number `json:"id,Number,omitempty"`
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
CreateDate timestamp.Timestamp `json:"createDate,omitempty"`
|
CreateDate timestamp.Timestamp `json:"createDate,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
type DomainService struct {
|
type DomainService struct {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDomainService() *DomainService {
|
func NewDomainService() *DomainService {
|
||||||
return &DomainService{}
|
return &DomainService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (d *DomainService) Create(dm *Domain) (string, error) {
|
||||||
|
|
||||||
func (d *DomainService)Create(dm *Domain) (string, error) {
|
str, err := utils.InvokeDBByModel("domain", "save", dm, "com.loafle.overflow.module.domain.model.Domain")
|
||||||
|
|
||||||
str,err :=utils.InvokeDBByModel("domain", "save", dm, "com.loafle.overflow.module.domain.model.Domain")
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "",err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
return str, nil
|
return str, nil
|
||||||
|
@ -8,12 +8,11 @@ func TestSave(t *testing.T) {
|
|||||||
|
|
||||||
d.Name = "snoop's domain"
|
d.Name = "snoop's domain"
|
||||||
|
|
||||||
|
str, err := NewDomainService().Create(&d)
|
||||||
|
|
||||||
str,err := NewDomainService().Create(&d)
|
if err != nil {
|
||||||
|
|
||||||
if err != nil{
|
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
t.Log(str)
|
t.Log(str)
|
||||||
}
|
}
|
||||||
|
@ -7,13 +7,13 @@ import (
|
|||||||
"git.loafle.net/overflow/commons_go/model/timestamp"
|
"git.loafle.net/overflow/commons_go/model/timestamp"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy"
|
"git.loafle.net/overflow/overflow_service/proxy"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/member"
|
"git.loafle.net/overflow/overflow_service/proxy/member"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
"net/mail"
|
"net/mail"
|
||||||
"net/smtp"
|
"net/smtp"
|
||||||
"strings"
|
"strings"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -148,7 +148,7 @@ func (es *EmailService) SendEmailForAuth(e *Email) error {
|
|||||||
|
|
||||||
func (es *EmailService) saveEmail(e *Email) {
|
func (es *EmailService) saveEmail(e *Email) {
|
||||||
|
|
||||||
rr, err := utils.InvokeDBByModel("emailAuth","save", e, utils.MODEL_EMAIL_AUTH)
|
rr, err := utils.InvokeDBByModel("emailAuth", "save", e, utils.MODEL_EMAIL_AUTH)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
@ -162,13 +162,12 @@ func (es *EmailService) CheckAuthURL(e *Email) bool {
|
|||||||
|
|
||||||
//Query from the database with an authentication token.
|
//Query from the database with an authentication token.
|
||||||
|
|
||||||
re, err := utils.InvokeDBByModel("emailAuth","findByEmailAuthKey", e.EmailAuthKey, utils.MODEL_STRING)
|
re, err := utils.InvokeDBByModel("emailAuth", "findByEmailAuthKey", e.EmailAuthKey, utils.MODEL_STRING)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
tempEmail := &Email{}
|
tempEmail := &Email{}
|
||||||
json.Unmarshal([]byte(re), tempEmail)
|
json.Unmarshal([]byte(re), tempEmail)
|
||||||
|
|
||||||
@ -190,7 +189,7 @@ func (es *EmailService) CheckAuthURL(e *Email) bool {
|
|||||||
func (es *EmailService) modifyEmailAuth(e *Email) {
|
func (es *EmailService) modifyEmailAuth(e *Email) {
|
||||||
|
|
||||||
proxy.InvokeDB("emailAuth", "update", emMap)
|
proxy.InvokeDB("emailAuth", "update", emMap)
|
||||||
re, err := utils.InvokeDBByModel("emailAuth","save", e, utils.MODEL_EMAIL_AUTH)
|
re, err := utils.InvokeDBByModel("emailAuth", "save", e, utils.MODEL_EMAIL_AUTH)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
package email
|
package email
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/member"
|
"git.loafle.net/overflow/overflow_service/proxy/member"
|
||||||
"encoding/json"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getEmailObj() (*Email,*EmailService) {
|
func getEmailObj() (*Email, *EmailService) {
|
||||||
es := NewEmailService()
|
es := NewEmailService()
|
||||||
m := member.Member{
|
m := member.Member{
|
||||||
Email:"geek@loafle.com",
|
Email: "geek@loafle.com",
|
||||||
Name:"geek",
|
Name: "geek",
|
||||||
CompanyName:"loafle",
|
CompanyName: "loafle",
|
||||||
Id:json.Number("2"),
|
Id: json.Number("2"),
|
||||||
}
|
}
|
||||||
e := NewEmail(m, "Hello Oveflow")
|
e := NewEmail(m, "Hello Oveflow")
|
||||||
|
|
||||||
return e,es
|
return e, es
|
||||||
}
|
}
|
||||||
func TestSendEmailForAuth(t *testing.T) {
|
func TestSendEmailForAuth(t *testing.T) {
|
||||||
e, es := getEmailObj()
|
e, es := getEmailObj()
|
||||||
@ -35,7 +35,7 @@ func TestEmailService_CheckAuthURL(t *testing.T) {
|
|||||||
|
|
||||||
fmt.Println(rr)
|
fmt.Println(rr)
|
||||||
}
|
}
|
||||||
func TestAuthTokenGeneration(t *testing.T) {
|
func TestAuthTokenGeneration(t *testing.T) {
|
||||||
|
|
||||||
e, es := getEmailObj()
|
e, es := getEmailObj()
|
||||||
tt := es.generationAuthToken(e)
|
tt := es.generationAuthToken(e)
|
||||||
|
@ -6,15 +6,13 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type KeyStoreService struct {
|
type KeyStoreService struct {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func NewKeyStoreSerivce() *KeyStoreService {
|
func NewKeyStoreSerivce() *KeyStoreService {
|
||||||
return &KeyStoreService{}
|
return &KeyStoreService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func(k *KeyStoreService)CreateKey() (string,error) {
|
func (k *KeyStoreService) CreateKey() (string, error) {
|
||||||
uu, err := uuid.NewUUID()
|
uu, err := uuid.NewUUID()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -2,17 +2,13 @@ package keystore
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestGetKey(t *testing.T) {
|
func TestGetKey(t *testing.T) {
|
||||||
|
|
||||||
|
str, _ := NewKeyStoreSerivce().CreateKey()
|
||||||
str, _:= NewKeyStoreSerivce().CreateKey()
|
|
||||||
|
|
||||||
|
|
||||||
t.Log(str)
|
t.Log(str)
|
||||||
t.Log(len(str))
|
t.Log(len(str))
|
||||||
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
@ -6,19 +6,19 @@ import (
|
|||||||
"git.loafle.net/overflow/encryption_go"
|
"git.loafle.net/overflow/encryption_go"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/apikey"
|
"git.loafle.net/overflow/overflow_service/proxy/apikey"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/keystore"
|
"git.loafle.net/overflow/overflow_service/proxy/keystore"
|
||||||
"log"
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
||||||
|
"log"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Member struct {
|
type Member struct {
|
||||||
Id json.Number `json:"id,Number,omitempty"`
|
Id json.Number `json:"id,Number,omitempty"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
PwSalt string `json:"pwSalt"`
|
PwSalt string `json:"pwSalt"`
|
||||||
Pw string `json:"pw"`
|
Pw string `json:"pw"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
CompanyName string `json:"companyName"`
|
CompanyName string `json:"companyName"`
|
||||||
Phone string `json:"phone"`
|
Phone string `json:"phone"`
|
||||||
Status *MetaMemberStatus `json:"status"`
|
Status *MetaMemberStatus `json:"status"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type MetaMemberStatus struct {
|
type MetaMemberStatus struct {
|
||||||
@ -87,7 +87,7 @@ func (m *MemberService) Regist(mem *Member) (string, error) {
|
|||||||
func (m *MemberService) ReadByEmail(mem *Member) (string, error) {
|
func (m *MemberService) ReadByEmail(mem *Member) (string, error) {
|
||||||
log.Println("Call ReadByEmail", mem.Email)
|
log.Println("Call ReadByEmail", mem.Email)
|
||||||
|
|
||||||
re, err := utils.InvokeDBByModel(TARGET_DAO, "findByEmail",mem, utils.MODEL_MEMBER)
|
re, err := utils.InvokeDBByModel(TARGET_DAO, "findByEmail", mem, utils.MODEL_MEMBER)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@ -98,7 +98,7 @@ func (m *MemberService) ReadByEmail(mem *Member) (string, error) {
|
|||||||
|
|
||||||
func (m *MemberService) Read(mem *Member) (string, error) {
|
func (m *MemberService) Read(mem *Member) (string, error) {
|
||||||
|
|
||||||
re, err := utils.InvokeDBByModel("member","findOne",mem.Id,"java.lang.Long")
|
re, err := utils.InvokeDBByModel("member", "findOne", mem.Id, "java.lang.Long")
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@ -113,7 +113,7 @@ func (m *MemberService) Modify(mem *Member) (string, error) {
|
|||||||
log.Fatal("Id nil")
|
log.Fatal("Id nil")
|
||||||
}
|
}
|
||||||
|
|
||||||
re, err := utils.InvokeDBByModel("member","findOne",mem,utils.MODEL_MEMBER)
|
re, err := utils.InvokeDBByModel("member", "findOne", mem, utils.MODEL_MEMBER)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@ -124,7 +124,7 @@ func (m *MemberService) Modify(mem *Member) (string, error) {
|
|||||||
|
|
||||||
func (m *MemberService) Remove(mem *Member) (string, error) {
|
func (m *MemberService) Remove(mem *Member) (string, error) {
|
||||||
|
|
||||||
re, err := utils.InvokeDBByModel("member","delete",mem.Id,"java.lang.Long")
|
re, err := utils.InvokeDBByModel("member", "delete", mem.Id, "java.lang.Long")
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package member
|
package member
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"github.com/golang/glog"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/golang/glog"
|
||||||
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMemberService_Login(t *testing.T) {
|
func TestMemberService_Login(t *testing.T) {
|
||||||
@ -25,13 +25,13 @@ func TestMemberService_Regist(t *testing.T) {
|
|||||||
ms := NewMemberService()
|
ms := NewMemberService()
|
||||||
|
|
||||||
m := &Member{
|
m := &Member{
|
||||||
Email:"geek2@loafle.com",
|
Email: "geek2@loafle.com",
|
||||||
PwSalt:"qwer5795",
|
PwSalt: "qwer5795",
|
||||||
Pw:"qwer5795",
|
Pw: "qwer5795",
|
||||||
CompanyName:"Loafle",
|
CompanyName: "Loafle",
|
||||||
Name:"Geek",
|
Name: "Geek",
|
||||||
Phone:"010-4055-6699",
|
Phone: "010-4055-6699",
|
||||||
Status:&MetaMemberStatus{Id:"1"},
|
Status: &MetaMemberStatus{Id: "1"},
|
||||||
}
|
}
|
||||||
retMem, _ := ms.Regist(m)
|
retMem, _ := ms.Regist(m)
|
||||||
t.Log(retMem)
|
t.Log(retMem)
|
||||||
@ -46,8 +46,8 @@ func TestMemberLogin(t *testing.T) {
|
|||||||
//}
|
//}
|
||||||
ms := NewMemberService()
|
ms := NewMemberService()
|
||||||
m := &Member{
|
m := &Member{
|
||||||
Email:"geek@loafle.com",
|
Email: "geek@loafle.com",
|
||||||
PwSalt:"qwer5795",
|
PwSalt: "qwer5795",
|
||||||
}
|
}
|
||||||
|
|
||||||
b, _ := ms.Login(m)
|
b, _ := ms.Login(m)
|
||||||
@ -56,7 +56,7 @@ func TestMemberLogin(t *testing.T) {
|
|||||||
|
|
||||||
func TestMemberService_Read(t *testing.T) {
|
func TestMemberService_Read(t *testing.T) {
|
||||||
mm := &Member{
|
mm := &Member{
|
||||||
Id:"1",
|
Id: "1",
|
||||||
}
|
}
|
||||||
|
|
||||||
ms := NewMemberService()
|
ms := NewMemberService()
|
||||||
@ -69,10 +69,10 @@ func TestMemberService_Read(t *testing.T) {
|
|||||||
t.Log(rr)
|
t.Log(rr)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMemberService_ReadByEmail(t *testing.T) {
|
func TestMemberService_ReadByEmail(t *testing.T) {
|
||||||
ms := NewMemberService()
|
ms := NewMemberService()
|
||||||
m := &Member{
|
m := &Member{
|
||||||
Email:"overflow@loafle.com",
|
Email: "overflow@loafle.com",
|
||||||
}
|
}
|
||||||
|
|
||||||
rr, err := ms.ReadByEmail(m)
|
rr, err := ms.ReadByEmail(m)
|
||||||
@ -87,7 +87,7 @@ func TestMemberUpdate(t *testing.T) {
|
|||||||
|
|
||||||
ms := NewMemberService()
|
ms := NewMemberService()
|
||||||
m := &Member{
|
m := &Member{
|
||||||
Id:"1",
|
Id: "1",
|
||||||
}
|
}
|
||||||
rm, _ := ms.Read(m)
|
rm, _ := ms.Read(m)
|
||||||
|
|
||||||
@ -125,4 +125,4 @@ func TestComvertJson(t *testing.T) {
|
|||||||
// glog.Fatal("Json Unmarshal Failed : ", err.Error())
|
// glog.Fatal("Json Unmarshal Failed : ", err.Error())
|
||||||
//}
|
//}
|
||||||
//fmt.Println(mem.(*Member).Email)
|
//fmt.Println(mem.(*Member).Email)
|
||||||
}
|
}
|
||||||
|
@ -6,8 +6,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
NOAUTH_PROBE_STATUS_ACCEPT = 1
|
NOAUTH_PROBE_STATUS_ACCEPT = 1
|
||||||
NOAUTH_PROBE_STATUS_DENY = 2
|
NOAUTH_PROBE_STATUS_DENY = 2
|
||||||
NOAUTH_PROBE_STATUS_PROCESS = 3
|
NOAUTH_PROBE_STATUS_PROCESS = 3
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -18,8 +18,8 @@ var metaNoauthProbeStatusMap = map[int]string{
|
|||||||
}
|
}
|
||||||
|
|
||||||
type MetaNoAuthProbeStatus struct {
|
type MetaNoAuthProbeStatus struct {
|
||||||
Id json.Number `json:"id,Number,omitempty"`
|
Id json.Number `json:"id,Number,omitempty"`
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMetaNoAuthProbeStatus(types int) *MetaNoAuthProbeStatus {
|
func NewMetaNoAuthProbeStatus(types int) *MetaNoAuthProbeStatus {
|
||||||
@ -31,7 +31,7 @@ func NewMetaNoAuthProbeStatus(types int) *MetaNoAuthProbeStatus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return &MetaNoAuthProbeStatus{
|
return &MetaNoAuthProbeStatus{
|
||||||
Id:json.Number(strconv.Itoa(types)),
|
Id: json.Number(strconv.Itoa(types)),
|
||||||
Name:str,
|
Name: str,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,16 +7,17 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
PROBE_STATUS_INITIAL = 1
|
PROBE_STATUS_INITIAL = 1
|
||||||
PROBE_STATUS_NORMAL = 2
|
PROBE_STATUS_NORMAL = 2
|
||||||
)
|
)
|
||||||
|
|
||||||
var metaProbeStatusMap = map[int]string{
|
var metaProbeStatusMap = map[int]string{
|
||||||
1: "INITIAL",
|
1: "INITIAL",
|
||||||
2: "NORMAL",
|
2: "NORMAL",
|
||||||
}
|
}
|
||||||
|
|
||||||
type MetaProbeStatus struct {
|
type MetaProbeStatus struct {
|
||||||
Id json.Number `json:"id,Number,omitempty"`
|
Id json.Number `json:"id,Number,omitempty"`
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMetaProbeStatus(types int) *MetaProbeStatus {
|
func NewMetaProbeStatus(types int) *MetaProbeStatus {
|
||||||
@ -27,8 +28,7 @@ func NewMetaProbeStatus(types int) *MetaProbeStatus {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return &MetaProbeStatus{
|
return &MetaProbeStatus{
|
||||||
Id:json.Number(strconv.Itoa(types)),
|
Id: json.Number(strconv.Itoa(types)),
|
||||||
Name:str,
|
Name: str,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,21 +6,19 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
PROBE_TASK_TYPE_DISOCVERY = 1
|
PROBE_TASK_TYPE_DISOCVERY = 1
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var metaProbeTaskTypeMap = map[int]string{
|
var metaProbeTaskTypeMap = map[int]string{
|
||||||
1: "DISOCVERY",
|
1: "DISOCVERY",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
type MetaProbeTaskType struct {
|
type MetaProbeTaskType struct {
|
||||||
Id json.Number `json:"id,Number,omitempty"`
|
Id json.Number `json:"id,Number,omitempty"`
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
Description string `json:"description,omitempty"`
|
Description string `json:"description,omitempty"`
|
||||||
CreateDate timestamp.Timestamp `json:"createDate,omitempty"`
|
CreateDate timestamp.Timestamp `json:"createDate,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMetaProbeTaskType(types int) *MetaProbeTaskType {
|
func NewMetaProbeTaskType(types int) *MetaProbeTaskType {
|
||||||
@ -31,7 +29,7 @@ func NewMetaProbeTaskType(types int) *MetaProbeTaskType {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return &MetaProbeTaskType{
|
return &MetaProbeTaskType{
|
||||||
Id:json.Number(strconv.Itoa(types)),
|
Id: json.Number(strconv.Itoa(types)),
|
||||||
Name:str,
|
Name: str,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
package noauthprobe
|
package noauthprobe
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
||||||
"git.loafle.net/overflow/commons_go/model/timestamp"
|
"git.loafle.net/overflow/commons_go/model/timestamp"
|
||||||
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/probe"
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/domain"
|
|
||||||
"errors"
|
"errors"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
"git.loafle.net/overflow/overflow_service/proxy/domain"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/probe"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
type NoAuthProbeService struct {
|
type NoAuthProbeService struct {
|
||||||
@ -20,42 +19,38 @@ func NewNoAuthProbeService() *NoAuthProbeService {
|
|||||||
return &NoAuthProbeService{}
|
return &NoAuthProbeService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
type NoAuthProbe struct {
|
type NoAuthProbe struct {
|
||||||
Id json.Number `json:"id,Number,omitempty"`
|
Id json.Number `json:"id,Number,omitempty"`
|
||||||
|
|
||||||
HostName string `json:"hostName,omitempty"`
|
HostName string `json:"hostName,omitempty"`
|
||||||
MacAddress int64 `json:"macAddress,omitempty"`
|
MacAddress int64 `json:"macAddress,omitempty"`
|
||||||
IpAddress int64 `json:"ipAddress,omitempty"`
|
IpAddress int64 `json:"ipAddress,omitempty"`
|
||||||
|
|
||||||
// P rocess, A ccept, D eny
|
// P rocess, A ccept, D eny
|
||||||
Status *meta.MetaNoAuthProbeStatus `json:"status,omitempty"`
|
Status *meta.MetaNoAuthProbeStatus `json:"status,omitempty"`
|
||||||
|
|
||||||
TempProbeKey string `json:"tempProbeKey,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"`
|
|
||||||
|
|
||||||
|
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 {
|
func NewNoAuthProbe(apikey string, ipAddress int64, hostName string, md int64) *NoAuthProbe {
|
||||||
|
|
||||||
na := &NoAuthProbe{
|
na := &NoAuthProbe{
|
||||||
CreateDate:timestamp.Now(),
|
CreateDate: timestamp.Now(),
|
||||||
ApiKey:apikey,
|
ApiKey: apikey,
|
||||||
IpAddress:ipAddress,
|
IpAddress: ipAddress,
|
||||||
HostName:hostName,
|
HostName: hostName,
|
||||||
MacAddress:md,
|
MacAddress: md,
|
||||||
Status:meta.NewMetaNoAuthProbeStatus(meta.NOAUTH_PROBE_STATUS_PROCESS),
|
Status: meta.NewMetaNoAuthProbeStatus(meta.NOAUTH_PROBE_STATUS_PROCESS),
|
||||||
}
|
}
|
||||||
return na
|
return na
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (as *NoAuthProbeService) Regist(na *NoAuthProbe) (string, error) {
|
||||||
func(as *NoAuthProbeService)Regist(na *NoAuthProbe) (string, error) {
|
|
||||||
|
|
||||||
out, err := utils.InvokeDBByModel("noauthProbe", "save", na, utils.MODEL_NOAUTHPROBE)
|
out, err := utils.InvokeDBByModel("noauthProbe", "save", na, utils.MODEL_NOAUTHPROBE)
|
||||||
|
|
||||||
@ -63,10 +58,10 @@ func(as *NoAuthProbeService)Regist(na *NoAuthProbe) (string, error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
return out, nil;
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func(as *NoAuthProbeService)CheckAuth(tempKey string) (string,error) {
|
func (as *NoAuthProbeService) CheckAuth(tempKey string) (string, error) {
|
||||||
|
|
||||||
//memMap := make(map[string]string)
|
//memMap := make(map[string]string)
|
||||||
//
|
//
|
||||||
@ -82,7 +77,7 @@ func(as *NoAuthProbeService)CheckAuth(tempKey string) (string,error) {
|
|||||||
//
|
//
|
||||||
//out, err := proxy.InvokeDB("noauthProbe", "findByTempKey", memMap);
|
//out, err := proxy.InvokeDB("noauthProbe", "findByTempKey", memMap);
|
||||||
|
|
||||||
out, err:= utils.InvokeDBByModel("noauthProbe","findByTempProbeKey",tempKey, utils.MODEL_STRING)
|
out, err := utils.InvokeDBByModel("noauthProbe", "findByTempProbeKey", tempKey, utils.MODEL_STRING)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@ -95,24 +90,21 @@ func(as *NoAuthProbeService)CheckAuth(tempKey string) (string,error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
return out,nil;
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (as *NoAuthProbeService) ReadAllByDomain(d *domain.Domain) (string, error) {
|
||||||
|
|
||||||
func(as *NoAuthProbeService)ReadAllByDomain(d *domain.Domain) (string,error) {
|
out, err := utils.InvokeDBByModel("noauthProbe", "findAllByDomain", d, utils.MODEL_DOMAIN)
|
||||||
|
|
||||||
out, err := utils.InvokeDBByModel("noauthProbe","findAllByDomain", d, utils.MODEL_DOMAIN);
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
return out,nil;
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (as *NoAuthProbeService) RequestAuth(np *NoAuthProbe, domainId int, desc string) (string, error) {
|
||||||
|
|
||||||
func (as *NoAuthProbeService)RequestAuth(np *NoAuthProbe, domainId int, desc string) (string, error) {
|
|
||||||
//paramMap := make(map[string]string)
|
//paramMap := make(map[string]string)
|
||||||
//noauthAgt.Status = "A"
|
//noauthAgt.Status = "A"
|
||||||
//
|
//
|
||||||
@ -123,7 +115,7 @@ func (as *NoAuthProbeService)RequestAuth(np *NoAuthProbe, domainId int, desc str
|
|||||||
//paramMap["com.loafle.overflow.noauthprobe.model.NoAuthProbe"] = string(bytes)
|
//paramMap["com.loafle.overflow.noauthprobe.model.NoAuthProbe"] = string(bytes)
|
||||||
//out, err := proxy.InvokeDB("noauthProbe", "update", paramMap)
|
//out, err := proxy.InvokeDB("noauthProbe", "update", paramMap)
|
||||||
|
|
||||||
out ,err := utils.InvokeDBByModel("noauthProbe","findByTempProbeKey", np.TempProbeKey, utils.MODEL_STRING);
|
out, err := utils.InvokeDBByModel("noauthProbe", "findByTempProbeKey", np.TempProbeKey, utils.MODEL_STRING)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@ -133,12 +125,12 @@ func (as *NoAuthProbeService)RequestAuth(np *NoAuthProbe, domainId int, desc str
|
|||||||
}
|
}
|
||||||
dbnp := NoAuthProbe{}
|
dbnp := NoAuthProbe{}
|
||||||
|
|
||||||
err = json.Unmarshal([]byte(out), &dbnp);
|
err = json.Unmarshal([]byte(out), &dbnp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
dbnp.Status = np.Status;
|
dbnp.Status = np.Status
|
||||||
|
|
||||||
//FIXME:: probe
|
//FIXME:: probe
|
||||||
|
|
||||||
@ -146,23 +138,23 @@ func (as *NoAuthProbeService)RequestAuth(np *NoAuthProbe, domainId int, desc str
|
|||||||
d.Id = json.Number(domainId)
|
d.Id = json.Number(domainId)
|
||||||
newAgent := probe.NewProbe("", "")
|
newAgent := probe.NewProbe("", "")
|
||||||
newone, err := probe.NewProbeService().Regist(newAgent)
|
newone, err := probe.NewProbeService().Regist(newAgent)
|
||||||
if err!= nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
return newone, nil
|
return newone, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (as *NoAuthProbeService)Read(id string) (string, error){
|
func (as *NoAuthProbeService) Read(id string) (string, error) {
|
||||||
//mm := make(map[string]string)
|
//mm := make(map[string]string)
|
||||||
//mm["id"] = id
|
//mm["id"] = id
|
||||||
//out, err := proxy.InvokeDB("noauthProbe", "findOne", id, "java.lang.Long")
|
//out, err := proxy.InvokeDB("noauthProbe", "findOne", id, "java.lang.Long")
|
||||||
|
|
||||||
out,err :=utils.InvokeDBByModel("noauthProbe","findOne",id,utils.MODEL_LONG)
|
out, err := utils.InvokeDBByModel("noauthProbe", "findOne", id, utils.MODEL_LONG)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package noauthprobe
|
package noauthprobe
|
||||||
|
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"testing"
|
"testing"
|
||||||
@ -10,7 +9,6 @@ import (
|
|||||||
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
func TestCreateUUid(t *testing.T) {
|
func TestCreateUUid(t *testing.T) {
|
||||||
|
|
||||||
uu, err := uuid.NewUUID()
|
uu, err := uuid.NewUUID()
|
||||||
@ -22,12 +20,12 @@ func TestCreateUUid(t *testing.T) {
|
|||||||
t.Log(uu)
|
t.Log(uu)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
func TestCreateNoAuthAgent(t *testing.T) {
|
func TestCreateNoAuthAgent(t *testing.T) {
|
||||||
|
|
||||||
na := NewNoAuthProbe("52abd6fd57e511e7ac52080027658d13", 3232235521, "Snoop2222", 8796753988883)
|
na := NewNoAuthProbe("52abd6fd57e511e7ac52080027658d13", 3232235521, "Snoop2222", 8796753988883)
|
||||||
|
|
||||||
|
|
||||||
ns := &meta.MetaNoAuthProbeStatus{}
|
ns := &meta.MetaNoAuthProbeStatus{}
|
||||||
ns.Id = "3"
|
ns.Id = "3"
|
||||||
na.Status = ns
|
na.Status = ns
|
||||||
@ -49,6 +47,7 @@ func TestCreateNoAuthAgent(t *testing.T) {
|
|||||||
t.Log(out)
|
t.Log(out)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
//func TestCheckAuthNoAuthAgent(t *testing.T) {
|
//func TestCheckAuthNoAuthAgent(t *testing.T) {
|
||||||
//
|
//
|
||||||
@ -69,10 +68,8 @@ func TestCreateNoAuthAgent(t *testing.T) {
|
|||||||
// //
|
// //
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
||||||
func TestNoAuthList(t *testing.T) {
|
func TestNoAuthList(t *testing.T) {
|
||||||
|
|
||||||
|
|
||||||
nas := NewNoAuthProbeService()
|
nas := NewNoAuthProbeService()
|
||||||
|
|
||||||
d := domain.Domain{}
|
d := domain.Domain{}
|
||||||
@ -87,6 +84,7 @@ func TestNoAuthList(t *testing.T) {
|
|||||||
t.Log(out)
|
t.Log(out)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
//func TestRequestAuth(t *testing.T) {
|
//func TestRequestAuth(t *testing.T) {
|
||||||
// nas := NewNoAuthProbeService()
|
// nas := NewNoAuthProbeService()
|
||||||
@ -102,10 +100,8 @@ func TestNoAuthList(t *testing.T) {
|
|||||||
// t.Log(newone)
|
// t.Log(newone)
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
||||||
func TestCheckAuth(t *testing.T) {
|
func TestCheckAuth(t *testing.T) {
|
||||||
|
|
||||||
|
|
||||||
ns := NewNoAuthProbeService()
|
ns := NewNoAuthProbeService()
|
||||||
|
|
||||||
str, err := ns.CheckAuth("3398473-90847903874")
|
str, err := ns.CheckAuth("3398473-90847903874")
|
||||||
@ -117,7 +113,6 @@ func TestCheckAuth(t *testing.T) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func TestRead(t *testing.T) {
|
func TestRead(t *testing.T) {
|
||||||
|
|
||||||
out, err := NewNoAuthProbeService().Read("1")
|
out, err := NewNoAuthProbeService().Read("1")
|
||||||
|
@ -7,26 +7,25 @@ import (
|
|||||||
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
||||||
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
|
||||||
"git.loafle.net/overflow/commons_go/model/timestamp"
|
"git.loafle.net/overflow/commons_go/model/timestamp"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/domain"
|
"git.loafle.net/overflow/overflow_service/proxy/domain"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ProbeService struct {
|
type ProbeService struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Probe struct {
|
type Probe struct {
|
||||||
Id json.Number `json:"id,Number,omitempty"`
|
Id json.Number `json:"id,Number,omitempty"`
|
||||||
Status *meta.MetaProbeStatus `json:"status,omitempty"`
|
Status *meta.MetaProbeStatus `json:"status,omitempty"`
|
||||||
CreateDate timestamp.Timestamp `json:"createDate,omitempty"`
|
CreateDate timestamp.Timestamp `json:"createDate,omitempty"`
|
||||||
LastPollingDate timestamp.Timestamp `json:"lastPollingDate,omitempty"`
|
LastPollingDate timestamp.Timestamp `json:"lastPollingDate,omitempty"`
|
||||||
NextPollingDate timestamp.Timestamp `json:"nextPollingDate,omitempty"`
|
NextPollingDate timestamp.Timestamp `json:"nextPollingDate,omitempty"`
|
||||||
Domain *domain.Domain `json:"domain,omitempty"`
|
Domain *domain.Domain `json:"domain,omitempty"`
|
||||||
ProbeKey string `json:"probeKey,omitempty"`
|
ProbeKey string `json:"probeKey,omitempty"`
|
||||||
EncryptionKey string `json:"encryptionKey,omitempty"`
|
EncryptionKey string `json:"encryptionKey,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func NewProbeService() *ProbeService {
|
func NewProbeService() *ProbeService {
|
||||||
return &ProbeService{}
|
return &ProbeService{}
|
||||||
}
|
}
|
||||||
@ -34,10 +33,9 @@ func NewProbeService() *ProbeService {
|
|||||||
func NewProbe(probeKey string, encryptionKey string) *Probe {
|
func NewProbe(probeKey string, encryptionKey string) *Probe {
|
||||||
|
|
||||||
na := &Probe{
|
na := &Probe{
|
||||||
Status:meta.NewMetaProbeStatus(meta.PROBE_STATUS_INITIAL),
|
Status: meta.NewMetaProbeStatus(meta.PROBE_STATUS_INITIAL),
|
||||||
ProbeKey:probeKey,
|
ProbeKey: probeKey,
|
||||||
EncryptionKey:encryptionKey,
|
EncryptionKey: encryptionKey,
|
||||||
|
|
||||||
}
|
}
|
||||||
return na
|
return na
|
||||||
}
|
}
|
||||||
@ -73,4 +71,4 @@ func (as *ProbeService) ReadByProbeKey(probeKey string) (string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
package probe
|
package probe
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/keystore"
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/domain"
|
"git.loafle.net/overflow/overflow_service/proxy/domain"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/keystore"
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSaveProbe(t *testing.T) {
|
func TestSaveProbe(t *testing.T) {
|
||||||
@ -17,7 +14,7 @@ func TestSaveProbe(t *testing.T) {
|
|||||||
enks, _ := ks.CreateKey()
|
enks, _ := ks.CreateKey()
|
||||||
|
|
||||||
ppp := NewProbe(pks, enks)
|
ppp := NewProbe(pks, enks)
|
||||||
ppp.Domain = &domain.Domain{Id:"1"}
|
ppp.Domain = &domain.Domain{Id: "1"}
|
||||||
as := NewProbeService()
|
as := NewProbeService()
|
||||||
|
|
||||||
res, err := as.Regist(ppp)
|
res, err := as.Regist(ppp)
|
||||||
@ -30,12 +27,11 @@ func TestSaveProbe(t *testing.T) {
|
|||||||
func TestListProbe(t *testing.T) {
|
func TestListProbe(t *testing.T) {
|
||||||
as := NewProbeService()
|
as := NewProbeService()
|
||||||
|
|
||||||
d := &domain.Domain{Id:"1"}
|
d := &domain.Domain{Id: "1"}
|
||||||
|
|
||||||
|
|
||||||
if res, err := as.ReadAllByDomain(d); err != nil {
|
if res, err := as.ReadAllByDomain(d); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}else {
|
} else {
|
||||||
t.Log(res)
|
t.Log(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +51,6 @@ func TestReadProbeKey(t *testing.T) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func TestDDDD(t *testing.T) {
|
func TestDDDD(t *testing.T) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,44 +2,43 @@ package probe
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
|
||||||
"git.loafle.net/overflow/commons_go/model/timestamp"
|
"git.loafle.net/overflow/commons_go/model/timestamp"
|
||||||
|
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
"git.loafle.net/overflow/overflow_service/proxy/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ProbeTask struct {
|
type ProbeTask struct {
|
||||||
Id json.Number `json:"id,Number,omitempty"`
|
Id json.Number `json:"id,Number,omitempty"`
|
||||||
MetaProbeTaskType *meta.MetaProbeTaskType `json:"metaProbeTaskType,omitempty"`
|
MetaProbeTaskType *meta.MetaProbeTaskType `json:"metaProbeTaskType,omitempty"`
|
||||||
Probe *Probe `json:"probe,omitempty"`
|
Probe *Probe `json:"probe,omitempty"`
|
||||||
Data string `json:"data,omitempty"`
|
Data string `json:"data,omitempty"`
|
||||||
CreateDate timestamp.Timestamp `json:"createDate,omitempty"`
|
CreateDate timestamp.Timestamp `json:"createDate,omitempty"`
|
||||||
SendDate timestamp.Timestamp `json:"sendDate,omitempty"`
|
SendDate timestamp.Timestamp `json:"sendDate,omitempty"`
|
||||||
StartDate timestamp.Timestamp `json:"startDate,omitempty"`
|
StartDate timestamp.Timestamp `json:"startDate,omitempty"`
|
||||||
EndDate timestamp.Timestamp `json:"startDate,omitempty"`
|
EndDate timestamp.Timestamp `json:"startDate,omitempty"`
|
||||||
Succeed bool `json:"succeed,omitempty"`
|
Succeed bool `json:"succeed,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewProbeTask(types *meta.MetaProbeTaskType, data string, p *Probe) *ProbeTask {
|
func NewProbeTask(types *meta.MetaProbeTaskType, data string, p *Probe) *ProbeTask {
|
||||||
|
|
||||||
return &ProbeTask{
|
return &ProbeTask{
|
||||||
MetaProbeTaskType:types,
|
MetaProbeTaskType: types,
|
||||||
Data:data,
|
Data: data,
|
||||||
Probe:p,
|
Probe: p,
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ProbeTaskService struct {
|
type ProbeTaskService struct {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewProbeTaskService() *ProbeTaskService{
|
func NewProbeTaskService() *ProbeTaskService {
|
||||||
return &ProbeTaskService{}
|
return &ProbeTaskService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func(pts* ProbeTaskService)Regist(pt *ProbeTask) (string, error) {
|
func (pts *ProbeTaskService) Regist(pt *ProbeTask) (string, error) {
|
||||||
|
|
||||||
out, err := utils.InvokeDBByModel("probeTask","save", pt, utils.MODEL_PROBE_TASK)
|
out, err := utils.InvokeDBByModel("probeTask", "save", pt, utils.MODEL_PROBE_TASK)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@ -48,9 +47,9 @@ func(pts* ProbeTaskService)Regist(pt *ProbeTask) (string, error) {
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func(pts* ProbeTaskService)ReadAllByProbe(p *Probe) (string, error) {
|
func (pts *ProbeTaskService) ReadAllByProbe(p *Probe) (string, error) {
|
||||||
|
|
||||||
out, err := utils.InvokeDBByModel("probeTask","findAllByProbe", p, utils.MODEL_PROBE)
|
out, err := utils.InvokeDBByModel("probeTask", "findAllByProbe", p, utils.MODEL_PROBE)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package probe
|
package probe
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
||||||
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
@ -17,14 +17,13 @@ func TestCreate(t *testing.T) {
|
|||||||
|
|
||||||
out, err := pts.Regist(pt)
|
out, err := pts.Regist(pt)
|
||||||
|
|
||||||
if err != nil{
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
t.Log(out)
|
t.Log(out)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func TestListByProbe(t *testing.T) {
|
func TestListByProbe(t *testing.T) {
|
||||||
|
|
||||||
p := &Probe{}
|
p := &Probe{}
|
||||||
@ -40,6 +39,4 @@ func TestListByProbe(t *testing.T) {
|
|||||||
|
|
||||||
t.Log(out)
|
t.Log(out)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
@ -35,14 +35,14 @@ func (sims *SensorItemMappingService) CreateAll(siml *[]*SensorItemMapping) (str
|
|||||||
|
|
||||||
outlist := make([]string, 0)
|
outlist := make([]string, 0)
|
||||||
for _, sim := range *siml {
|
for _, sim := range *siml {
|
||||||
out,err := sims.Create(sim)
|
out, err := sims.Create(sim)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
outlist = append(outlist, out)
|
outlist = append(outlist, out)
|
||||||
}
|
}
|
||||||
|
|
||||||
bytes,err := json.Marshal(outlist)
|
bytes, err := json.Marshal(outlist)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
@ -2,11 +2,11 @@ package sensorItemMapping
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"git.loafle.net/overflow/overflow_service/proxy/sensor"
|
|
||||||
"testing"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"sync"
|
"git.loafle.net/overflow/overflow_service/proxy/sensor"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"sync"
|
||||||
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSensorItemMappingService_List(t *testing.T) {
|
func TestSensorItemMappingService_List(t *testing.T) {
|
||||||
@ -19,7 +19,6 @@ func TestSensorItemMappingService_List(t *testing.T) {
|
|||||||
t.Log(res)
|
t.Log(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func TestSensorItemMappingService_List_GoRutine(t *testing.T) {
|
func TestSensorItemMappingService_List_GoRutine(t *testing.T) {
|
||||||
//s := &sensor.Sensor{}
|
//s := &sensor.Sensor{}
|
||||||
//s.Id = json.Number("14")
|
//s.Id = json.Number("14")
|
||||||
@ -36,7 +35,6 @@ func TestSensorItemMappingService_List_GoRutine(t *testing.T) {
|
|||||||
|
|
||||||
for _, ii := range il {
|
for _, ii := range il {
|
||||||
|
|
||||||
|
|
||||||
go func(i int) {
|
go func(i int) {
|
||||||
s := &sensor.Sensor{}
|
s := &sensor.Sensor{}
|
||||||
s.Id = json.Number(strconv.Itoa(ii))
|
s.Id = json.Number(strconv.Itoa(ii))
|
||||||
@ -44,14 +42,12 @@ func TestSensorItemMappingService_List_GoRutine(t *testing.T) {
|
|||||||
fmt.Print(res)
|
fmt.Print(res)
|
||||||
}(ii)
|
}(ii)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wg := sync.WaitGroup{}
|
wg := sync.WaitGroup{}
|
||||||
|
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
|
|
||||||
|
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|
||||||
//res, _ := sims.List(s)
|
//res, _ := sims.List(s)
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
package proxy
|
package proxy
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
|
||||||
pb "git.loafle.net/overflow/overflow_api_db/build/golang"
|
pb "git.loafle.net/overflow/overflow_api_db/build/golang"
|
||||||
"google.golang.org/grpc"
|
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
|
"google.golang.org/grpc"
|
||||||
|
"log"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
func InvokeDB(targetDb, methodName string, param map[string]string) (string, error) {
|
func InvokeDB(targetDb, methodName string, param map[string]string) (string, error) {
|
||||||
|
|
||||||
in := &pb.DBInput{}
|
in := &pb.DBInput{}
|
||||||
@ -34,4 +32,3 @@ func InvokeDB(targetDb, methodName string, param map[string]string) (string, err
|
|||||||
|
|
||||||
return out.Result, nil
|
return out.Result, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import "git.loafle.net/overflow/overflow_service/proxy/member"
|
|||||||
func GetSessionMember() *member.Member {
|
func GetSessionMember() *member.Member {
|
||||||
|
|
||||||
m := member.NewMember()
|
m := member.NewMember()
|
||||||
m.Id = "1";
|
m.Id = "1"
|
||||||
|
|
||||||
return m;
|
return m
|
||||||
}
|
}
|
||||||
|
@ -6,9 +6,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Deprecated: package rule changed...T__T
|
// Deprecated: package rule changed...T__T
|
||||||
func InvokeDB( db string, method string, obj interface{}) (string, error) {
|
func InvokeDB(db string, method string, obj interface{}) (string, error) {
|
||||||
|
|
||||||
var m map[string]string = nil;
|
var m map[string]string = nil
|
||||||
|
|
||||||
if obj != nil {
|
if obj != nil {
|
||||||
bytes, err := json.Marshal(obj)
|
bytes, err := json.Marshal(obj)
|
||||||
@ -21,13 +21,12 @@ func InvokeDB( db string, method string, obj interface{}) (string, error) {
|
|||||||
m[GenerateModelStr(db)] = string(bytes)
|
m[GenerateModelStr(db)] = string(bytes)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
out, err := proxy.InvokeDB(db, method, m)
|
out, err := proxy.InvokeDB(db, method, m)
|
||||||
|
|
||||||
return out, err
|
return out, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func InvokeDBByModel( db string, method string, obj interface{}, model string) (string, error) {
|
func InvokeDBByModel(db string, method string, obj interface{}, model string) (string, error) {
|
||||||
|
|
||||||
bytes, err := json.Marshal(obj)
|
bytes, err := json.Marshal(obj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -40,6 +39,5 @@ func InvokeDBByModel( db string, method string, obj interface{}, model string) (
|
|||||||
|
|
||||||
out, err := proxy.InvokeDB(db, method, m)
|
out, err := proxy.InvokeDB(db, method, m)
|
||||||
|
|
||||||
|
|
||||||
return out, err
|
return out, err
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package utils
|
|||||||
import "strings"
|
import "strings"
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defaultPackage = "com.loafle.overflow."
|
defaultPackage = "com.loafle.overflow."
|
||||||
modelPackageName = ".model."
|
modelPackageName = ".model."
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -11,11 +11,10 @@ func GenerateModelStr(model string) string {
|
|||||||
|
|
||||||
tm := strings.Title(model)
|
tm := strings.Title(model)
|
||||||
|
|
||||||
|
|
||||||
res := defaultPackage
|
res := defaultPackage
|
||||||
res += model
|
res += model
|
||||||
res += modelPackageName
|
res += modelPackageName
|
||||||
res += tm
|
res += tm
|
||||||
|
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package utils
|
package utils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestStringUpper(t *testing.T) {
|
func TestStringUpper(t *testing.T) {
|
||||||
@ -11,10 +11,8 @@ func TestStringUpper(t *testing.T) {
|
|||||||
|
|
||||||
aa := strings.Title(res)
|
aa := strings.Title(res)
|
||||||
|
|
||||||
|
|
||||||
t.Log(aa)
|
t.Log(aa)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGM(t *testing.T) {
|
func TestGM(t *testing.T) {
|
||||||
@ -23,16 +21,14 @@ func TestGM(t *testing.T) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func TestNil(t *testing.T) {
|
func TestNil(t *testing.T) {
|
||||||
|
|
||||||
var oo interface{}
|
var oo interface{}
|
||||||
|
|
||||||
oo = nil;
|
oo = nil
|
||||||
|
|
||||||
if oo == nil {
|
if oo == nil {
|
||||||
t.Log("nil!!!")
|
t.Log("nil!!!")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"git.loafle.net/overflow/overflow_service/gateway"
|
|
||||||
"flag"
|
"flag"
|
||||||
"github.com/golang/glog"
|
"git.loafle.net/overflow/overflow_service/gateway"
|
||||||
"git.loafle.net/overflow/overflow_service/server"
|
"git.loafle.net/overflow/overflow_service/server"
|
||||||
|
"github.com/golang/glog"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
defer glog.Flush()
|
defer glog.Flush()
|
||||||
|
@ -2,13 +2,13 @@ package server
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"golang.org/x/net/context"
|
|
||||||
"github.com/grpc-ecosystem/grpc-gateway/runtime"
|
|
||||||
"google.golang.org/grpc"
|
|
||||||
pb "git.loafle.net/overflow/overflow_api_service/grpc"
|
pb "git.loafle.net/overflow/overflow_api_service/grpc"
|
||||||
|
"github.com/golang/glog"
|
||||||
|
"github.com/grpc-ecosystem/grpc-gateway/runtime"
|
||||||
|
"golang.org/x/net/context"
|
||||||
|
"google.golang.org/grpc"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
"github.com/golang/glog"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -32,7 +32,6 @@ func RunGwRpc() (err error) {
|
|||||||
return http.ListenAndServe(":8080", allowCORS(mux))
|
return http.ListenAndServe(":8080", allowCORS(mux))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//https://github.com/grpc-ecosystem/grpc-gateway/blob/master/examples/main.go
|
//https://github.com/grpc-ecosystem/grpc-gateway/blob/master/examples/main.go
|
||||||
|
|
||||||
func allowCORS(h http.Handler) http.Handler {
|
func allowCORS(h http.Handler) http.Handler {
|
||||||
@ -55,4 +54,4 @@ func preflightHandler(w http.ResponseWriter, r *http.Request) {
|
|||||||
w.Header().Set("Access-Control-Allow-Methods", strings.Join(methods, ","))
|
w.Header().Set("Access-Control-Allow-Methods", strings.Join(methods, ","))
|
||||||
glog.Infof("preflight request for %s", r.URL.Path)
|
glog.Infof("preflight request for %s", r.URL.Path)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net"
|
|
||||||
"google.golang.org/grpc"
|
|
||||||
pb "git.loafle.net/overflow/overflow_api_service/grpc"
|
pb "git.loafle.net/overflow/overflow_api_service/grpc"
|
||||||
"git.loafle.net/overflow/overflow_service/gateway"
|
"git.loafle.net/overflow/overflow_service/gateway"
|
||||||
|
"google.golang.org/grpc"
|
||||||
|
"net"
|
||||||
)
|
)
|
||||||
|
|
||||||
func RunRpc() error {
|
func RunRpc() error {
|
||||||
@ -20,4 +20,4 @@ func RunRpc() error {
|
|||||||
s.Serve(l)
|
s.Serve(l)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
|
||||||
"git.loafle.net/overflow/overflow_gateway_service/gateway"
|
|
||||||
"flag"
|
|
||||||
"github.com/golang/glog"
|
|
||||||
"time"
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"net/http"
|
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"flag"
|
||||||
|
"fmt"
|
||||||
|
pb "git.loafle.net/overflow/overflow_api_service/grpc"
|
||||||
|
"git.loafle.net/overflow/overflow_gateway_service/gateway"
|
||||||
|
"github.com/golang/glog"
|
||||||
|
"golang.org/x/net/context"
|
||||||
|
"google.golang.org/grpc"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"google.golang.org/grpc"
|
"net/http"
|
||||||
pb "git.loafle.net/overflow/overflow_api_service/grpc"
|
"os"
|
||||||
"golang.org/x/net/context"
|
"testing"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func startRpcServerTest() <- chan error{
|
func startRpcServerTest() <-chan error {
|
||||||
ch := make(chan error, 2)
|
ch := make(chan error, 2)
|
||||||
go func() {
|
go func() {
|
||||||
if err := RunRpc(); err != nil {
|
if err := RunRpc(); err != nil {
|
||||||
@ -74,34 +74,30 @@ func TestRpcServer(t *testing.T) {
|
|||||||
|
|
||||||
errch := startRpcServerTest()
|
errch := startRpcServerTest()
|
||||||
|
|
||||||
chStr := make(chan string , 1)
|
chStr := make(chan string, 1)
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
chStr <- callGatewayRpc()
|
chStr <- callGatewayRpc()
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case err := <- errch:
|
case err := <-errch:
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
case status := <-chStr:
|
case status := <-chStr:
|
||||||
log.Println( status)
|
log.Println(status)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func TestRPC(t *testing.T) {
|
func TestRPC(t *testing.T) {
|
||||||
|
|
||||||
|
conn, err := grpc.Dial(":9090", grpc.WithInsecure())
|
||||||
conn, err := grpc.Dial(":9090", grpc.WithInsecure());
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Log(err)
|
t.Log(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
client := pb.NewOverflowGatewayClient(conn)
|
client := pb.NewOverflowGatewayClient(conn)
|
||||||
|
|
||||||
si := pb.ServiceInput{}
|
si := pb.ServiceInput{}
|
||||||
@ -114,6 +110,4 @@ func TestRPC(t *testing.T) {
|
|||||||
|
|
||||||
t.Log(so.ResultStr)
|
t.Log(so.ResultStr)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user