Liking cljdoc? Tell your friends :D

telsos.lib.es.store


Storeclj/sprotocol

insert-agg!clj/s

(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!clj/s

(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-idclj/s

(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-versionclj/s

(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-idclj/s

(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!clj/s

(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

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close