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