aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/controller_helper.ex
diff options
context:
space:
mode:
authorMaksim <parallel588@gmail.com>2019-06-14 11:39:57 +0000
committerlain <lain@soykaf.club>2019-06-14 11:39:57 +0000
commitee4ed87fb47fa6c395e0f77b614f1630f3a12637 (patch)
treef4dbeab1fd2b37b4f722e39e5db9e59c83c148ce /lib/pleroma/web/controller_helper.ex
parentf045d1437cb9e1e53565c4f35be2c7ca3a9d73ff (diff)
downloadpleroma-ee4ed87fb47fa6c395e0f77b614f1630f3a12637.tar.gz
[#948] /api/v1/account_search added optional parameters (limit, offset, following)
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