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,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user