aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2018-02-18 15:04:26 +0100
committerlain <lain@soykaf.club>2018-02-18 15:04:26 +0100
commit2997fe1ba9bf47bf8f78eee471b1dda76426ac91 (patch)
tree8136aa6c360019bb673f1134dde1d2fa1d462933
parentd4b08dd838e06d302e0089bb2155bf5b56e5fbbe (diff)
downloadpleroma-2997fe1ba9bf47bf8f78eee471b1dda76426ac91.tar.gz
CommonAPI: If no visibility is given, return parent visibility.
-rw-r--r--lib/pleroma/web/common_api/common_api.ex9
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"]),