defmodule NullaWeb.Api.AnnounceController do use NullaWeb, :controller alias Nulla.Announces alias Nulla.Announces.Announce action_fallback NullaWeb.FallbackController def index(conn, _params) do announces = Announces.list_announces() render(conn, :index, announces: announces) end def create(conn, %{"announce" => announce_params}) do with {:ok, %Announce{} = announce} <- Announces.create_announce(announce_params) do conn |> put_status(:created) |> put_resp_header("location", ~p"/api/announces/#{announce}") |> render(:show, announce: announce) end end def show(conn, %{"id" => id}) do announce = Announces.get_announce!(id) render(conn, :show, announce: announce) end def update(conn, %{"id" => id, "announce" => announce_params}) do announce = Announces.get_announce!(id) with {:ok, %Announce{} = announce} <- Announces.update_announce(announce, announce_params) do render(conn, :show, announce: announce) end end def delete(conn, %{"id" => id}) do announce = Announces.get_announce!(id) with {:ok, %Announce{}} <- Announces.delete_announce(announce) do send_resp(conn, :no_content, "") end end end