commit: a565dbde4f2262bf30ea2df50f08454f2edda900
parent: 79c88a257f8e33bf55ce6b18c32a791d6bf9546d
Author: kaniini <nenolod@gmail.com>
Date: Tue, 2 Jul 2019 01:27:00 +0000
Merge branch 'admin-report-view-user-fallback' into 'develop'
Handle deleted reported accounts in report admin API
Closes #1046
See merge request pleroma/pleroma!1370
Diffstat:
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/lib/pleroma/web/admin_api/views/report_view.ex b/lib/pleroma/web/admin_api/views/report_view.ex
@@ -46,8 +46,10 @@ defmodule Pleroma.Web.AdminAPI.ReportView do
}
end
- defp merge_account_views(user) do
+ defp merge_account_views(%User{} = user) do
Pleroma.Web.MastodonAPI.AccountView.render("account.json", %{user: user})
|> Map.merge(Pleroma.Web.AdminAPI.AccountView.render("show.json", %{user: user}))
end
+
+ defp merge_account_views(_), do: %{}
end
diff --git a/test/web/admin_api/views/report_view_test.exs b/test/web/admin_api/views/report_view_test.exs
@@ -111,4 +111,20 @@ defmodule Pleroma.Web.AdminAPI.ReportViewTest do
refute "<script> alert('hecked :D:D:D:D:D:D:D') </script>" ==
ReportView.render("show.json", %{report: activity})[:content]
end
+
+ test "doesn't error out when the user doesn't exists" do
+ user = insert(:user)
+ other_user = insert(:user)
+
+ {:ok, activity} =
+ CommonAPI.report(user, %{
+ "account_id" => other_user.id,
+ "comment" => ""
+ })
+
+ Pleroma.User.delete(other_user)
+ Pleroma.User.invalidate_cache(other_user)
+
+ assert %{} = ReportView.render("show.json", %{report: activity})
+ end
end