fix(backend): IP в аудите, closed_at тикетов и admin_activity в статистике. Refs EventHub/EventHubBack#27 #28 #29
CI / test (push) Successful in 15m13s
Deploy stage (core) / deploy-stage-core (push) Successful in 4m57s

This commit is contained in:
2026-07-13 14:53:51 +03:00
parent 4281342416
commit ff4ab23264
12 changed files with 320 additions and 38 deletions
+21 -8
View File
@@ -23,10 +23,13 @@
register_and_login/2,
create_calendar/2,
create_event/3
, get_admin_refresh_token/0]).
, get_admin_refresh_token/0
, admin_super_email/0
, admin_super_password/0]).
-export([
admin_request/3,
admin_request/4,
admin_request/5,
client_request/3,
client_request/4
]).
@@ -175,7 +178,12 @@ admin_request(Method, Path, Token) ->
-spec admin_request(atom(), binary(), binary(), binary()) -> {ok, integer(), proplists:proplist(), binary()} | {error, term()}.
admin_request(Method, Path, Token, Body) ->
request(get_admin_url(), Method, Path, Token, Body, "ADMIN").
admin_request(Method, Path, Token, Body, []).
-spec admin_request(atom(), binary(), binary(), binary(), [{string(), string()}]) ->
{ok, integer(), proplists:proplist(), binary()} | {error, term()}.
admin_request(Method, Path, Token, Body, ExtraHeaders) ->
request(get_admin_url(), Method, Path, Token, Body, "ADMIN", ExtraHeaders).
-spec client_request(atom(), binary(), binary()) -> {ok, integer(), proplists:proplist(), binary()} | {error, term()}.
client_request(Method, Path, Token) ->
@@ -183,7 +191,7 @@ client_request(Method, Path, Token) ->
-spec client_request(atom(), binary(), binary(), binary()) -> {ok, integer(), proplists:proplist(), binary()} | {error, term()}.
client_request(Method, Path, Token, Body) ->
request(get_base_url(), Method, Path, Token, Body, "CLIENT").
request(get_base_url(), Method, Path, Token, Body, "CLIENT", []).
%%%===================================================================
%%% Внутренняя реализация HTTP-запроса
@@ -191,12 +199,17 @@ client_request(Method, Path, Token, Body) ->
-spec request(string(), atom(), binary(), binary(), binary(), string()) -> {ok, integer(), proplists:proplist(), binary()} | {error, term()}.
request(BaseUrl, Method, Path, Token, Body, Prefix) ->
request(BaseUrl, Method, Path, Token, Body, Prefix, []).
-spec request(string(), atom(), binary(), binary(), binary(), string(), [{string(), string()}]) ->
{ok, integer(), proplists:proplist(), binary()} | {error, term()}.
request(BaseUrl, Method, Path, Token, Body, Prefix, ExtraHeaders) ->
URL = BaseUrl ++ binary_to_list(Path),
Headers0 = [],
Headers = case Token of
<<>> -> Headers0; % пустой токен – не добавляем Authorization
_ -> [{"Authorization", "Bearer " ++ binary_to_list(Token)}]
end,
AuthHeaders = case Token of
<<>> -> [];
_ -> [{"Authorization", "Bearer " ++ binary_to_list(Token)}]
end,
Headers = ExtraHeaders ++ AuthHeaders,
ct:pal("~s REQUEST: ~s ~s", [Prefix, Method, URL]),
RequestArg = case Method of
get -> {URL, Headers};