X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fadmin_api%2Fviews%2Fstatus_view.ex;h=a252b047c5cdfe25613af5fb3267029b1b8e13cd;hb=57e51fe62cb8bc1899ba2a58720ce3ddabfd083b;hp=360ddc22ccf12cdbc6995b465c7c5775fb4ac815;hpb=e8493431bfc16977e43715bf8bdb09ac46580028;p=akkoma diff --git a/lib/pleroma/web/admin_api/views/status_view.ex b/lib/pleroma/web/admin_api/views/status_view.ex index 360ddc22c..a252b047c 100644 --- a/lib/pleroma/web/admin_api/views/status_view.ex +++ b/lib/pleroma/web/admin_api/views/status_view.ex @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.AdminAPI.StatusView do @@ -7,36 +7,24 @@ defmodule Pleroma.Web.AdminAPI.StatusView do require Pleroma.Constants - alias Pleroma.User + alias Pleroma.Web.AdminAPI + alias Pleroma.Web.CommonAPI + alias Pleroma.Web.MastodonAPI - def render("index.json", opts) do - safe_render_many(opts.activities, __MODULE__, "show.json", opts) - end + defdelegate merge_account_views(user), to: AdminAPI.AccountView - def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} = opts) do - user = get_user(activity.data["actor"]) - - Pleroma.Web.MastodonAPI.StatusView.render("show.json", opts) - |> Map.merge(%{account: merge_account_views(user)}) + def render("index.json", %{total: total} = opts) do + %{total: total, activities: render_many(opts.activities, __MODULE__, "show.json", opts)} end - defp merge_account_views(%User{} = user) do - Pleroma.Web.MastodonAPI.AccountView.render("show.json", %{user: user}) - |> Map.merge(Pleroma.Web.AdminAPI.AccountView.render("show.json", %{user: user})) + def render("index.json", opts) do + render_many(opts.activities, __MODULE__, "show.json", opts) end - defp merge_account_views(_), do: %{} - - defp get_user(ap_id) do - cond do - user = User.get_cached_by_ap_id(ap_id) -> - user - - user = User.get_by_guessed_nickname(ap_id) -> - user + def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} = opts) do + user = CommonAPI.get_user(activity.data["actor"]) - true -> - User.error_user(ap_id) - end + MastodonAPI.StatusView.render("show.json", opts) + |> Map.merge(%{account: merge_account_views(user)}) end end