UNPKG

660 Btext/coffeescriptView Raw
1eventric = require 'eventric'
2
3example = eventric.context 'Example'
4
5class Something
6 create: ->
7 @$emitDomainEvent 'SomethingCreated', {}
8
9 modify: ->
10 @$emitDomainEvent 'SomethingModified', {}
11
12
13example.addAggregate 'Something', Something
14
15example.defineDomainEvent 'SomethingCreated', ->
16example.defineDomainEvent 'SomethingModified', ->
17
18example.addCommandHandlers
19 CreateSomething: ->
20 @$aggregate.create 'Something'
21 .then (aggregate) ->
22 aggregate.$save()
23
24
25 ModifySomething: (params) ->
26 @$aggregate.load 'Something', params.id
27 .then (aggregate) ->
28 aggregate.modify()
29 aggregate.$save()
30
31
32module.exports = example
\No newline at end of file