Packages

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

Current section

Files

Jump to
servicex_matching lib servicex_matching_web controllers application_controller.ex
Raw

lib/servicex_matching_web/controllers/application_controller.ex

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