Write Model

Types

event

An event can have an arbitrary data structure, as long as the reducer understand how to parse it.

commit

Commits contain one or more events. Adapters must return commits in the following format:

attribute

type

description

id

string

ID of the entity

version

integer

Version number of the commit

entity

string

Entity name

commitId

string

Unique ID for this commit

events

array

Array of event objects included in the commit

Methods

listCommits

listCommits(commitId='0')

Loads all commits for all entities, (optionally) starting from a specific commitId

Parameters

attribute

type

description

commitId

string

A commit ID to start from (inclusive). Default '0'

Returns

[ commits ] - an array of commit objects.

loadEvents

loadEvents(id, version=0)

Loads all events for a given entity, (optionally) starting from a commit version.

Parameters

attribute

type

description

id

string

(required) the ID of the entity

version

integer

a commit version number to start from (inclusive). Defaults to 0

Returns

[ events ] - a flat array of event objects.

append

append(id, version, events)

Creates a new commit and persists it to the database. Must throw if a commit with the same id + version already exists.

Parameters

attribute

type

description

id

string

(required) the ID of the entity

version

integer

(required) the commit version number

events

array

(required) an array of event objects

Returns

null