diff options
author | lain <lain@soykaf.club> | 2018-02-18 15:04:26 +0100 |
---|---|---|
committer | lain <lain@soykaf.club> | 2018-02-18 15:04:26 +0100 |
commit | 2997fe1ba9bf47bf8f78eee471b1dda76426ac91 (patch) | |
tree | 8136aa6c360019bb673f1134dde1d2fa1d462933 | |
parent | d4b08dd838e06d302e0089bb2155bf5b56e5fbbe (diff) | |
download | pleroma-2997fe1ba9bf47bf8f78eee471b1dda76426ac91.tar.gz |
CommonAPI: If no visibility is given, return parent visibility.
-rw-r--r-- | lib/pleroma/web/common_api/common_api.ex | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index b682f95bb..c6657b8e8 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -46,10 +46,17 @@ defmodule Pleroma.Web.CommonAPI do end end + def get_visibility(%{"visibility" => visibility}), do: visibility + def get_visibility(%{"in_reply_to_status_id" => status_id}) do + inReplyTo = get_replied_to_activity(status_id) + Pleroma.Web.MastodonAPI.StatusView.get_visibility(inReplyTo.data["object"]) + end + def get_visibility(_), do: "public" + @instance Application.get_env(:pleroma, :instance) @limit Keyword.get(@instance, :limit) def post(user, %{"status" => status} = data) do - visibility = data["visibility"] || "public" + visibility = get_visibility(data) with status <- String.trim(status), length when length in 1..@limit <- String.length(status), attachments <- attachments_from_ids(data["media_ids"]), |