diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2019-07-11 13:26:59 +0700 |
---|---|---|
committer | Egor Kislitsyn <egor@kislitsyn.com> | 2019-07-11 13:26:59 +0700 |
commit | 182f7bbb1170c44eac4ab4a9efa4ff0bff991c98 (patch) | |
tree | f4c6fe46e82f667be49c8e6aad0ed3b418e4332f /lib/pleroma/web/controller_helper.ex | |
parent | ddd4a09b72ede65345ddf45a68eb239b54eda86c (diff) | |
parent | 4016341a77337e3b71295d27808eebc05152b086 (diff) | |
download | pleroma-182f7bbb1170c44eac4ab4a9efa4ff0bff991c98.tar.gz |
Merge branch 'develop' into feature/addressable-lists
Diffstat (limited to 'lib/pleroma/web/controller_helper.ex')
-rw-r--r-- | lib/pleroma/web/controller_helper.ex | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/pleroma/web/controller_helper.ex b/lib/pleroma/web/controller_helper.ex index 55706eeb8..8a753bb4f 100644 --- a/lib/pleroma/web/controller_helper.ex +++ b/lib/pleroma/web/controller_helper.ex @@ -15,4 +15,22 @@ defmodule Pleroma.Web.ControllerHelper do |> put_status(status) |> json(json) end + + @spec fetch_integer_param(map(), String.t(), integer() | nil) :: integer() | nil + def fetch_integer_param(params, name, default \\ nil) do + params + |> Map.get(name, default) + |> param_to_integer(default) + end + + defp param_to_integer(val, _) when is_integer(val), do: val + + defp param_to_integer(val, default) when is_binary(val) do + case Integer.parse(val) do + {res, _} -> res + _ -> default + end + end + + defp param_to_integer(_, default), do: default end |