This commit is contained in:
Mirai Kumiko 2025-07-06 14:46:08 +02:00
parent f90a7133bc
commit 00ecbadeca
Signed by: miraikumiko
GPG key ID: 3F178B1B5E0CB278
29 changed files with 871 additions and 12 deletions

View 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