eventric-storage

0.4.0 • Public • Published

eventric storage definition

Definition of the eventric storage interface and feature specs which can be executed for storage implementations.

API

eventric storage implementations must conform to the following interface:

saveDomainEvent(domainEvent)

Saves a domain event into the stores and returns a promise which resolves after saving

findDomainEvents({aggregateId, startingAtTimestamp})

Searches for domain events in the storage and returns a promise which resolves with the found domain events. If an aggregate id is specified, only domain events with matching property aggregate.id must be returned. If a timestamp is specified, only domain events with property timestamp equal of greater must be returned.

getProjectionStore(projectionName)

Returns a promise which resolves with a unique store for a given projection name.

Note: This is storage implementation specific.

clearProjectionStore(projectionName)

Clears the unique store for a given projection name and returns a promise which resolves after clearing

Note: This is storage implementation specific.

Running feature specs inside storage implementations

The feature specs can be executed to verify a storage implementation is conforming to the above defined interface:

eventricStorage = require 'eventric-storage'
eventricStorage.runFeatureSpecs()

Note: The specs require mocha.

Package Sidebar

Install

npm i eventric-storage

Weekly Downloads

8

Version

0.4.0

License

none

Last publish

Collaborators

  • efacilitation