Nats Improve
This commit is contained in:
@@ -6,10 +6,19 @@ import (
|
||||
|
||||
oclib "cloud.o-forge.io/core/oc-lib"
|
||||
"cloud.o-forge.io/core/oc-lib/config"
|
||||
"cloud.o-forge.io/core/oc-lib/models/peer"
|
||||
"cloud.o-forge.io/core/oc-lib/models/resources"
|
||||
"cloud.o-forge.io/core/oc-lib/tools"
|
||||
)
|
||||
|
||||
var ressourceCols = []oclib.LibDataEnum{
|
||||
oclib.LibDataEnum(oclib.COMPUTE_RESOURCE),
|
||||
oclib.LibDataEnum(oclib.DATA_RESOURCE),
|
||||
oclib.LibDataEnum(oclib.PROCESSING_RESOURCE),
|
||||
oclib.LibDataEnum(oclib.STORAGE_RESOURCE),
|
||||
oclib.LibDataEnum(oclib.WORKFLOW_RESOURCE),
|
||||
}
|
||||
|
||||
var SearchStream = map[string]chan resources.ResourceInterface{}
|
||||
|
||||
func EmitNATS(user string, message tools.PropalgationMessage) {
|
||||
@@ -51,6 +60,22 @@ func ListenNATS() {
|
||||
SearchStream[resp.User] <- p // TODO when do we update it in our catalog ?
|
||||
}
|
||||
},
|
||||
tools.CREATE_PEER: func(resp tools.NATSResponse) {
|
||||
if resp.FromApp == config.GetAppName() {
|
||||
return
|
||||
}
|
||||
var p peer.Peer
|
||||
err := json.Unmarshal(resp.Payload, &p)
|
||||
if err == nil && p.Relation == peer.BLACKLIST {
|
||||
for _, col := range ressourceCols {
|
||||
access := oclib.NewRequestAdmin(col, nil)
|
||||
datas := access.Search(nil, p.UUID, false)
|
||||
for _, data := range datas.Data {
|
||||
access.DeleteOne(data.GetID())
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
tools.CREATE_RESOURCE: func(resp tools.NATSResponse) {
|
||||
if resp.FromApp == config.GetAppName() {
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user