UNPKG

751 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 .catch (error) ->
24 callback error
25
26 ModifySomething: (params) ->
27 @$aggregate.load 'Something', params.id
28 .then (aggregate) ->
29 aggregate.modify()
30 aggregate.$save()
31 .catch (error) ->
32 callback.reject error
33
34module.exports = example
\No newline at end of file