defmodule ServicexMatchingWeb.ApplicationController do use ServicexMatchingWeb, :controller alias ServicexMatching.Messages alias ServicexMatching.Messages.Application action_fallback ServicexMatchingWeb.FallbackController def index(conn, _params) do applications = Messages.list_applications() render(conn, "index.json", applications: applications) end def create(conn, %{"application" => application_params}) do with {:ok, %Application{} = application} <- Messages.create_application(application_params) do conn |> put_status(:created) |> put_resp_header("location", application_path(conn, :show, application)) |> render("show.json", application: application) end end def show(conn, %{"id" => id}) do application = Messages.get_application!(id) render(conn, "show.json", application: application) end def update(conn, %{"id" => id, "application" => application_params}) do application = Messages.get_application!(id) with {:ok, %Application{} = application} <- Messages.update_application(application, application_params) do render(conn, "show.json", application: application) end end def delete(conn, %{"id" => id}) do application = Messages.get_application!(id) with {:ok, %Application{}} <- Messages.delete_application(application) do send_resp(conn, :no_content, "") end end end