Browse Source

Accept strings in expires_in because sasuga javascript

tags/v1.1.4
rinpatch 5 years ago
parent
commit
5f67c26baf
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      lib/pleroma/web/common_api/utils.ex

+ 4
- 1
lib/pleroma/web/common_api/utils.ex View File

@@ -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


Loading…
Cancel
Save