Packages

A text based mmorpg backend providing a REST API.

Current section

Files

Jump to
snowcrawler lib snowcrawler_web controllers display_controller.ex
Raw

lib/snowcrawler_web/controllers/display_controller.ex

defmodule SnowcrawlerWeb.DisplayController do
use SnowcrawlerWeb, :controller
alias Snowcrawler.Interface
alias Snowcrawler.Interface.Display
action_fallback SnowcrawlerWeb.FallbackController
def index(conn, _params) do
displays = Interface.list_displays()
render(conn, "index.json", displays: displays)
end
def create(conn, %{"display" => display_params}) do
with {:ok, %Display{} = display} <- Interface.create_display(display_params) do
conn
|> put_status(:created)
|> put_resp_header("location", Routes.display_path(conn, :show, display))
|> render("show.json", display: display)
end
end
def show(conn, %{"id" => id}) do
display = Interface.get_display!(id)
render(conn, "show.json", display: display)
end
def update(conn, %{"id" => id, "display" => display_params}) do
display = Interface.get_display!(id)
with {:ok, %Display{} = display} <- Interface.update_display(display, display_params) do
render(conn, "show.json", display: display)
end
end
def delete(conn, %{"id" => id}) do
display = Interface.get_display!(id)
with {:ok, %Display{}} <- Interface.delete_display(display) do
send_resp(conn, :no_content, "")
end
end
end