aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEgor Kislitsyn <egor@kislitsyn.com>2019-07-15 14:00:29 +0700
committerEgor Kislitsyn <egor@kislitsyn.com>2019-07-15 14:00:29 +0700
commita87c313309b73ced5970c59d00117c357f51fecb (patch)
treec6d587fbfd40db807c85c5326320e9c87017dce4 /lib
parent9991254c064c63e3d45786379953414c8a26073a (diff)
downloadpleroma-a87c313309b73ced5970c59d00117c357f51fecb.tar.gz
Support `list` visibility in StatusView
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/common_api/common_api.ex11
-rw-r--r--lib/pleroma/web/common_api/utils.ex13
2 files changed, 11 insertions, 13 deletions
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex
index 1c47a31d7..f764e87af 100644
--- a/lib/pleroma/web/common_api/common_api.ex
+++ b/lib/pleroma/web/common_api/common_api.ex
@@ -243,18 +243,15 @@ defmodule Pleroma.Web.CommonAPI do
preview? = Pleroma.Web.ControllerHelper.truthy_param?(data["preview"]) || false
direct? = visibility == "direct"
- additional_data =
- %{"cc" => cc, "directMessage" => direct?} |> maybe_add_list_data(user, visibility)
-
- params = %{
+ %{
to: to,
actor: user,
context: context,
object: object,
- additional: additional_data
+ additional: %{"cc" => cc, "directMessage" => direct?}
}
-
- ActivityPub.create(params, preview?)
+ |> maybe_add_list_data(user, visibility)
+ |> ActivityPub.create(preview?)
else
{:private_to_public, true} ->
{:error, dgettext("errors", "The message visibility must be direct")}
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index 94b2c50fc..fed5f9de7 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -108,19 +108,20 @@ defmodule Pleroma.Web.CommonAPI.Utils do
def get_addressed_users(mentioned_users, _), do: mentioned_users
- def maybe_add_list_data(additional_data, user, {:list, list_id}) do
+ def maybe_add_list_data(activity_params, user, {:list, list_id}) do
case Pleroma.List.get(list_id, user) do
%Pleroma.List{} = list ->
- additional_data
- |> Map.put("listMessage", list.ap_id)
- |> Map.put("bcc", [list.ap_id])
+ activity_params
+ |> put_in([:additional, "bcc"], [list.ap_id])
+ |> put_in([:additional, "listMessage"], list.ap_id)
+ |> put_in([:object, "listMessage"], list.ap_id)
_ ->
- additional_data
+ activity_params
end
end
- def maybe_add_list_data(additional_data, _, _), do: additional_data
+ def maybe_add_list_data(activity_params, _, _), do: activity_params
def make_poll_data(%{"poll" => %{"options" => options, "expires_in" => expires_in}} = data)
when is_list(options) do