Рефакторинг обработчиков. Часть 3 #21
This commit is contained in:
+11
-1
@@ -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.
|
||||
|
||||
%%%===================================================================
|
||||
%%% ВНУТРЕННИЕ ФУНКЦИИ
|
||||
%%%===================================================================
|
||||
|
||||
@@ -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.
|
||||
|
||||
%% ------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user