48 lines
760 B
Elixir
48 lines
760 B
Elixir
defmodule BeetRoundServerWeb.AdminJSON do
|
|
alias BeetRoundServer.Admins.Admin
|
|
|
|
@doc """
|
|
Renders a list of admins.
|
|
"""
|
|
def index(%{admins: admins}) do
|
|
%{data: for(admin <- admins, do: data(admin))}
|
|
end
|
|
|
|
@doc """
|
|
Renders a single admin.
|
|
"""
|
|
def show(%{admin: admin}) do
|
|
%{
|
|
data: data(admin)
|
|
}
|
|
end
|
|
|
|
def token(%{admin: admin}) do
|
|
%{
|
|
data: %{
|
|
id: admin.id,
|
|
email: admin.email,
|
|
token: admin.token
|
|
}
|
|
}
|
|
end
|
|
|
|
def mail_status(%{status: status}) do
|
|
%{data: status}
|
|
end
|
|
|
|
def error(%{error: error, admin: admin}) do
|
|
%{
|
|
error: error,
|
|
admin: admin
|
|
}
|
|
end
|
|
|
|
defp data(%Admin{} = admin) do
|
|
%{
|
|
id: admin.id,
|
|
email: admin.email
|
|
}
|
|
end
|
|
end
|