diff --git a/controllers/peer.go b/controllers/peer.go index de98525..9a125de 100644 --- a/controllers/peer.go +++ b/controllers/peer.go @@ -4,6 +4,7 @@ import ( "encoding/json" oclib "cloud.o-forge.io/core/oc-lib" + "cloud.o-forge.io/core/oc-lib/models/peer" beego "github.com/beego/beego/v2/server/web" ) @@ -59,3 +60,42 @@ func (o *PeerController) Get() { o.Data["json"] = oclib.LoadOne(oclib.LibDataEnum(oclib.PEER), id) o.ServeJSON() } + +// @Title Partner +// @Description add partner peer by peerid +// @Param id path string true "the peer id you want to partner" +// @Success 200 {peer} models.peer +// @router /:id/partner [post] +func (o *PeerController) Partner() { + id := o.Ctx.Input.Param(":id") + o.Data["json"] = oclib.UpdateOne(oclib.LibDataEnum(oclib.PEER), map[string]interface{}{ + "state": peer.PARTNER, + }, id) + o.ServeJSON() +} + +// @Title Blacklist +// @Description add blacklist peer by peerid +// @Param id path string true "the peer id you want to blacklist" +// @Success 200 {peer} models.peer +// @router /:id/blacklist [post] +func (o *PeerController) Blacklist() { + id := o.Ctx.Input.Param(":id") + o.Data["json"] = oclib.UpdateOne(oclib.LibDataEnum(oclib.PEER), map[string]interface{}{ + "state": peer.BLACKLIST, + }, id) + o.ServeJSON() +} + +// @Title DeleteState +// @Description delete state peer by peerid +// @Param id path string true "the peer id you want to delete state" +// @Success 200 {peer} models.peer +// @router /:id/undo_state [post] +func (o *PeerController) DeleteState() { + id := o.Ctx.Input.Param(":id") + o.Data["json"] = oclib.UpdateOne(oclib.LibDataEnum(oclib.PEER), map[string]interface{}{ + "state": peer.NONE, + }, id) + o.ServeJSON() +} diff --git a/go.mod b/go.mod index ed75198..b09ced9 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.0 toolchain go1.22.4 require ( - cloud.o-forge.io/core/oc-lib v0.0.0-20241015083538-9f5e6d60185a + cloud.o-forge.io/core/oc-lib v0.0.0-20241015143718-73602b6c3dad github.com/beego/beego/v2 v2.3.1 github.com/smartystreets/goconvey v1.7.2 ) diff --git a/go.sum b/go.sum index 1040492..cdfe362 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,8 @@ cloud.o-forge.io/core/oc-lib v0.0.0-20241015082307-62705cc9b93e h1:auncAXo/J15Dc cloud.o-forge.io/core/oc-lib v0.0.0-20241015082307-62705cc9b93e/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8= cloud.o-forge.io/core/oc-lib v0.0.0-20241015083538-9f5e6d60185a h1:2mBMc36WKh1/Dpomktx9dVXGxK0agFr7RdgvHTtyn2w= cloud.o-forge.io/core/oc-lib v0.0.0-20241015083538-9f5e6d60185a/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8= +cloud.o-forge.io/core/oc-lib v0.0.0-20241015143718-73602b6c3dad h1:XkuDc4v2XpTS+w6N9ovbzJdXs/78y2sH36tkQf4LW+E= +cloud.o-forge.io/core/oc-lib v0.0.0-20241015143718-73602b6c3dad/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/beego/beego/v2 v2.3.0 h1:iECVwzm6egw6iw6tkWrEDqXG4NQtKLQ6QBSYqlM6T/I= github.com/beego/beego/v2 v2.3.0/go.mod h1:Ob/5BJ9fIKZLd4s9ZV3o9J6odkkIyL83et+p98gyYXo= diff --git a/oc-peer b/oc-peer index 6c0c941..cfa4ba9 100755 Binary files a/oc-peer and b/oc-peer differ diff --git a/routers/commentsRouter.go b/routers/commentsRouter.go index 265f8d5..ae7f8c6 100644 --- a/routers/commentsRouter.go +++ b/routers/commentsRouter.go @@ -34,6 +34,33 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], + beego.ControllerComments{ + Method: "Blacklist", + Router: `/:id/blacklist`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], + beego.ControllerComments{ + Method: "Partner", + Router: `/:id/partner`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], + beego.ControllerComments{ + Method: "DeleteState", + Router: `/:id/undo_state`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], beego.ControllerComments{ Method: "Search", diff --git a/swagger/swagger.json b/swagger/swagger.json index 1075b14..bfdd894 100644 --- a/swagger/swagger.json +++ b/swagger/swagger.json @@ -145,6 +145,75 @@ } } } + }, + "/{id}/blacklist": { + "post": { + "tags": [ + "oc-peer/controllersPeerController" + ], + "description": "add blacklist peer by peerid\n\u003cbr\u003e", + "operationId": "PeerController.Blacklist", + "parameters": [ + { + "in": "path", + "name": "id", + "description": "the peer id you want to blacklist", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{peer} models.peer" + } + } + } + }, + "/{id}/partner": { + "post": { + "tags": [ + "oc-peer/controllersPeerController" + ], + "description": "add partner peer by peerid\n\u003cbr\u003e", + "operationId": "PeerController.Partner", + "parameters": [ + { + "in": "path", + "name": "id", + "description": "the peer id you want to partner", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{peer} models.peer" + } + } + } + }, + "/{id}/undo_state": { + "post": { + "tags": [ + "oc-peer/controllersPeerController" + ], + "description": "delete state peer by peerid\n\u003cbr\u003e", + "operationId": "PeerController.DeleteState", + "parameters": [ + { + "in": "path", + "name": "id", + "description": "the peer id you want to delete state", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{peer} models.peer" + } + } + } } }, "definitions": { diff --git a/swagger/swagger.yml b/swagger/swagger.yml index 58422af..dc347ec 100644 --- a/swagger/swagger.yml +++ b/swagger/swagger.yml @@ -64,6 +64,57 @@ paths: description: "" schema: $ref: '#/definitions/models.peer' + /{id}/blacklist: + post: + tags: + - oc-peer/controllersPeerController + description: |- + add blacklist peer by peerid +
+ operationId: PeerController.Blacklist + parameters: + - in: path + name: id + description: the peer id you want to blacklist + required: true + type: string + responses: + "200": + description: '{peer} models.peer' + /{id}/partner: + post: + tags: + - oc-peer/controllersPeerController + description: |- + add partner peer by peerid +
+ operationId: PeerController.Partner + parameters: + - in: path + name: id + description: the peer id you want to partner + required: true + type: string + responses: + "200": + description: '{peer} models.peer' + /{id}/undo_state: + post: + tags: + - oc-peer/controllersPeerController + description: |- + delete state peer by peerid +
+ operationId: PeerController.DeleteState + parameters: + - in: path + name: id + description: the peer id you want to delete state + required: true + type: string + responses: + "200": + description: '{peer} models.peer' /search/{search}: get: tags: