Listen nats struct
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user