defmodule ProviderService.Router do use Commanded.Commands.Router alias ProviderService.Aggregates.Provider alias ProviderService.Commands.{ RegisterProvider, UpdateProvider, DeactivateProvider, ReactivateProvider, AddProviderTemplate, ActivateProviderTemplate, DeactivateProviderTemplate, SetDefaultProviderTemplate, RemoveProviderTemplate } identify(Provider, by: :provider_id) dispatch( [ RegisterProvider, UpdateProvider, DeactivateProvider, ReactivateProvider, AddProviderTemplate, ActivateProviderTemplate, DeactivateProviderTemplate, SetDefaultProviderTemplate, RemoveProviderTemplate ], to: Provider ) end defmodule ProviderService.CommandedApp do use Commanded.Application, otp_app: :provider_service router(ProviderService.Router) end