mobilizon.chapril.org-mobil.../lib/service/notifier/email.ex

32 lines
766 B
Elixir

defmodule Mobilizon.Service.Notifier.Email do
@moduledoc """
Email notifier
"""
alias Mobilizon.Activities.Activity
alias Mobilizon.Config
alias Mobilizon.Service.Notifier
alias Mobilizon.Service.Notifier.Email
alias Mobilizon.Users.User
alias Mobilizon.Web.Email.Activity, as: EmailActivity
alias Mobilizon.Web.Email.Mailer
@behaviour Notifier
@impl Notifier
def ready? do
Config.get(__MODULE__, :enabled)
end
@impl Notifier
def send(%User{} = user, %Activity{} = activity) do
Email.send(user, [activity])
end
@impl Notifier
def send(%User{email: email, locale: locale}, activities) when is_list(activities) do
email
|> EmailActivity.direct_activity(activities, locale)
|> Mailer.send_email()
end
end