Implement GET /api/v1/announcements/:id

This commit is contained in:
Tusooa Zhu 2022-03-08 16:19:35 -05:00
commit aa1fff279e
No known key found for this signature in database
GPG key ID: 7B467EDE43A08224
2 changed files with 67 additions and 2 deletions

View file

@ -55,7 +55,20 @@ defmodule Pleroma.Web.MastodonAPI.AnnouncementController do
end
@doc "POST /api/v1/announcements/:id"
def show(_conn, _params) do
{:error, :not_found}
def show(%{assigns: %{user: user}} = conn, %{id: id} = _params) do
render_announcement_by_id(conn, id, user)
end
def show(conn, %{id: id} = _params) do
render_announcement_by_id(conn, id)
end
def render_announcement_by_id(conn, id, user \\ nil) do
with announcement when not is_nil(announcement) <- Announcement.get_by_id(id) do
render(conn, "show.json", announcement: announcement, user: user)
else
_ ->
{:error, :not_found}
end
end
end