Maestro v0.1.2 Maestro.Aggregate.CommandHandler behaviour View Source

Simple behaviour for properly implementing command handlers the way that maestro expects. Its use is not required but is encouraged.

Link to this section Summary

Callbacks

Command handlers in maestro should implement an eval function that expects to receive the current Root object complete with sequence number and aggregate ID and the incoming command. They should return a list of events or raise an error which can be used to short circuit the command processing cycle

Link to this section Types

Link to this section Callbacks

Link to this callback eval(root, command) View Source
eval(root(), command()) :: [event()]

Command handlers in maestro should implement an eval function that expects to receive the current Root object complete with sequence number and aggregate ID and the incoming command. They should return a list of events or raise an error which can be used to short circuit the command processing cycle.