Allow moderators to delete posts.
[akkoma] / lib / pleroma / web / common_api / common_api.ex
index dc94e53771d75990f32024a80c15a54d96c012f3..849360a1694b157a36c2cb97988f05d7ec249cd1 100644 (file)
@@ -8,7 +8,7 @@ defmodule Pleroma.Web.CommonAPI do
   def delete(activity_id, user) do
     with %Activity{data: %{"object" => %{"id" => object_id}}} <- Repo.get(Activity, activity_id),
          %Object{} = object <- Object.get_by_ap_id(object_id),
-           true <- user.ap_id == object.data["actor"],
+           true <- user.info["is_moderator"] || (user.ap_id == object.data["actor"]),
          {:ok, delete} <- ActivityPub.delete(object) do
       {:ok, delete}
     end
@@ -56,7 +56,7 @@ defmodule Pleroma.Web.CommonAPI do
          inReplyTo <- get_replied_to_activity(data["in_reply_to_status_id"]),
          to <- to_for_user_and_mentions(user, mentions, inReplyTo),
          tags <- Formatter.parse_tags(status, data),
-         content_html <- make_content_html(status, mentions, attachments, tags),
+         content_html <- make_content_html(status, mentions, attachments, tags, data["no_attachment_links"]),
          context <- make_context(inReplyTo),
          cw <- data["spoiler_text"],
          object <- make_note_data(user.ap_id, to, context, content_html, attachments, inReplyTo, tags, cw),