(add-agg! store agg-type agg-attrs)Insert a new aggregate. Returns {:id uuid :valid-from inst}.
Insert a new aggregate. Returns {:id uuid :valid-from inst}.
(add-event! store
{:keys [type agg-id agg-type agg-ver request-id inter-id payload]})Insert a new event. Returns {:id uuid :created-at inst}. Throws on (agg-type, agg-id, agg-ver) conflict.
Insert a new event. Returns {:id uuid :created-at inst}.
Throws on (agg-type, agg-id, agg-ver) conflict.(get-agg-by-id store agg-type agg-id)Select aggregate by id. Returns Agg or nil.
Select aggregate by id. Returns Agg or nil.
(get-event-by-agg-version store agg-type agg-id agg-ver)Select a single event by aggregate identity and version. Returns: Event or nil.
Select a single event by aggregate identity and version. Returns: Event or nil.
(get-events-by-agg-id store agg-type agg-id)Select all events for an aggregate, ordered by :agg-ver. Returns: seq of Event.
Select all events for an aggregate, ordered by :agg-ver. Returns: seq of Event.
(modify-agg! store agg-type agg-id agg-ver agg-attrs)Update an existing aggregate. Returns {:valid-from inst} or nil if not found.
Update an existing aggregate. Returns {:valid-from inst} or nil if not found.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |