Peer Discovery
This commit is contained in:
@@ -1,81 +0,0 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"context"
|
||||
"oc-peer/infrastructure"
|
||||
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
)
|
||||
|
||||
// Operations about workflow
|
||||
type DistributedPeerController struct {
|
||||
beego.Controller
|
||||
}
|
||||
|
||||
// @Title Search
|
||||
// @Description search workspace
|
||||
// @Param search path string true "the word search you want to get"
|
||||
// @Param is_draft query string false
|
||||
// @Success 200 {workspace} models.workspace
|
||||
// @router /search/:search [get]
|
||||
func (o *DistributedPeerController) Search() {
|
||||
//user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
// store and return Id or post with UUIDLibDataEnum
|
||||
search := o.Ctx.Input.Param(":search")
|
||||
|
||||
service := infrastructure.GetDHTService()
|
||||
code := 400
|
||||
err := "no DHT Service available"
|
||||
if service != nil {
|
||||
if p, errr := service.DiscoverPeers(context.Background(), search); errr == nil {
|
||||
o.Data["json"] = map[string]interface{}{
|
||||
"data": p,
|
||||
"code": 200,
|
||||
"error": nil,
|
||||
}
|
||||
o.ServeJSON()
|
||||
return
|
||||
} else {
|
||||
err = errr.Error()
|
||||
}
|
||||
}
|
||||
|
||||
o.Data["json"] = map[string]interface{}{
|
||||
"data": []interface{}{},
|
||||
"code": code,
|
||||
"error": err,
|
||||
}
|
||||
o.ServeJSON()
|
||||
}
|
||||
|
||||
// @Title Get
|
||||
// @Description find peer by peerid
|
||||
// @Param id path string true "the peer id you want to get"
|
||||
// @Success 200 {peer} models.peer
|
||||
// @router /:name [get]
|
||||
func (o *DistributedPeerController) Get() {
|
||||
name := o.Ctx.Input.Param(":name")
|
||||
service := infrastructure.GetDHTService()
|
||||
code := 400
|
||||
err := "no DHT Service available"
|
||||
if service != nil {
|
||||
if p, errr := service.GetPeer(context.Background(), name); errr == nil {
|
||||
o.Data["json"] = map[string]interface{}{
|
||||
"data": p,
|
||||
"code": 200,
|
||||
"error": nil,
|
||||
}
|
||||
o.ServeJSON()
|
||||
return
|
||||
} else {
|
||||
err = errr.Error()
|
||||
}
|
||||
}
|
||||
|
||||
o.Data["json"] = map[string]interface{}{
|
||||
"data": nil,
|
||||
"code": code,
|
||||
"error": err,
|
||||
}
|
||||
o.ServeJSON()
|
||||
}
|
||||
@@ -67,7 +67,7 @@ func (o *PeerController) Get() {
|
||||
// @Success 200 {peer} models.peer
|
||||
// @router /:from/link/:relation [get]
|
||||
func (o *PeerController) Link() {
|
||||
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
_, peerID, _ := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
id := o.Ctx.Input.Param(":from")
|
||||
if ok, _ := oclib.IsMySelf(peerID); ok {
|
||||
o.Data["json"] = map[string]interface{}{
|
||||
@@ -88,7 +88,7 @@ func (o *PeerController) Link() {
|
||||
return
|
||||
}
|
||||
relation := o.Ctx.Input.Param(":relation") // as partner, blacklist, unknown
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), user, peerID, groups, nil)
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), nil)
|
||||
l := req.LoadOne(id)
|
||||
if p := l.ToPeer(); p != nil {
|
||||
if peer.GetRelationPath(relation) != -1 {
|
||||
@@ -120,9 +120,9 @@ func (o *PeerController) Link() {
|
||||
// @Success 200 {peer} models.peer
|
||||
// @router /:id/unknown [post]
|
||||
func (o *PeerController) Unknown() {
|
||||
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
//user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
id := o.Ctx.Input.Param(":id")
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), user, peerID, groups, nil)
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), nil)
|
||||
data := req.LoadOne(id)
|
||||
o.changeRelation(data.ToPeer(), peer.NONE, req)
|
||||
}
|
||||
@@ -133,9 +133,9 @@ func (o *PeerController) Unknown() {
|
||||
// @Success 200 {peer} models.peer
|
||||
// @router /:id/partner [post]
|
||||
func (o *PeerController) Partner() {
|
||||
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
// user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
id := o.Ctx.Input.Param(":id")
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), user, peerID, groups, nil)
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), nil)
|
||||
data := req.LoadOne(id)
|
||||
o.changeRelation(data.ToPeer(), peer.PARTNER, req)
|
||||
}
|
||||
@@ -146,9 +146,9 @@ func (o *PeerController) Partner() {
|
||||
// @Success 200 {peer} models.peer
|
||||
// @router /:id/blacklist [post]
|
||||
func (o *PeerController) Blacklist() {
|
||||
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
// user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
id := o.Ctx.Input.Param(":id")
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), user, peerID, groups, nil)
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), nil)
|
||||
data := req.LoadOne(id)
|
||||
o.changeRelation(data.ToPeer(), peer.BLACKLIST, req)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user