decentralized -> peer discovery
This commit is contained in:
@@ -22,6 +22,7 @@ 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"
|
||||
|
||||
@@ -73,7 +73,7 @@ func (o *PeerController) Link() {
|
||||
o.Data["json"] = map[string]interface{}{
|
||||
"data": nil,
|
||||
"code": 400,
|
||||
"error": "can't link relation to ourself",
|
||||
"error": "can't link relation by ourself",
|
||||
}
|
||||
o.ServeJSON()
|
||||
return
|
||||
@@ -82,7 +82,7 @@ func (o *PeerController) Link() {
|
||||
o.Data["json"] = map[string]interface{}{
|
||||
"data": nil,
|
||||
"code": 400,
|
||||
"error": "can't link relation",
|
||||
"error": "can't link relation to an other peer",
|
||||
}
|
||||
o.ServeJSON()
|
||||
return
|
||||
@@ -122,7 +122,7 @@ func (o *PeerController) Link() {
|
||||
func (o *PeerController) Unknown() {
|
||||
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
id := o.Ctx.Input.Param(":id")
|
||||
req := oclib.NewRequest(oclib.LibDataEnum(oclib.PEER), user, peerID, groups, nil)
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), user, peerID, groups, nil)
|
||||
data := req.LoadOne(id)
|
||||
o.changeRelation(data.ToPeer(), peer.NONE, req)
|
||||
}
|
||||
@@ -135,7 +135,7 @@ func (o *PeerController) Unknown() {
|
||||
func (o *PeerController) Partner() {
|
||||
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
id := o.Ctx.Input.Param(":id")
|
||||
req := oclib.NewRequest(oclib.LibDataEnum(oclib.PEER), user, peerID, groups, nil)
|
||||
req := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), user, peerID, groups, nil)
|
||||
data := req.LoadOne(id)
|
||||
o.changeRelation(data.ToPeer(), peer.PARTNER, req)
|
||||
}
|
||||
@@ -150,6 +150,7 @@ func (o *PeerController) Blacklist() {
|
||||
id := o.Ctx.Input.Param(":id")
|
||||
o.Data["json"] = oclib.NewRequest(oclib.LibDataEnum(oclib.PEER), user, peerID, groups, nil).UpdateOne(map[string]interface{}{
|
||||
"relation": peer.BLACKLIST,
|
||||
"state": peer.OFFLINE,
|
||||
}, id)
|
||||
}
|
||||
|
||||
@@ -218,3 +219,20 @@ func (o *PeerController) DeleteState() {
|
||||
}, id)
|
||||
o.ServeJSON()
|
||||
}
|
||||
|
||||
/*
|
||||
Un pair change le statut d'un autre pair, alors ce dernier est joins automatiquement, on ne peut pas s'auto lié seul un externe peut faire ce processus de demande.
|
||||
On change le pair pour pouvoir le mettre à jour, alors, le lien se met à jour automatiquement. p1 -> update status -> link (p2) -> p2 response -> update status -> link (p1)
|
||||
|
||||
Que définit le partnership de type : Partner, Blacklist et None.
|
||||
|
||||
BlackList : implique qu'on ne peut pas "voir" un pair et ses ressources, d'un coté comme de l'autre. Il suffit qu'un pair définisse la Blacklist, le pair opposant ne peut plus le voir.
|
||||
(DHT allons plus loin)
|
||||
|
||||
Partner : Donne accès à des ressources non publique duquel un partnership à été modélisé, de type * ou dédié.
|
||||
|
||||
None : Est visible, et ne donne accès qu'au ressources publique et aux profiles all. Les profiles dédiés ne s'appliquent que si on est dans une situation de partenariat.
|
||||
|
||||
|
||||
Note: L'état PENDING revient à dire qu'une relation est à l'état None,... si il y a une vérification on considère tout status à None. C'est une vérification importante.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user