defmodule Toolbox.Scenario.Notification do
@moduledoc """
Toolbox for formatting notifications.
"""
@spec format_direct_subscriptions([String.t()]) :: [map()]
@doc """
Formats emails to a list of maps used for `direct_subscriptions` in `Toolbox.Scenario.OutputAction`.
## Examples
iex> Toolbox.Scenario.Notification.format_direct_subscriptions(["john.lennon@example.com"])
[
%{
"channels" => ["gmail"],
"templates" => ["default"],
"user" => %{"contact" => %{"email" => "john.lennon@example.com"}}
}
]
"""
def format_direct_subscriptions(emails) do
Enum.map(emails, fn email ->
%{
"user" => %{"contact" => %{"email" => email}},
"templates" => ["default"],
"channels" => ["gmail"]
}
end)
end
end