aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/controller_helper.ex
diff options
context:
space:
mode:
authorEgor Kislitsyn <egor@kislitsyn.com>2019-07-11 13:26:59 +0700
committerEgor Kislitsyn <egor@kislitsyn.com>2019-07-11 13:26:59 +0700
commit182f7bbb1170c44eac4ab4a9efa4ff0bff991c98 (patch)
treef4c6fe46e82f667be49c8e6aad0ed3b418e4332f /lib/pleroma/web/controller_helper.ex
parentddd4a09b72ede65345ddf45a68eb239b54eda86c (diff)
parent4016341a77337e3b71295d27808eebc05152b086 (diff)
downloadpleroma-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.ex18
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