Add emission on Workflow
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"fmt"
|
||||
|
||||
oclib "cloud.o-forge.io/core/oc-lib"
|
||||
"cloud.o-forge.io/core/oc-lib/models/workflow"
|
||||
"cloud.o-forge.io/core/oc-lib/tools"
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
)
|
||||
@@ -55,7 +56,7 @@ func (o *WorkflowController) Search() {
|
||||
// @Success 200 {object} models.workflow
|
||||
// @router /:id [put]
|
||||
func (o *WorkflowController) Put() {
|
||||
// user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
user, _, _ := oclib.ExtractTokenInfo(*o.Ctx.Request)
|
||||
// store and return Id or post with UUID
|
||||
var res map[string]interface{}
|
||||
id := o.Ctx.Input.Param(":id")
|
||||
@@ -66,7 +67,9 @@ func (o *WorkflowController) Put() {
|
||||
o.Ctx.Input.Param("is_remote")
|
||||
// data := oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, caller).UpdateOne(res, id)
|
||||
data := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.WORKFLOW), caller).UpdateOne(res, id)
|
||||
|
||||
if wf := data.ToWorkflow(); wf != nil {
|
||||
EmitNATS(user, tools.CREATE_RESOURCE, wf)
|
||||
}
|
||||
o.Data["json"] = data
|
||||
o.ServeJSON()
|
||||
}
|
||||
@@ -145,7 +148,11 @@ func (o *WorkflowController) Delete() {
|
||||
id := o.Ctx.Input.Param(":id")
|
||||
caller := tools.NewHTTPCaller(paths) // create a new HTTP caller
|
||||
caller.Disabled = oclib.IsQueryParamsEquals(o.Ctx.Input, "is_remote", true)
|
||||
o.Data["json"] = oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, caller).DeleteOne(id)
|
||||
data := oclib.NewRequest(oclib.LibDataEnum(oclib.WORKFLOW), user, peerID, groups, caller).DeleteOne(id)
|
||||
if wf := data.ToWorkflow(); wf != nil {
|
||||
EmitNATS(user, tools.REMOVE_RESOURCE, wf)
|
||||
}
|
||||
o.Data["json"] = data
|
||||
o.ServeJSON()
|
||||
}
|
||||
|
||||
@@ -206,3 +213,14 @@ func (o *WorkflowController) Check() {
|
||||
}
|
||||
o.ServeJSON()
|
||||
}
|
||||
|
||||
func EmitNATS(user string, method tools.NATSMethod, wf *workflow.Workflow) {
|
||||
if b, err := json.Marshal(wf); err == nil {
|
||||
tools.NewNATSCaller().SetNATSPub(method, tools.NATSResponse{
|
||||
FromApp: "oc-catalog",
|
||||
Datatype: tools.WORKFLOW,
|
||||
Method: int(method),
|
||||
Payload: b,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
2
go.mod
2
go.mod
@@ -3,7 +3,7 @@ module oc-workflow
|
||||
go 1.24.6
|
||||
|
||||
require (
|
||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260219084344-9662ac6d678c
|
||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260223092355-12c506e9a7b1
|
||||
github.com/beego/beego/v2 v2.3.7
|
||||
github.com/nats-io/nats.go v1.41.2
|
||||
github.com/smartystreets/goconvey v1.7.2
|
||||
|
||||
4
go.sum
4
go.sum
@@ -28,6 +28,10 @@ cloud.o-forge.io/core/oc-lib v0.0.0-20260218132556-0b41e2505e2f h1:OFuJhi23D/UNw
|
||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260218132556-0b41e2505e2f/go.mod h1:jmyBwmsac/4V7XPL347qawF60JsBCDmNAMfn/ySXKYo=
|
||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260219084344-9662ac6d678c h1:brsB6se+xMv386Vf6dSu3In2QZSH4EqgcAYkI4fNpJw=
|
||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260219084344-9662ac6d678c/go.mod h1:jmyBwmsac/4V7XPL347qawF60JsBCDmNAMfn/ySXKYo=
|
||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260223083003-28713536358b h1:Tx8hvmJJvt8BYNQsKGYuyCVnQHG59dfyYGP0+NDNxVs=
|
||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260223083003-28713536358b/go.mod h1:jmyBwmsac/4V7XPL347qawF60JsBCDmNAMfn/ySXKYo=
|
||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260223092355-12c506e9a7b1 h1:LI96GUAlCBLbPxJlEovZCbgR+CdSl2Ua70jQ2A0VVrU=
|
||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260223092355-12c506e9a7b1/go.mod h1:jmyBwmsac/4V7XPL347qawF60JsBCDmNAMfn/ySXKYo=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/beego/beego/v2 v2.3.7 h1:z4btKtjU/rfp5BiYHkGD2QPjK9i1E9GH+I7vfhn6Agk=
|
||||
github.com/beego/beego/v2 v2.3.7/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4=
|
||||
|
||||
Reference in New Issue
Block a user