Change User

This commit is contained in:
mr
2026-01-28 17:30:39 +01:00
parent e650ad479d
commit c6bbeeecbc
9 changed files with 28 additions and 53 deletions

View File

@@ -32,10 +32,9 @@ func (o *ComputeController) Put() {
data := oclib.NewRequest(comp_collection, user, peerID, groups, nil).UpdateOne(res, id) data := oclib.NewRequest(comp_collection, user, peerID, groups, nil).UpdateOne(res, id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_UPDATE, Action: tools.PB_UPDATE,
DataType: comp_dt.EnumIndex(), DataType: comp_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -55,10 +54,9 @@ func (o *ComputeController) Post() {
data := oclib.NewRequest(comp_collection, user, peerID, groups, nil).StoreOne(res) data := oclib.NewRequest(comp_collection, user, peerID, groups, nil).StoreOne(res)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_CREATE, Action: tools.PB_CREATE,
DataType: comp_dt.EnumIndex(), DataType: comp_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -115,10 +113,9 @@ func (o *ComputeController) Delete() {
data := oclib.NewRequest(comp_collection, user, peerID, groups, nil).DeleteOne(id) data := oclib.NewRequest(comp_collection, user, peerID, groups, nil).DeleteOne(id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_DELETE, Action: tools.PB_DELETE,
DataType: comp_dt.EnumIndex(), DataType: comp_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -140,10 +137,9 @@ func (o *ComputeController) SearchDecentralized() {
"search": search, "search": search,
"type": t, "type": t,
}) })
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_SEARCH, Action: tools.PB_SEARCH,
DataType: comp_dt.EnumIndex(), DataType: comp_dt.EnumIndex(),
User: user,
Payload: b, Payload: b,
}) })
if err != nil { if err != nil {

View File

@@ -32,10 +32,9 @@ func (o *DataController) Put() {
data := oclib.NewRequest(data_collection, user, peerID, groups, nil).UpdateOne(res, id) data := oclib.NewRequest(data_collection, user, peerID, groups, nil).UpdateOne(res, id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_UPDATE, Action: tools.PB_UPDATE,
DataType: data_dt.EnumIndex(), DataType: data_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -55,10 +54,9 @@ func (o *DataController) Post() {
data := oclib.NewRequest(data_collection, user, peerID, groups, nil).StoreOne(res) data := oclib.NewRequest(data_collection, user, peerID, groups, nil).StoreOne(res)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_CREATE, Action: tools.PB_CREATE,
DataType: data_dt.EnumIndex(), DataType: data_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -116,10 +114,9 @@ func (o *DataController) Delete() {
data := oclib.NewRequest(data_collection, user, peerID, groups, nil).DeleteOne(id) data := oclib.NewRequest(data_collection, user, peerID, groups, nil).DeleteOne(id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_DELETE, Action: tools.PB_DELETE,
DataType: data_dt.EnumIndex(), DataType: data_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -141,10 +138,9 @@ func (o *DataController) SearchDecentralized() {
"search": search, "search": search,
"type": t, "type": t,
}) })
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_SEARCH, Action: tools.PB_SEARCH,
DataType: data_dt.EnumIndex(), DataType: data_dt.EnumIndex(),
User: user,
Payload: b, Payload: b,
}) })
if err != nil { if err != nil {

View File

@@ -32,10 +32,9 @@ func (o *ProcessingController) Put() {
data := oclib.NewRequest(processing_collection, user, peerID, groups, nil).UpdateOne(res, id) data := oclib.NewRequest(processing_collection, user, peerID, groups, nil).UpdateOne(res, id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_UPDATE, Action: tools.PB_UPDATE,
DataType: processing_dt.EnumIndex(), DataType: processing_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -55,10 +54,9 @@ func (o *ProcessingController) Post() {
data := oclib.NewRequest(processing_collection, user, peerID, groups, nil).StoreOne(res) data := oclib.NewRequest(processing_collection, user, peerID, groups, nil).StoreOne(res)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_CREATE, Action: tools.PB_CREATE,
DataType: processing_dt.EnumIndex(), DataType: processing_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -115,10 +113,9 @@ func (o *ProcessingController) Delete() {
data := oclib.NewRequest(processing_collection, user, peerID, groups, nil).DeleteOne(id) data := oclib.NewRequest(processing_collection, user, peerID, groups, nil).DeleteOne(id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_DELETE, Action: tools.PB_DELETE,
DataType: processing_dt.EnumIndex(), DataType: processing_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -140,10 +137,9 @@ func (o *ProcessingController) SearchDecentralized() {
"search": search, "search": search,
"type": t, "type": t,
}) })
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_SEARCH, Action: tools.PB_SEARCH,
DataType: processing_dt.EnumIndex(), DataType: processing_dt.EnumIndex(),
User: user,
Payload: b, Payload: b,
}) })
if err != nil { if err != nil {

View File

@@ -101,10 +101,9 @@ func (o *ResourceController) SearchDecentralized() {
"search": search, "search": search,
"type": t, "type": t,
}) })
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_SEARCH, Action: tools.PB_SEARCH,
DataType: -1, DataType: -1,
User: user,
Payload: b, Payload: b,
}) })
if err != nil { if err != nil {

View File

@@ -32,10 +32,9 @@ func (o *StorageController) Put() {
data := oclib.NewRequest(storage_collection, user, peerID, groups, nil).UpdateOne(res, id) data := oclib.NewRequest(storage_collection, user, peerID, groups, nil).UpdateOne(res, id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_UPDATE, Action: tools.PB_UPDATE,
DataType: storage_dt.EnumIndex(), DataType: storage_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -55,10 +54,9 @@ func (o *StorageController) Post() {
data := oclib.NewRequest(storage_collection, user, peerID, groups, nil).StoreOne(res) data := oclib.NewRequest(storage_collection, user, peerID, groups, nil).StoreOne(res)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_CREATE, Action: tools.PB_CREATE,
DataType: storage_dt.EnumIndex(), DataType: storage_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -115,10 +113,9 @@ func (o *StorageController) Delete() {
data := oclib.NewRequest(storage_collection, user, peerID, groups, nil).DeleteOne(id) data := oclib.NewRequest(storage_collection, user, peerID, groups, nil).DeleteOne(id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_DELETE, Action: tools.PB_DELETE,
DataType: storage_dt.EnumIndex(), DataType: storage_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -140,10 +137,9 @@ func (o *StorageController) SearchDecentralized() {
"search": search, "search": search,
"type": t, "type": t,
}) })
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_SEARCH, Action: tools.PB_SEARCH,
DataType: storage_dt.EnumIndex(), DataType: storage_dt.EnumIndex(),
User: user,
Payload: b, Payload: b,
}) })
if err != nil { if err != nil {

View File

@@ -32,11 +32,10 @@ func (o *WorkflowController) Put() {
data := oclib.NewRequest(workflow_collection, user, peerID, groups, nil).UpdateOne(res, id) data := oclib.NewRequest(workflow_collection, user, peerID, groups, nil).UpdateOne(res, id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_UPDATE, Action: tools.PB_UPDATE,
Payload: data, Payload: data,
DataType: workflow_dt.EnumIndex(), DataType: workflow_dt.EnumIndex(),
User: user,
}) })
} }
o.Data["json"] = data o.Data["json"] = data
@@ -55,10 +54,9 @@ func (o *WorkflowController) Post() {
data := oclib.NewRequest(workflow_collection, user, peerID, groups, nil).StoreOne(res) data := oclib.NewRequest(workflow_collection, user, peerID, groups, nil).StoreOne(res)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_CREATE, Action: tools.PB_CREATE,
DataType: workflow_dt.EnumIndex(), DataType: workflow_dt.EnumIndex(),
User: user,
Payload: data, Payload: data,
}) })
} }
@@ -115,10 +113,9 @@ func (o *WorkflowController) SearchDecentralized() {
o.ServeJSON() o.ServeJSON()
return return
} }
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
Action: tools.PB_SEARCH, Action: tools.PB_SEARCH,
DataType: workflow_dt.EnumIndex(), DataType: workflow_dt.EnumIndex(),
User: user,
Payload: b, Payload: b,
}) })
Websocket(o.Ctx.Request.Context(), user, o.Ctx.ResponseWriter, o.Ctx.Request) Websocket(o.Ctx.Request.Context(), user, o.Ctx.ResponseWriter, o.Ctx.Request)
@@ -147,10 +144,9 @@ func (o *WorkflowController) Delete() {
data := oclib.NewRequest(workflow_collection, user, peerID, groups, nil).DeleteOne(id) data := oclib.NewRequest(workflow_collection, user, peerID, groups, nil).DeleteOne(id)
if data.Err == "" { if data.Err == "" {
data, _ := json.Marshal(data.Data.Serialize(data.Data)) data, _ := json.Marshal(data.Data.Serialize(data.Data))
infrastructure.EmitNATS(tools.PropalgationMessage{ infrastructure.EmitNATS(user, tools.PropalgationMessage{
DataType: workflow_dt.EnumIndex(), DataType: workflow_dt.EnumIndex(),
Action: tools.PB_DELETE, Action: tools.PB_DELETE,
User: user,
Payload: data, Payload: data,
}) })
} }

2
go.mod
View File

@@ -5,7 +5,7 @@ go 1.24
toolchain go1.24.0 toolchain go1.24.0
require ( require (
cloud.o-forge.io/core/oc-lib v0.0.0-20260128160440-c0d89ea9e1e8 cloud.o-forge.io/core/oc-lib v0.0.0-20260128162702-97cf629e27ec
github.com/beego/beego/v2 v2.3.4 github.com/beego/beego/v2 v2.3.4
github.com/smartystreets/goconvey v1.7.2 github.com/smartystreets/goconvey v1.7.2
) )

2
go.sum
View File

@@ -1,5 +1,7 @@
cloud.o-forge.io/core/oc-lib v0.0.0-20260128160440-c0d89ea9e1e8 h1:h7VHJktaTT8TxO4ld3Xjw3LzMsivr3m7mzbNxb44zes= cloud.o-forge.io/core/oc-lib v0.0.0-20260128160440-c0d89ea9e1e8 h1:h7VHJktaTT8TxO4ld3Xjw3LzMsivr3m7mzbNxb44zes=
cloud.o-forge.io/core/oc-lib v0.0.0-20260128160440-c0d89ea9e1e8/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI= cloud.o-forge.io/core/oc-lib v0.0.0-20260128160440-c0d89ea9e1e8/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI=
cloud.o-forge.io/core/oc-lib v0.0.0-20260128162702-97cf629e27ec h1:/uvrtEt7A5rwqFPHH8yjujlC33HMjQHhWDIK6I08DrA=
cloud.o-forge.io/core/oc-lib v0.0.0-20260128162702-97cf629e27ec/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/beego/beego/v2 v2.3.4 h1:HurQEOGIEhLlPFCTR6ZDuQkybrUl2Ag2i6CdVD2rGiI= github.com/beego/beego/v2 v2.3.4 h1:HurQEOGIEhLlPFCTR6ZDuQkybrUl2Ag2i6CdVD2rGiI=
github.com/beego/beego/v2 v2.3.4/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4= github.com/beego/beego/v2 v2.3.4/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4=

View File

@@ -11,10 +11,10 @@ import (
var SearchStream = map[string]chan resources.ResourceInterface{} var SearchStream = map[string]chan resources.ResourceInterface{}
func EmitNATS(message tools.PropalgationMessage) { func EmitNATS(user string, message tools.PropalgationMessage) {
b, _ := json.Marshal(message) b, _ := json.Marshal(message)
if message.Action == tools.PB_SEARCH { if message.Action == tools.PB_SEARCH {
SearchStream[message.User] = make(chan resources.ResourceInterface, 128) SearchStream[user] = make(chan resources.ResourceInterface, 128)
} }
tools.NewNATSCaller().SetNATSPub(tools.PROPALGATION_EVENT, tools.NATSResponse{ tools.NewNATSCaller().SetNATSPub(tools.PROPALGATION_EVENT, tools.NATSResponse{
FromApp: "oc-catalog", FromApp: "oc-catalog",
@@ -27,15 +27,9 @@ func EmitNATS(message tools.PropalgationMessage) {
func ListenNATS() { func ListenNATS() {
tools.NewNATSCaller().ListenNats(map[tools.NATSMethod]func(tools.NATSResponse){ tools.NewNATSCaller().ListenNats(map[tools.NATSMethod]func(tools.NATSResponse){
tools.CATALOG_SEARCH_EVENT: func(resp tools.NATSResponse) { tools.CATALOG_SEARCH_EVENT: func(resp tools.NATSResponse) {
p := map[string]interface{}{} p, err := resources.ToResource(int(resp.Datatype), resp.Payload)
err := json.Unmarshal(resp.Payload, &p)
if err == nil { if err == nil {
access := oclib.NewRequestAdmin(oclib.LibDataEnum(resp.Datatype), nil) SearchStream[resp.User] <- p
if data := access.LoadOne(fmt.Sprintf("%v", p["id"])); data.Data != nil {
access.UpdateOne(p, fmt.Sprintf("%v", p["id"]))
} else {
access.StoreOne(p)
}
} }
}, },
tools.CREATE_RESOURCE: func(resp tools.NATSResponse) { tools.CREATE_RESOURCE: func(resp tools.NATSResponse) {