Listen nats struct

This commit is contained in:
mr
2026-02-06 11:09:46 +01:00
parent 07abce0e06
commit 1a241183ef
4 changed files with 16 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ import (
"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/resources"
"cloud.o-forge.io/core/oc-lib/tools"
)
@@ -29,15 +30,19 @@ func ListenNATS() {
tools.CATALOG_SEARCH_EVENT: func(resp tools.NATSResponse) {
p, err := resources.ToResource(int(resp.Datatype), resp.Payload)
if err == nil {
SearchStream[resp.User] <- p
SearchStream[resp.User] <- p // TODO when do we update it in our catalog ?
}
},
tools.CREATE_RESOURCE: func(resp tools.NATSResponse) {
if resp.FromApp == config.GetAppName() {
return
}
p := map[string]interface{}{}
err := json.Unmarshal(resp.Payload, &p)
if err == nil {
access := oclib.NewRequestAdmin(oclib.LibDataEnum(resp.Datatype), nil)
if data := access.LoadOne(fmt.Sprintf("%v", p["id"])); data.Data != nil {
delete(p, "id")
access.UpdateOne(p, fmt.Sprintf("%v", p["id"]))
} else {
access.StoreOne(p)
@@ -45,6 +50,9 @@ func ListenNATS() {
}
},
tools.REMOVE_RESOURCE: func(resp tools.NATSResponse) {
if resp.FromApp == config.GetAppName() {
return
}
p := map[string]interface{}{}
access := oclib.NewRequestAdmin(oclib.LibDataEnum(resp.Datatype), nil)
err := json.Unmarshal(resp.Payload, &p)