diff options
author | rinpatch <rinpatch@sdf.org> | 2019-05-21 17:30:51 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-05-21 17:30:51 +0300 |
commit | 5f67c26baf2bdc98480fa4cda5895f33351b13ab (patch) | |
tree | c3d8e0e6d5b80da4a6402f08417a8229edf68fa5 | |
parent | 0407ffe75f7e91db240d491492eadf1385b1726b (diff) | |
download | pleroma-5f67c26baf2bdc98480fa4cda5895f33351b13ab.tar.gz |
Accept strings in expires_in because sasuga javascript
-rw-r--r-- | lib/pleroma/web/common_api/utils.ex | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex index 66153a105..1a239de97 100644 --- a/lib/pleroma/web/common_api/utils.ex +++ b/lib/pleroma/web/common_api/utils.ex @@ -103,12 +103,15 @@ defmodule Pleroma.Web.CommonAPI.Utils do end def make_poll_data(%{"poll" => %{"options" => options, "expires_in" => expires_in}} = data) - when is_list(options) and is_integer(expires_in) do + when is_list(options) do %{max_expiration: max_expiration, min_expiration: min_expiration} = limits = Pleroma.Config.get([:instance, :poll_limits]) # XXX: There is probably a cleaner way of doing this try do + # In some cases mastofe sends out strings instead of integers + expires_in = if is_binary(expires_in), do: String.to_integer(expires_in), else: expires_in + if Enum.count(options) > limits.max_options do raise ArgumentError, message: "Poll can't contain more than #{limits.max_options} options" end |