diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-11-02 12:19:44 -0600 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-11-02 13:06:59 -0600 |
commit | 7efc074eadae9b3d6d351e769ead0661f1f4c89c (patch) | |
tree | 0fed983f97a432aedcbf48f7ae78657e5df7d8b8 | |
parent | 24ce3249736c96686c00a10abe47659579535259 (diff) | |
download | pleroma-7efc074eadae9b3d6d351e769ead0661f1f4c89c.tar.gz |
Permit fetching individual reports with notes preloaded
-rw-r--r-- | lib/pleroma/activity.ex | 13 | ||||
-rw-r--r-- | lib/pleroma/web/admin_api/controllers/report_controller.ex | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex index 17af04257..553834da0 100644 --- a/lib/pleroma/activity.ex +++ b/lib/pleroma/activity.ex @@ -14,6 +14,7 @@ defmodule Pleroma.Activity do alias Pleroma.ReportNote alias Pleroma.ThreadMute alias Pleroma.User + alias Pleroma.Web.ActivityPub.ActivityPub import Ecto.Changeset import Ecto.Query @@ -153,6 +154,18 @@ defmodule Pleroma.Activity do def get_bookmark(_, _), do: nil + def get_report(activity_id) do + opts = %{ + type: "Flag", + skip_preload: true, + preload_report_notes: true + } + + ActivityPub.fetch_activities_query([], opts) + |> where(id: ^activity_id) + |> Repo.one() + end + def change(struct, params \\ %{}) do struct |> cast(params, [:data, :recipients]) diff --git a/lib/pleroma/web/admin_api/controllers/report_controller.ex b/lib/pleroma/web/admin_api/controllers/report_controller.ex index 86da93893..6a0e56f5f 100644 --- a/lib/pleroma/web/admin_api/controllers/report_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/report_controller.ex @@ -38,7 +38,7 @@ defmodule Pleroma.Web.AdminAPI.ReportController do end def show(conn, %{id: id}) do - with %Activity{} = report <- Activity.get_by_id(id) do + with %Activity{} = report <- Activity.get_report(id) do render(conn, "show.json", Report.extract_report_info(report)) else _ -> {:error, :not_found} |