mix ash_dispatch.gen.recipient_resolver (AshDispatch v0.5.1)

View Source

Generates 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 to MyApp.Accounts.User)

Generated Code

The generator creates a recipient resolver with:

  • A to_recipient/1 callback 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.RecipientResolver

Then reference audiences in your dispatch DSL:

dispatch do
  event :order_created do
    channel :in_app, audience: :owner
    channel :email, audience: :admins
  end
end