Current section

Files

Jump to
commanded test example_domain bank_router.ex
Raw

test/example_domain/bank_router.ex

defmodule Commanded.ExampleDomain.BankRouter do
@moduledoc false
use Commanded.Commands.Router
alias Commanded.ExampleDomain.{
BankAccount,
DepositMoneyHandler,
MoneyTransfer,
OpenAccountHandler,
TransferMoneyHandler,
WithdrawMoneyHandler,
}
alias BankAccount.Commands.{
DepositMoney,
OpenAccount,
WithdrawMoney,
}
alias MoneyTransfer.Commands.TransferMoney
alias Commanded.Helpers.CommandAuditMiddleware
middleware CommandAuditMiddleware
identify BankAccount, by: :account_number
identify MoneyTransfer, by: :transfer_uuid
dispatch OpenAccount, to: OpenAccountHandler, aggregate: BankAccount
dispatch DepositMoney, to: DepositMoneyHandler, aggregate: BankAccount
dispatch WithdrawMoney, to: WithdrawMoneyHandler, aggregate: BankAccount
dispatch TransferMoney, to: TransferMoneyHandler, aggregate: MoneyTransfer
end