From a127041c8b3e31c9fa487dd5ca4faa29a0a59e6e Mon Sep 17 00:00:00 2001 From: dcc Date: Mon, 4 Sep 2023 02:54:35 -0700 Subject: move to 2.5.5 --- lib/pleroma/web/common_api.ex | 12 ++++++++++++ 1 file changed, 12 insertions(+) mode change 100644 => 100755 lib/pleroma/web/common_api.ex (limited to 'lib/pleroma/web/common_api.ex') diff --git a/lib/pleroma/web/common_api.ex b/lib/pleroma/web/common_api.ex old mode 100644 new mode 100755 index 89cc0d6..44eb000 --- a/lib/pleroma/web/common_api.ex +++ b/lib/pleroma/web/common_api.ex @@ -33,6 +33,7 @@ defmodule Pleroma.Web.CommonAPI do def post_chat_message(%User{} = user, %User{} = recipient, content, opts \\ []) do with maybe_attachment <- opts[:media_id] && Object.get_by_id(opts[:media_id]), + :ok <- validate_chat_attachment_attribution(maybe_attachment, user), :ok <- validate_chat_content_length(content, !!maybe_attachment), {_, {:ok, chat_message_data, _meta}} <- {:build_object, @@ -71,6 +72,17 @@ defmodule Pleroma.Web.CommonAPI do text end + defp validate_chat_attachment_attribution(nil, _), do: :ok + + defp validate_chat_attachment_attribution(attachment, user) do + with :ok <- Object.authorize_access(attachment, user) do + :ok + else + e -> + e + end + end + defp validate_chat_content_length(_, true), do: :ok defp validate_chat_content_length(nil, false), do: {:error, :no_content} -- cgit v1.2.3