mix ash_dispatch.gen.recipient_resolver (AshDispatch v0.5.1)
View SourceGenerates an AshDispatch.RecipientResolver module for declarative audience resolution.
Example
mix ash_dispatch.gen.recipient_resolver MyApp.RecipientResolver
Options
--user-resource- The user resource module (defaults toMyApp.Accounts.User)
Generated Code
The generator creates a recipient resolver with:
- A
to_recipient/1callback for formatting user structs as recipient maps - Example audiences using different resolution strategies
- Comments explaining each strategy
Usage
After generation, configure ash_dispatch to use your resolver:
config :ash_dispatch,
recipient_resolver: MyApp.RecipientResolverThen reference audiences in your dispatch DSL:
dispatch do
event :order_created do
channel :in_app, audience: :owner
channel :email, audience: :admins
end
end