bagofix
Test & Deploy to Snapdeploy / build-test-deploy (push) Failing after 24m46s

This commit is contained in:
2026-06-05 23:20:03 +03:00
parent 2497fe951b
commit 17b2e617d7
41 changed files with 365 additions and 194 deletions
+24 -4
View File
@@ -2,7 +2,7 @@
-include("records.hrl").
-export([is_admin/1, check_role/2, get_permissions/1, is_superadmin/1]).
-export([client_ip/1]). % ← IP
-export([log_admin_action/5]). % ← аудит действий администратора
-export([log_admin_action/6]). % ← аудит действий администратора
-export([ip_to_binary/1]). % ← преобразование IP
%% -- существующие функции -------------------------------------------------
@@ -71,14 +71,34 @@ ip_to_binary(_) ->
%% EntityType – тип сущности (напр. <<"admin">>, <<"banned_word">>)
%% EntityId – идентификатор сущности
%% Req cowboy_req для извлечения IP
-spec log_admin_action(binary(), binary(), binary(), term(), cowboy_req:req()) -> ok.
log_admin_action(AdminId, Action, EntityType, EntityId, Req) ->
%%-spec log_admin_action(binary(), binary(), binary(), term(), cowboy_req:req()) -> ok.
%%log_admin_action(AdminId, Action, EntityType, EntityId, Req) ->
%% case core_admin:get_by_id(AdminId) of
%% {ok, Admin} ->
%% Email = Admin#admin.email,
%% Role = atom_to_binary(Admin#admin.role, utf8),
%% Ip = ip_to_binary(cowboy_req:peer(Req)),
%% core_admin_audit:log(AdminId, Email, Role, Action, EntityType, EntityId, Ip),
%% ok;
%% _ -> ok
%% end.
%% @doc Логирует действие администратора.
%% Параметры:
%% AdminId – ID администратора, выполнившего действие
%% Action – бинарная строка действия (напр. <<"create">>)
%% EntityType – тип сущности (напр. <<"admin">>, <<"banned_word">>)
%% EntityId – идентификатор сущности
%% Reason - причина
%% Req cowboy_req для извлечения IP
-spec log_admin_action(binary(), binary(), binary(), term(), binary(), cowboy_req:req()) -> ok.
log_admin_action(AdminId, Action, EntityType, EntityId, Reason, Req) ->
case core_admin:get_by_id(AdminId) of
{ok, Admin} ->
Email = Admin#admin.email,
Role = atom_to_binary(Admin#admin.role, utf8),
Ip = ip_to_binary(cowboy_req:peer(Req)),
core_admin_audit:log(AdminId, Email, Role, Action, EntityType, EntityId, Ip),
core_admin_audit:log(AdminId, Email, Role, Action, EntityType, EntityId, Ip, Reason),
ok;
_ -> ok
end.