Migrate Pleroma.Web to phoenix 1.6 formats
[akkoma] / lib / pleroma / web / admin_api / views / status_view.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.AdminAPI.StatusView do
6 use Pleroma.Web, :view
7
8 require Pleroma.Constants
9
10 alias Pleroma.Web.AdminAPI
11 alias Pleroma.Web.CommonAPI
12 alias Pleroma.Web.MastodonAPI
13
14 defdelegate merge_account_views(user), to: AdminAPI.AccountView
15
16 def render("index.json", %{total: total} = opts) do
17 %{total: total, activities: render_many(opts.activities, __MODULE__, "show.json", opts)}
18 end
19
20 def render("index.json", opts) do
21 render_many(opts.activities, __MODULE__, "show.json", opts)
22 end
23
24 def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} = opts) do
25 user = CommonAPI.get_user(activity.data["actor"])
26
27 MastodonAPI.StatusView.render("show.json", opts)
28 |> Map.merge(%{account: merge_account_views(user)})
29 end
30 end