Рефакторинг обработчиков. Часть 3 #21

This commit is contained in:
2026-05-13 23:02:59 +03:00
parent 61bb44ab4a
commit 40806df62a
91 changed files with 6138 additions and 7150 deletions
+11 -1
View File
@@ -2,7 +2,7 @@
-include("records.hrl").
-export([create/3, get_by_email/1, get_by_id/1, list_all/0,
update_role/2, block/1, unblock/1, update_last_login/1]).
-export([update/2]).
-export([update/2, delete/1]).
create(Email, Password, Role) ->
case get_by_email(Email) of
@@ -90,6 +90,16 @@ update_status(Id, Status) ->
Error -> Error
end.
%% Физическое удаление администратора из базы
-spec delete(binary()) -> {ok, deleted} | {error, not_found}.
delete(AdminId) ->
case get_by_id(AdminId) of
{ok, _Admin} ->
mnesia:dirty_delete(admin, AdminId),
{ok, deleted};
Error -> Error
end.
%%%===================================================================
%%% ВНУТРЕННИЕ ФУНКЦИИ
%%%===================================================================
+9 -1
View File
@@ -177,8 +177,16 @@ apply_updates(User, Updates) ->
set_field(email, Value, U) -> U#user{email = Value};
set_field(password_hash, Value, U) -> U#user{password_hash = Value};
set_field(role, Value, U) when Value =:= user; Value =:= admin -> U#user{role = Value};
set_field(role, Value, U) when Value =:= user; Value =:= admin; Value =:= bot -> U#user{role = Value};
set_field(status, Value, U) when Value =:= active; Value =:= frozen; Value =:= deleted -> U#user{status = Value};
set_field(reason, Value, U) -> U#user{reason = Value};
set_field(nickname, Value, U) -> U#user{nickname = Value};
set_field(avatar_url, Value, U) -> U#user{avatar_url = Value};
set_field(timezone, Value, U) -> U#user{timezone = Value};
set_field(language, Value, U) -> U#user{language = Value};
set_field(social_links, Value, U) -> U#user{social_links = Value};
set_field(phone, Value, U) -> U#user{phone = Value};
set_field(preferences, Value, U) -> U#user{preferences = Value};
set_field(_, _, U) -> U.
%% ------------------------------------------------------------------