(insert-agg! store type attrs)Insert a new aggregate. Store generates the id. Returns: {:id uuid :valid-from inst}
Insert a new aggregate. Store generates the id.
Returns: {:id uuid :valid-from inst}(insert-event! store type agg-id agg-type agg-ver request-id inter-id payload)Insert a new event. Params: type keyword agg-id uuid agg-type keyword agg-ver pos-int request-id uuid inter-id uuid payload JsonEdn}
Returns: {:id uuid :created-at inst} Throws on (agg-type, agg-id, agg-ver) already occupied.
Insert a new event.
Params: type keyword
agg-id uuid
agg-type keyword
agg-ver pos-int
request-id uuid
inter-id uuid
payload JsonEdn}
Returns: {:id uuid :created-at inst}
Throws on (agg-type, agg-id, agg-ver) already occupied.(select-agg-by-id store type id)Select aggregate by id. Returns: Agg or nil.
Select aggregate by id. Returns: Agg or nil.
(select-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.
(select-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
(update-agg! store type id ver attrs)Update an existing aggregate. ver: new version to set (caller must pass prev-ver + 1). CAS conflict enforced at the events level, not here. Returns: {:valid-from inst} or nil if not found.
Update an existing aggregate.
ver: new version to set (caller must pass prev-ver + 1).
CAS conflict enforced at the events level, not here.
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 |