diff options
author | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2022-10-15 12:54:20 +0000 |
---|---|---|
committer | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2022-10-15 12:54:20 +0000 |
commit | 705ba6d615ea3d8187673a5ab95af05f3ab7193b (patch) | |
tree | 9841fd8b287b0fb9d22a98869ab451418b33a39c /lib/pleroma/web/common_api.ex | |
parent | c8302826285b31d071b44bf8d2e2013adcffdea6 (diff) | |
parent | 16b06160acbaec054736b18edf08d77e88a27aee (diff) | |
download | pleroma-705ba6d615ea3d8187673a5ab95af05f3ab7193b.tar.gz |
CommonAPI: generate ModerationLog for all admin/moderator deletes
See merge request pleroma/pleroma!3765
Diffstat (limited to 'lib/pleroma/web/common_api.ex')
-rw-r--r-- | lib/pleroma/web/common_api.ex | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/pleroma/web/common_api.ex b/lib/pleroma/web/common_api.ex index 89f5dd606..62ab6b69c 100644 --- a/lib/pleroma/web/common_api.ex +++ b/lib/pleroma/web/common_api.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.CommonAPI do alias Pleroma.Activity alias Pleroma.Conversation.Participation alias Pleroma.Formatter + alias Pleroma.ModerationLog alias Pleroma.Object alias Pleroma.ThreadMute alias Pleroma.User @@ -147,6 +148,21 @@ defmodule Pleroma.Web.CommonAPI do true <- User.superuser?(user) || user.ap_id == object.data["actor"], {:ok, delete_data, _} <- Builder.delete(user, object.data["id"]), {:ok, delete, _} <- Pipeline.common_pipeline(delete_data, local: true) do + if User.superuser?(user) and user.ap_id != object.data["actor"] do + action = + if object.data["type"] == "ChatMessage" do + "chat_message_delete" + else + "status_delete" + end + + ModerationLog.insert_log(%{ + action: action, + actor: user, + subject_id: activity_id + }) + end + {:ok, delete} else {:find_activity, _} -> |