Fill properties of announcements from Mastodon API spec

This commit is contained in:
Tusooa Zhu 2022-03-08 09:35:35 -05:00
commit c867d23250
No known key found for this signature in database
GPG key ID: 7B467EDE43A08224
3 changed files with 49 additions and 9 deletions

View file

@ -48,4 +48,36 @@ defmodule Pleroma.Announcement do
:error
end
end
def read_by?(_announcement, _user) do
false
end
def render_json(announcement, opts \\ []) do
extra_params =
case Keyword.fetch(opts, :for) do
{:ok, user} ->
%{read: read_by?(announcement, user)}
_ ->
%{}
end
base = %{
id: announcement.id,
content: announcement.data["content"],
starts_at: :null,
ends_at: :null,
all_day: false,
published_at: announcement.inserted_at,
updated_at: announcement.updated_at,
mentions: [],
statuses: [],
tags: [],
emojis: [],
reactions: []
}
base
|> Map.merge(extra_params)
end
end