Extend
This commit is contained in:
@@ -21,6 +21,7 @@ var ressourceCols = []oclib.LibDataEnum{
|
||||
}
|
||||
|
||||
var SearchMu sync.RWMutex
|
||||
var SearchStreamExtend = map[string][]string{}
|
||||
var SearchStream = map[string]chan []byte{}
|
||||
var SearchStreamSeen = map[string][]string{}
|
||||
|
||||
@@ -31,6 +32,7 @@ func EmitNATS(user string, groups []string, message tools.PropalgationMessage) {
|
||||
SearchMu.Lock()
|
||||
SearchStream[user] = make(chan []byte, 128)
|
||||
SearchStreamSeen[user] = make([]string, 128)
|
||||
SearchStreamExtend[user] = make([]string, 128)
|
||||
SearchMu.Unlock()
|
||||
tools.NewNATSCaller().SetNATSPub(tools.PROPALGATION_EVENT, tools.NATSResponse{
|
||||
FromApp: "oc-catalog",
|
||||
@@ -76,14 +78,21 @@ func ListenNATS() {
|
||||
p.SetNotInCatalog(true)
|
||||
return
|
||||
}
|
||||
|
||||
SearchMu.Lock()
|
||||
wrapped, merr := json.Marshal(map[string]interface{}{
|
||||
"dtype": p.GetType(),
|
||||
"data": p,
|
||||
})
|
||||
if a := SearchStreamExtend[resp.User]; len(a) > 0 {
|
||||
wrapped, merr = json.Marshal(map[string]interface{}{
|
||||
"dtype": p.GetType(),
|
||||
"data": oclib.GetExtend(p, p.Extend(a...), map[tools.DataType]map[string]interface{}{}),
|
||||
})
|
||||
}
|
||||
if merr != nil {
|
||||
return
|
||||
}
|
||||
SearchMu.Lock()
|
||||
if SearchStreamSeen[resp.User] != nil && slices.Contains(SearchStreamSeen[resp.User], p.GetID()) {
|
||||
SearchStream[resp.User] <- wrapped // TODO when do we update it in our catalog ?
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user