Current section

Files

Jump to
pow lib extensions email_confirmation phoenix controllers confirmation_controller.ex
Raw

lib/extensions/email_confirmation/phoenix/controllers/confirmation_controller.ex

defmodule PowEmailConfirmation.Phoenix.ConfirmationController do
@moduledoc false
use Pow.Extension.Phoenix.Controller.Base,
messages_backend_fallback: PowEmailConfirmation.Phoenix.Messages
alias Plug.Conn
alias PowEmailConfirmation.Plug
@spec process_show(Conn.t(), map()) :: {:ok | :error, map(), Conn.t()}
def process_show(conn, %{"id" => token}), do: Plug.confirm_email(conn, token)
@spec respond_show({:ok | :error, map(), Conn.t()}) :: Conn.t()
def respond_show({:ok, _user, conn}) do
conn
|> put_flash(:info, messages(conn).email_has_been_confirmed(conn))
|> redirect(to: router_helpers(conn).pow_registration_path(conn, :edit))
end
def respond_show({:error, _changeset, conn}) do
conn
|> put_flash(:error, messages(conn).email_confirmation_failed(conn))
|> redirect(to: router_helpers(conn).pow_registration_path(conn, :edit))
end
end