Quickstart
Install
npm i --save serverless-cqrs
npm i --save serverless-cqrs.memory-adapterUsage
To start, you need Actions and a Reducer. So let's write simple ones:
const actions = {
addTodo: (state, payload) => {
if (!payload.title) throw new Error('titleMissing')
return [{
type: 'TodoAdded',
title: payload.title,
at: Date.now(),
}]
}
}
module.exports = actionsAbove we have a basic action and reducer.
The action ,
addTodo, does some basic validation to check the presence of a title and if it succeeds, returns a new event with the typeTodoAdded.When that event is run through the reducer, a new todo is appended to the list.
Next, we build an adapter to help us persist the events.
This adapter will let us persist events and read-model projections in memory.
Finally, we use these to build our read and write model.
That's it!
Try it live
Last updated
Was this helpful?