Lightest nats behaviors, less code

This commit is contained in:
mr
2026-02-18 14:34:30 +01:00
parent 1b3b33163f
commit aed1a26d9d
10 changed files with 210 additions and 325 deletions

View File

@@ -21,7 +21,7 @@ type PeerController struct {
// @Param search path string true "the word search you want to get" // @Param search path string true "the word search you want to get"
// @Param is_draft query string false // @Param is_draft query string false
// @Success 200 {workspace} models.workspace // @Success 200 {workspace} models.workspace
// @router /search/:search [get] // @router /peer/search/:search [get]
func (o *PeerController) Search() { func (o *PeerController) Search() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request) user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
// store and return Id or post with UUIDLibDataEnum // store and return Id or post with UUIDLibDataEnum
@@ -35,7 +35,7 @@ func (o *PeerController) Search() {
// @Description find all peer // @Description find all peer
// @Param is_draft query string false // @Param is_draft query string false
// @Success 200 {peer} models.peer // @Success 200 {peer} models.peer
// @router / [get] // @router /peer [get]
func (o *PeerController) GetAll() { func (o *PeerController) GetAll() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request) user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
isDraft := o.Ctx.Input.Query("is_draft") isDraft := o.Ctx.Input.Query("is_draft")
@@ -56,7 +56,7 @@ func (o *PeerController) GetAll() {
// @Description find peer by peerid // @Description find peer by peerid
// @Param id path string true "the peer id you want to get" // @Param id path string true "the peer id you want to get"
// @Success 200 {peer} models.peer // @Success 200 {peer} models.peer
// @router /:id [get] // @router /peer/:id [get]
func (o *PeerController) Get() { func (o *PeerController) Get() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request) user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id") id := o.Ctx.Input.Param(":id")
@@ -68,7 +68,7 @@ func (o *PeerController) Get() {
// @Description find peer by peerid // @Description find peer by peerid
// @Param id path string true "the peer id you want to get" // @Param id path string true "the peer id you want to get"
// @Success 200 {peer} models.peer // @Success 200 {peer} models.peer
// @router /:from/link/:relation [get] // @router /peer/:from/link/:relation [get]
func (o *PeerController) Link() { func (o *PeerController) Link() {
_, peerID, _ := oclib.ExtractTokenInfo(*o.Ctx.Request) _, peerID, _ := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":from") id := o.Ctx.Input.Param(":from")
@@ -121,7 +121,7 @@ func (o *PeerController) Link() {
// @Description add unknown peer by peerid // @Description add unknown peer by peerid
// @Param id path string true "the peer id you want to blacklist" // @Param id path string true "the peer id you want to blacklist"
// @Success 200 {peer} models.peer // @Success 200 {peer} models.peer
// @router /:id/unknown [post] // @router /peer/:id/unknown [post]
func (o *PeerController) Unknown() { 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") id := o.Ctx.Input.Param(":id")
@@ -134,7 +134,7 @@ func (o *PeerController) Unknown() {
// @Description add partner peer by peerid // @Description add partner peer by peerid
// @Param id path string true "the peer id you want to blacklist" // @Param id path string true "the peer id you want to blacklist"
// @Success 200 {peer} models.peer // @Success 200 {peer} models.peer
// @router /:id/partner [post] // @router /peer/:id/partner [post]
func (o *PeerController) Partner() { 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") id := o.Ctx.Input.Param(":id")
@@ -147,7 +147,7 @@ func (o *PeerController) Partner() {
// @Description add blacklist peer by peerid // @Description add blacklist peer by peerid
// @Param id path string true "the peer id you want to blacklist" // @Param id path string true "the peer id you want to blacklist"
// @Success 200 {peer} models.peer // @Success 200 {peer} models.peer
// @router /:id/blacklist [post] // @router /peer/:id/blacklist [post]
func (o *PeerController) Blacklist() { 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") id := o.Ctx.Input.Param(":id")
@@ -204,10 +204,11 @@ func (o *PeerController) changeRelation(dest *peer.Peer, relation peer.PeerRelat
if data.Err != "" && data.Data != nil { if data.Err != "" && data.Data != nil {
b, _ := json.Marshal(data.Data) b, _ := json.Marshal(data.Data)
go tools.NewNATSCaller().SetNATSPub(tools.CREATE_PEER, tools.NATSResponse{ go tools.NewNATSCaller().SetNATSPub(tools.CREATE_RESOURCE, tools.NATSResponse{
FromApp: config.GetAppName(), FromApp: config.GetAppName(),
Datatype: tools.DataType(tools.PEER), Datatype: tools.DataType(tools.PEER),
Method: int(tools.CREATE_PEER), Method: int(tools.CREATE_RESOURCE),
SearchAttr: "peer_id",
Payload: b, Payload: b,
}) })
} }
@@ -230,7 +231,7 @@ func (o *PeerController) changeRelation(dest *peer.Peer, relation peer.PeerRelat
// @Description delete state peer by peerid // @Description delete state peer by peerid
// @Param id path string true "the peer id you want to delete state" // @Param id path string true "the peer id you want to delete state"
// @Success 200 {peer} models.peer // @Success 200 {peer} models.peer
// @router /:id/undo_state [post] // @router /peer/:id/undo_state [post]
func (o *PeerController) DeleteState() { func (o *PeerController) DeleteState() {
user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request) user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
id := o.Ctx.Input.Param(":id") id := o.Ctx.Input.Param(":id")

View File

@@ -34,7 +34,8 @@ func (o *StatusController) Status() {
var address map[string]string var address map[string]string
json.Unmarshal(o.Ctx.Input.CopyBody(10000), &address) json.Unmarshal(o.Ctx.Input.CopyBody(10000), &address)
api := tools.API{} api := tools.API{}
state, services, err := api.CheckRemoteAPIs([]tools.DataType{tools.BOOKING, tools.WORKFLOW, tools.WORKSPACE, state, services, err := api.CheckRemoteAPIs([]tools.DataType{
tools.BOOKING, tools.WORKFLOW, tools.WORKSPACE,
tools.COLLABORATIVE_AREA, tools.DATA_RESOURCE}) // check if the services are alive tools.COLLABORATIVE_AREA, tools.DATA_RESOURCE}) // check if the services are alive
errSTR := "" errSTR := ""
if err != nil { if err != nil {

8
go.mod
View File

@@ -5,12 +5,16 @@ go 1.24.6
toolchain go1.24.11 toolchain go1.24.11
require ( require (
cloud.o-forge.io/core/oc-lib v0.0.0-20260205143023-b9e7ce20b6d9 cloud.o-forge.io/core/oc-lib v0.0.0-20260218132556-0b41e2505e2f
github.com/beego/beego/v2 v2.3.8 github.com/beego/beego/v2 v2.3.8
github.com/smartystreets/goconvey v1.7.2 github.com/smartystreets/goconvey v1.7.2
) )
require gopkg.in/yaml.v2 v2.2.8 // indirect require (
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
github.com/libp2p/go-libp2p/core v0.43.0-rc2 // indirect
gopkg.in/yaml.v2 v2.2.8 // indirect
)
require ( require (
github.com/beego/beego v1.12.14 github.com/beego/beego v1.12.14

8
go.sum
View File

@@ -18,6 +18,10 @@ cloud.o-forge.io/core/oc-lib v0.0.0-20260205141747-543d28e5d256 h1:lVwHHTJpwsoII
cloud.o-forge.io/core/oc-lib v0.0.0-20260205141747-543d28e5d256/go.mod h1:T0UCxRd8w+qCVVC0NEyDiWIGC5ADwEbQ7hFcvftd4Ks= cloud.o-forge.io/core/oc-lib v0.0.0-20260205141747-543d28e5d256/go.mod h1:T0UCxRd8w+qCVVC0NEyDiWIGC5ADwEbQ7hFcvftd4Ks=
cloud.o-forge.io/core/oc-lib v0.0.0-20260205143023-b9e7ce20b6d9 h1:NoeL4aA2/z2MEqU3YWbafz6vXkRf4DZNaYSKFpv6R2k= cloud.o-forge.io/core/oc-lib v0.0.0-20260205143023-b9e7ce20b6d9 h1:NoeL4aA2/z2MEqU3YWbafz6vXkRf4DZNaYSKFpv6R2k=
cloud.o-forge.io/core/oc-lib v0.0.0-20260205143023-b9e7ce20b6d9/go.mod h1:T0UCxRd8w+qCVVC0NEyDiWIGC5ADwEbQ7hFcvftd4Ks= cloud.o-forge.io/core/oc-lib v0.0.0-20260205143023-b9e7ce20b6d9/go.mod h1:T0UCxRd8w+qCVVC0NEyDiWIGC5ADwEbQ7hFcvftd4Ks=
cloud.o-forge.io/core/oc-lib v0.0.0-20260212123952-403913d8cf13 h1:DNIPQ7C+7wjbj5RUx29wLxuIe/wiSOcuUMlLRIv6Fvs=
cloud.o-forge.io/core/oc-lib v0.0.0-20260212123952-403913d8cf13/go.mod h1:jmyBwmsac/4V7XPL347qawF60JsBCDmNAMfn/ySXKYo=
cloud.o-forge.io/core/oc-lib v0.0.0-20260218132556-0b41e2505e2f h1:OFuJhi23D/UNwn8Jo30HDt/Sm2Ea1ljUk6IVicYSuAQ=
cloud.o-forge.io/core/oc-lib v0.0.0-20260218132556-0b41e2505e2f/go.mod h1:jmyBwmsac/4V7XPL347qawF60JsBCDmNAMfn/ySXKYo=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
@@ -56,6 +60,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvwDRwnI3hwNaAHRnc=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40=
github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI=
github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
@@ -137,6 +143,8 @@ github.com/ledisdb/ledisdb v0.0.0-20200510135210-d35789ec47e6/go.mod h1:n931TsDu
github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/libp2p/go-libp2p/core v0.43.0-rc2 h1:1X1aDJNWhMfodJ/ynbaGLkgnC8f+hfBIqQDrzxFZOqI=
github.com/libp2p/go-libp2p/core v0.43.0-rc2/go.mod h1:NYeJ9lvyBv9nbDk2IuGb8gFKEOkIv/W5YRIy1pAJB2Q=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=

View File

@@ -1,48 +0,0 @@
package infrastructure
import (
"encoding/json"
"fmt"
oclib "cloud.o-forge.io/core/oc-lib"
"cloud.o-forge.io/core/oc-lib/config"
"cloud.o-forge.io/core/oc-lib/models"
"cloud.o-forge.io/core/oc-lib/models/peer"
"cloud.o-forge.io/core/oc-lib/tools"
)
func ListenNATS() {
tools.NewNATSCaller().ListenNats(map[tools.NATSMethod]func(tools.NATSResponse){
tools.CREATE_PEER: func(resp tools.NATSResponse) {
if resp.FromApp == config.GetAppName() {
return
}
logger := oclib.GetLogger()
m := map[string]interface{}{}
err := json.Unmarshal(resp.Payload, &m)
if err != nil {
logger.Err(err)
return
}
search := fmt.Sprintf("%v", m["peer_id"])
access := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), nil)
if data := access.Search(nil, search, false); len(data.Data) > 0 {
delete(m, "id")
access.UpdateOne(m, data.Data[0].GetID())
} else {
model := models.Model(access.Collection.EnumIndex())
model = model.Deserialize(m, model)
access.StoreOne(m)
}
},
tools.REMOVE_PEER: func(resp tools.NATSResponse) {
if resp.FromApp == config.GetAppName() {
return
}
p := &peer.Peer{}
access := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), nil)
access.DeleteOne(p.GetID())
},
})
}

View File

@@ -1,10 +1,10 @@
package main package main
import ( import (
"oc-peer/infrastructure"
_ "oc-peer/routers" _ "oc-peer/routers"
oclib "cloud.o-forge.io/core/oc-lib" oclib "cloud.o-forge.io/core/oc-lib"
"cloud.o-forge.io/core/oc-lib/tools"
beego "github.com/beego/beego/v2/server/web" beego "github.com/beego/beego/v2/server/web"
) )
@@ -12,6 +12,6 @@ const appname = "oc-peer"
func main() { func main() {
oclib.InitAPI(appname) oclib.InitAPI(appname)
go infrastructure.ListenNATS() go oclib.InitNATSDecentralizedEmitter(tools.PEER)
beego.Run() beego.Run()
} }

BIN
oc-peer

Binary file not shown.

View File

@@ -10,7 +10,7 @@ func init() {
beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "GetAll", Method: "GetAll",
Router: `/`, Router: `/peer`,
AllowHTTPMethods: []string{"get"}, AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(), MethodParams: param.Make(),
Filters: nil, Filters: nil,
@@ -19,7 +19,7 @@ func init() {
beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "Link", Method: "Link",
Router: `/:from/link/:relation`, Router: `/peer/:from/link/:relation`,
AllowHTTPMethods: []string{"get"}, AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(), MethodParams: param.Make(),
Filters: nil, Filters: nil,
@@ -28,7 +28,7 @@ func init() {
beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "Get", Method: "Get",
Router: `/:id`, Router: `/peer/:id`,
AllowHTTPMethods: []string{"get"}, AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(), MethodParams: param.Make(),
Filters: nil, Filters: nil,
@@ -37,7 +37,7 @@ func init() {
beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "Blacklist", Method: "Blacklist",
Router: `/:id/blacklist`, Router: `/peer/:id/blacklist`,
AllowHTTPMethods: []string{"post"}, AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(), MethodParams: param.Make(),
Filters: nil, Filters: nil,
@@ -46,7 +46,7 @@ func init() {
beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "Partner", Method: "Partner",
Router: `/:id/partner`, Router: `/peer/:id/partner`,
AllowHTTPMethods: []string{"post"}, AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(), MethodParams: param.Make(),
Filters: nil, Filters: nil,
@@ -55,7 +55,7 @@ func init() {
beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "DeleteState", Method: "DeleteState",
Router: `/:id/undo_state`, Router: `/peer/:id/undo_state`,
AllowHTTPMethods: []string{"post"}, AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(), MethodParams: param.Make(),
Filters: nil, Filters: nil,
@@ -64,7 +64,7 @@ func init() {
beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "Unknown", Method: "Unknown",
Router: `/:id/unknown`, Router: `/peer/:id/unknown`,
AllowHTTPMethods: []string{"post"}, AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(), MethodParams: param.Make(),
Filters: nil, Filters: nil,
@@ -73,7 +73,7 @@ func init() {
beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"], beego.GlobalControllerRouter["oc-peer/controllers:PeerController"] = append(beego.GlobalControllerRouter["oc-peer/controllers:PeerController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "Search", Method: "Search",
Router: `/search/:search`, Router: `/peer/search/:search`,
AllowHTTPMethods: []string{"get"}, AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(), MethodParams: param.Make(),
Filters: nil, Filters: nil,

View File

@@ -15,7 +15,7 @@
}, },
"basePath": "/oc/", "basePath": "/oc/",
"paths": { "paths": {
"/": { "/peer": {
"get": { "get": {
"tags": [ "tags": [
"oc-peer/controllersPeerController" "oc-peer/controllersPeerController"
@@ -37,59 +37,7 @@
} }
} }
}, },
"/distributed/search/{search}": { "/peer/search/{search}": {
"get": {
"tags": [
"distributed"
],
"description": "search workspace\n\u003cbr\u003e",
"operationId": "DistributedPeerController.Search",
"parameters": [
{
"in": "path",
"name": "search",
"description": "the word search you want to get",
"required": true,
"type": "string"
},
{
"in": "query",
"name": "is_draft",
"description": "false",
"type": "string"
}
],
"responses": {
"200": {
"description": "{workspace} models.workspace"
}
}
}
},
"/distributed/{name}": {
"get": {
"tags": [
"distributed"
],
"description": "find peer by peerid\n\u003cbr\u003e",
"operationId": "DistributedPeerController.Get",
"parameters": [
{
"in": "path",
"name": "id",
"description": "the peer id you want to get",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{peer} models.peer"
}
}
}
},
"/search/{search}": {
"get": { "get": {
"tags": [ "tags": [
"oc-peer/controllersPeerController" "oc-peer/controllersPeerController"
@@ -118,6 +66,144 @@
} }
} }
}, },
"/peer/{from}/link/{relation}": {
"get": {
"tags": [
"oc-peer/controllersPeerController"
],
"description": "find peer by peerid\n\u003cbr\u003e",
"operationId": "PeerController.Link",
"parameters": [
{
"in": "path",
"name": "id",
"description": "the peer id you want to get",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{peer} models.peer"
}
}
}
},
"/peer/{id}": {
"get": {
"tags": [
"oc-peer/controllersPeerController"
],
"description": "find peer by peerid\n\u003cbr\u003e",
"operationId": "PeerController.Get",
"parameters": [
{
"in": "path",
"name": "id",
"description": "the peer id you want to get",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{peer} models.peer"
}
}
}
},
"/peer/{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"
}
}
}
},
"/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 blacklist",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{peer} models.peer"
}
}
}
},
"/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"
}
}
}
},
"/peer/{id}/unknown": {
"post": {
"tags": [
"oc-peer/controllersPeerController"
],
"description": "add unknown peer by peerid\n\u003cbr\u003e",
"operationId": "PeerController.unknown",
"parameters": [
{
"in": "path",
"name": "id",
"description": "the peer id you want to blacklist",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{peer} models.peer"
}
}
}
},
"/status/": { "/status/": {
"post": { "post": {
"tags": [ "tags": [
@@ -155,141 +241,12 @@
} }
} }
} }
},
"/{id}": {
"get": {
"tags": [
"oc-peer/controllersPeerController"
],
"description": "find peer by peerid\n\u003cbr\u003e",
"operationId": "PeerController.Get",
"parameters": [
{
"in": "path",
"name": "id",
"description": "the peer id you want to get",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "{peer} models.peer"
}
}
},
"put": {
"tags": [
"oc-peer/controllersPeerController"
],
"description": "create peers\n\u003cbr\u003e",
"operationId": "PeerController.Update",
"parameters": [
{
"in": "path",
"name": "id",
"description": "the peer id you want to get",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "The peer content",
"required": true,
"schema": {
"$ref": "#/definitions/models.peer"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/models.peer"
}
}
}
}
},
"/{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": { "definitions": {
"list": { "list": {
"title": "list", "title": "list",
"type": "object" "type": "object"
},
"models.peer": {
"title": "peer",
"type": "object"
} }
}, },
"tags": [ "tags": [
@@ -301,10 +258,6 @@
"name": "oc-peer/controllersPeerController", "name": "oc-peer/controllersPeerController",
"description": "Operations about workflow\n" "description": "Operations about workflow\n"
}, },
{
"name": "distributed",
"description": "Operations about workflow\n"
},
{ {
"name": "version", "name": "version",
"description": "VersionController operations for Version\n" "description": "VersionController operations for Version\n"

View File

@@ -12,7 +12,7 @@ info:
url: https://www.gnu.org/licenses/agpl-3.0.html url: https://www.gnu.org/licenses/agpl-3.0.html
basePath: /oc/ basePath: /oc/
paths: paths:
/: /peer:
get: get:
tags: tags:
- oc-peer/controllersPeerController - oc-peer/controllersPeerController
@@ -28,7 +28,24 @@ paths:
responses: responses:
"200": "200":
description: '{peer} models.peer' description: '{peer} models.peer'
/{id}: /peer/{from}/link/{relation}:
get:
tags:
- oc-peer/controllersPeerController
description: |-
find peer by peerid
<br>
operationId: PeerController.Link
parameters:
- in: path
name: id
description: the peer id you want to get
required: true
type: string
responses:
"200":
description: '{peer} models.peer'
/peer/{id}:
get: get:
tags: tags:
- oc-peer/controllersPeerController - oc-peer/controllersPeerController
@@ -45,31 +62,7 @@ paths:
responses: responses:
"200": "200":
description: '{peer} models.peer' description: '{peer} models.peer'
put: /peer/{id}/blacklist:
tags:
- oc-peer/controllersPeerController
description: |-
create peers
<br>
operationId: PeerController.Update
parameters:
- in: path
name: id
description: the peer id you want to get
required: true
type: string
- in: body
name: body
description: The peer content
required: true
schema:
$ref: '#/definitions/models.peer'
responses:
"200":
description: ""
schema:
$ref: '#/definitions/models.peer'
/{id}/blacklist:
post: post:
tags: tags:
- oc-peer/controllersPeerController - oc-peer/controllersPeerController
@@ -86,7 +79,7 @@ paths:
responses: responses:
"200": "200":
description: '{peer} models.peer' description: '{peer} models.peer'
/{id}/partner: /peer/{id}/partner:
post: post:
tags: tags:
- oc-peer/controllersPeerController - oc-peer/controllersPeerController
@@ -97,13 +90,13 @@ paths:
parameters: parameters:
- in: path - in: path
name: id name: id
description: the peer id you want to partner description: the peer id you want to blacklist
required: true required: true
type: string type: string
responses: responses:
"200": "200":
description: '{peer} models.peer' description: '{peer} models.peer'
/{id}/undo_state: /peer/{id}/undo_state:
post: post:
tags: tags:
- oc-peer/controllersPeerController - oc-peer/controllersPeerController
@@ -120,45 +113,24 @@ paths:
responses: responses:
"200": "200":
description: '{peer} models.peer' description: '{peer} models.peer'
/distributed/{name}: /peer/{id}/unknown:
get: post:
tags: tags:
- distributed - oc-peer/controllersPeerController
description: |- description: |-
find peer by peerid add unknown peer by peerid
<br> <br>
operationId: DistributedPeerController.Get operationId: PeerController.unknown
parameters: parameters:
- in: path - in: path
name: id name: id
description: the peer id you want to get description: the peer id you want to blacklist
required: true required: true
type: string type: string
responses: responses:
"200": "200":
description: '{peer} models.peer' description: '{peer} models.peer'
/distributed/search/{search}: /peer/search/{search}:
get:
tags:
- distributed
description: |-
search workspace
<br>
operationId: DistributedPeerController.Search
parameters:
- in: path
name: search
description: the word search you want to get
required: true
type: string
- in: query
name: is_draft
description: "false"
type: string
responses:
"200":
description: '{workspace} models.workspace'
/search/{search}:
get: get:
tags: tags:
- oc-peer/controllersPeerController - oc-peer/controllersPeerController
@@ -211,9 +183,6 @@ definitions:
list: list:
title: list title: list
type: object type: object
models.peer:
title: peer
type: object
tags: tags:
- name: status - name: status
description: | description: |
@@ -221,9 +190,6 @@ tags:
- name: oc-peer/controllersPeerController - name: oc-peer/controllersPeerController
description: | description: |
Operations about workflow Operations about workflow
- name: distributed
description: |
Operations about workflow
- name: version - name: version
description: | description: |
VersionController operations for Version VersionController operations for Version