Раздел api Календари #22
This commit is contained in:
@@ -26,7 +26,9 @@
|
||||
calendar_to_json/1,
|
||||
subscription_to_json/1,
|
||||
trails_for_crud/4,
|
||||
is_superadmin/1]).
|
||||
is_superadmin/1,
|
||||
pagination_headers/2
|
||||
]).
|
||||
|
||||
-include("records.hrl").
|
||||
|
||||
@@ -118,6 +120,18 @@ parse_int_qs(undefined, Default) -> Default;
|
||||
parse_int_qs(Bin, Default) ->
|
||||
try binary_to_integer(Bin) catch _:_ -> Default end.
|
||||
|
||||
-spec pagination_headers(map(), non_neg_integer()) -> map().
|
||||
pagination_headers(#{limit := Limit, offset := Offset}, Total) ->
|
||||
NextOffset = Offset + Limit,
|
||||
HasMore = NextOffset < Total,
|
||||
#{
|
||||
<<"x-total-count">> => integer_to_binary(Total),
|
||||
<<"x-next-offset">> => case HasMore of
|
||||
true -> integer_to_binary(NextOffset);
|
||||
false -> <<"">>
|
||||
end
|
||||
}.
|
||||
|
||||
%% @doc Преобразует бинарный ISO8601 параметр в datetime().
|
||||
-spec parse_datetime_qs(binary() | undefined) -> calendar:datetime() | undefined.
|
||||
parse_datetime_qs(undefined) -> undefined;
|
||||
|
||||
Reference in New Issue
Block a user