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
alias Commanded.ExampleDomain.BankAccount.Commands.CloseAccount
alias Commanded.ExampleDomain.BankAccount.Commands.DepositMoney
alias Commanded.ExampleDomain.BankAccount.Commands.OpenAccount
alias Commanded.ExampleDomain.BankAccount.Commands.WithdrawMoney
alias Commanded.ExampleDomain.DepositMoneyHandler
alias Commanded.ExampleDomain.MoneyTransfer
alias Commanded.ExampleDomain.MoneyTransfer.Commands.TransferMoney
alias Commanded.ExampleDomain.OpenAccountHandler
alias Commanded.ExampleDomain.TransferMoneyHandler
alias Commanded.ExampleDomain.WithdrawMoneyHandler
alias Commanded.Helpers.CommandAuditMiddleware
middleware CommandAuditMiddleware
# Bank account
identify BankAccount, by: :account_number
dispatch OpenAccount, to: OpenAccountHandler, aggregate: BankAccount
dispatch DepositMoney, to: DepositMoneyHandler, aggregate: BankAccount
dispatch WithdrawMoney, to: WithdrawMoneyHandler, aggregate: BankAccount
dispatch CloseAccount, to: OpenAccountHandler, aggregate: BankAccount
# Money transfer
identify MoneyTransfer, by: :transfer_uuid
dispatch TransferMoney, to: TransferMoneyHandler, aggregate: MoneyTransfer
end