Packages

This library is a summary of the functions that are generally required for Web service development.

Current section

Files

Jump to
materia lib materia_web controllers mail_template_controller.ex
Raw

lib/materia_web/controllers/mail_template_controller.ex

defmodule MateriaWeb.MailTemplateController do
use MateriaWeb, :controller
alias Materia.Mails
alias Materia.Mails.MailTemplate
action_fallback MateriaWeb.FallbackController
def index(conn, _params) do
mail_templates = Mails.list_mail_templates()
render(conn, "index.json", mail_templates: mail_templates)
end
def create(conn, mail_template_params) do
with {:ok, %MailTemplate{} = mail_template} <- Mails.create_mail_template(mail_template_params) do
conn
|> put_status(:created)
|> put_resp_header("location", mail_template_path(conn, :show, mail_template))
|> render("show.json", mail_template: mail_template)
end
end
def show(conn, %{"id" => id}) do
mail_template = Mails.get_mail_template!(id)
render(conn, "show.json", mail_template: mail_template)
end
def update(conn, mail_template_params) do
mail_template = Mails.get_mail_template!(mail_template_params["id"])
with {:ok, %MailTemplate{} = mail_template} <- Mails.update_mail_template(mail_template, mail_template_params) do
render(conn, "show.json", mail_template: mail_template)
end
end
def delete(conn, %{"id" => id}) do
mail_template = Mails.get_mail_template!(id)
with {:ok, %MailTemplate{}} <- Mails.delete_mail_template(mail_template) do
send_resp(conn, :no_content, "")
end
end
end