Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 35s
23 lines
642 B
Plaintext
23 lines
642 B
Plaintext
;; next/genesis/projections/by-object.sx
|
|
;;
|
|
;; Index of activities that reference each :object CID. Maps
|
|
;; object-CID to the list of activity CIDs that target it
|
|
;; (Update / Delete / Announce / etc.). Used for "show me
|
|
;; everything that happened to X" queries.
|
|
|
|
(DefineProjection
|
|
:name "by-object"
|
|
:doc "Object CID -> list of activity CIDs that target it."
|
|
:initial-state {}
|
|
:fold (fn
|
|
(state act)
|
|
(let
|
|
((obj-cid (-> act :object)) (cid (-> act :cid)))
|
|
(if
|
|
(string? obj-cid)
|
|
(assoc
|
|
state
|
|
obj-cid
|
|
(append (or (get state obj-cid) (list)) (list cid)))
|
|
state))))
|