Update
This commit is contained in:
parent
f90a7133bc
commit
00ecbadeca
29 changed files with 871 additions and 12 deletions
43
lib/nulla_web/controllers/api/announce_controller.ex
Normal file
43
lib/nulla_web/controllers/api/announce_controller.ex
Normal file
|
@ -0,0 +1,43 @@
|
|||
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
|
23
lib/nulla_web/controllers/api/announce_json.ex
Normal file
23
lib/nulla_web/controllers/api/announce_json.ex
Normal file
|
@ -0,0 +1,23 @@
|
|||
defmodule NullaWeb.Api.AnnounceJSON do
|
||||
alias Nulla.Announces.Announce
|
||||
|
||||
@doc """
|
||||
Renders a list of announces.
|
||||
"""
|
||||
def index(%{announces: announces}) do
|
||||
%{data: for(announce <- announces, do: data(announce))}
|
||||
end
|
||||
|
||||
@doc """
|
||||
Renders a single announce.
|
||||
"""
|
||||
def show(%{announce: announce}) do
|
||||
%{data: data(announce)}
|
||||
end
|
||||
|
||||
defp data(%Announce{} = announce) do
|
||||
%{
|
||||
id: announce.id
|
||||
}
|
||||
end
|
||||
end
|
43
lib/nulla_web/controllers/api/like_controller.ex
Normal file
43
lib/nulla_web/controllers/api/like_controller.ex
Normal file
|
@ -0,0 +1,43 @@
|
|||
defmodule NullaWeb.Api.LikeController do
|
||||
use NullaWeb, :controller
|
||||
|
||||
alias Nulla.Likes
|
||||
alias Nulla.Likes.Like
|
||||
|
||||
action_fallback NullaWeb.FallbackController
|
||||
|
||||
def index(conn, _params) do
|
||||
likes = Likes.list_likes()
|
||||
render(conn, :index, likes: likes)
|
||||
end
|
||||
|
||||
def create(conn, %{"like" => like_params}) do
|
||||
with {:ok, %Like{} = like} <- Likes.create_like(like_params) do
|
||||
conn
|
||||
|> put_status(:created)
|
||||
|> put_resp_header("location", ~p"/api/likes/#{like}")
|
||||
|> render(:show, like: like)
|
||||
end
|
||||
end
|
||||
|
||||
def show(conn, %{"id" => id}) do
|
||||
like = Likes.get_like!(id)
|
||||
render(conn, :show, like: like)
|
||||
end
|
||||
|
||||
def update(conn, %{"id" => id, "like" => like_params}) do
|
||||
like = Likes.get_like!(id)
|
||||
|
||||
with {:ok, %Like{} = like} <- Likes.update_like(like, like_params) do
|
||||
render(conn, :show, like: like)
|
||||
end
|
||||
end
|
||||
|
||||
def delete(conn, %{"id" => id}) do
|
||||
like = Likes.get_like!(id)
|
||||
|
||||
with {:ok, %Like{}} <- Likes.delete_like(like) do
|
||||
send_resp(conn, :no_content, "")
|
||||
end
|
||||
end
|
||||
end
|
23
lib/nulla_web/controllers/api/like_json.ex
Normal file
23
lib/nulla_web/controllers/api/like_json.ex
Normal file
|
@ -0,0 +1,23 @@
|
|||
defmodule NullaWeb.Api.LikeJSON do
|
||||
alias Nulla.Likes.Like
|
||||
|
||||
@doc """
|
||||
Renders a list of likes.
|
||||
"""
|
||||
def index(%{likes: likes}) do
|
||||
%{data: for(like <- likes, do: data(like))}
|
||||
end
|
||||
|
||||
@doc """
|
||||
Renders a single like.
|
||||
"""
|
||||
def show(%{like: like}) do
|
||||
%{data: data(like)}
|
||||
end
|
||||
|
||||
defp data(%Like{} = like) do
|
||||
%{
|
||||
id: like.id
|
||||
}
|
||||
end
|
||||
end
|
|
@ -26,6 +26,7 @@ defmodule NullaWeb.Api.NoteJSON do
|
|||
cc: note.cc,
|
||||
sensitive: note.sensitive,
|
||||
content: note.content,
|
||||
tag: note.tag,
|
||||
language: note.language
|
||||
}
|
||||
end
|
||||
|
|
|
@ -71,6 +71,8 @@ defmodule NullaWeb.Router do
|
|||
resources "/notes", NoteController, except: [:new, :edit]
|
||||
resources "/media_attachments", MediaAttachmentController, except: [:new, :edit]
|
||||
resources "/relations", RelationController, except: [:new, :edit]
|
||||
resources "/likes", LikeController, except: [:new, :edit]
|
||||
resources "/announces", AnnounceController, except: [:new, :edit]
|
||||
resources "/activities", ActivityController, except: [:new, :edit]
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue