fix init_default_admins
This commit is contained in:
@@ -48,6 +48,7 @@ start(_StartType, _StartArgs) ->
|
|||||||
start_swagger_http(), % Swagger UI и спецификация (8447)
|
start_swagger_http(), % Swagger UI и спецификация (8447)
|
||||||
application:ensure_all_started(prometheus),
|
application:ensure_all_started(prometheus),
|
||||||
application:ensure_all_started(prometheus_cowboy),
|
application:ensure_all_started(prometheus_cowboy),
|
||||||
|
init_default_admins(),
|
||||||
{ok, Pid};
|
{ok, Pid};
|
||||||
Error ->
|
Error ->
|
||||||
Error
|
Error
|
||||||
@@ -177,6 +178,37 @@ start_swagger_http() ->
|
|||||||
cowboy:start_clear(swagger_http, [{port, PortSwagger}], #{env => Env, middlewares => Middlewares}),
|
cowboy:start_clear(swagger_http, [{port, PortSwagger}], #{env => Env, middlewares => Middlewares}),
|
||||||
io:format("Swagger HTTP server started on port ~p~n", [PortSwagger]).
|
io:format("Swagger HTTP server started on port ~p~n", [PortSwagger]).
|
||||||
|
|
||||||
|
%% ---------- Инициализация администраторов ----------
|
||||||
|
init_default_admins() ->
|
||||||
|
case core_admin:list_all() of
|
||||||
|
[] ->
|
||||||
|
% Суперадмин
|
||||||
|
SuperEmail = list_to_binary(os:getenv("ADMIN_SUPER_EMAIL", "superadmin@eventhub.local")),
|
||||||
|
SuperPass = list_to_binary(os:getenv("ADMIN_SUPER_PASSWORD", "123456")),
|
||||||
|
{ok, _} = core_admin:create(SuperEmail, SuperPass, superadmin),
|
||||||
|
io:format("Default superadmin created: ~s~n", [SuperEmail]),
|
||||||
|
|
||||||
|
% Админ
|
||||||
|
AdminEmail = list_to_binary(os:getenv("ADMIN_EMAIL", "admin@eventhub.local")),
|
||||||
|
AdminPass = list_to_binary(os:getenv("ADMIN_PASSWORD", "123456")),
|
||||||
|
{ok, _} = core_admin:create(AdminEmail, AdminPass, admin),
|
||||||
|
io:format("Default admin created: ~s~n", [AdminEmail]),
|
||||||
|
|
||||||
|
% Модератор
|
||||||
|
ModerEmail = list_to_binary(os:getenv("ADMIN_MODER_EMAIL", "moderator@eventhub.local")),
|
||||||
|
ModerPass = list_to_binary(os:getenv("ADMIN_MODER_PASSWORD", "123456")),
|
||||||
|
{ok, _} = core_admin:create(ModerEmail, ModerPass, moderator),
|
||||||
|
io:format("Default moderator created: ~s~n", [ModerEmail]),
|
||||||
|
|
||||||
|
% Поддержка
|
||||||
|
SupportEmail = list_to_binary(os:getenv("ADMIN_SUPPORT_EMAIL", "support@eventhub.local")),
|
||||||
|
SupportPass = list_to_binary(os:getenv("ADMIN_SUPPORT_PASSWORD", "123456")),
|
||||||
|
{ok, _} = core_admin:create(SupportEmail, SupportPass, support),
|
||||||
|
io:format("Default support created: ~s~n", [SupportEmail]);
|
||||||
|
_ ->
|
||||||
|
io:format("Admins already exist. Skipping creation.~n")
|
||||||
|
end.
|
||||||
|
|
||||||
get_env_int(Key, Default) ->
|
get_env_int(Key, Default) ->
|
||||||
case application:get_env(eventhub, Key, Default) of
|
case application:get_env(eventhub, Key, Default) of
|
||||||
Val when is_list(Val) -> list_to_integer(Val);
|
Val when is_list(Val) -> list_to_integer(Val);
|
||||||
|
|||||||
@@ -63,7 +63,6 @@ handle_call(init_tables, _From, State) ->
|
|||||||
ok = create_indices(),
|
ok = create_indices(),
|
||||||
ok = stats_collector:subscribe(),
|
ok = stats_collector:subscribe(),
|
||||||
ok = start_cleanup_timer(),
|
ok = start_cleanup_timer(),
|
||||||
init_default_admins(),
|
|
||||||
{reply, ok, State};
|
{reply, ok, State};
|
||||||
|
|
||||||
handle_call({add_nodes, Nodes}, _From, State) ->
|
handle_call({add_nodes, Nodes}, _From, State) ->
|
||||||
@@ -185,37 +184,6 @@ prune_dead_nodes() ->
|
|||||||
catch mnesia:del_table_copy(schema, Node)
|
catch mnesia:del_table_copy(schema, Node)
|
||||||
end, DeadNodes).
|
end, DeadNodes).
|
||||||
|
|
||||||
%% ---------- Инициализация администраторов ----------
|
|
||||||
init_default_admins() ->
|
|
||||||
case core_admin:list_all() of
|
|
||||||
[] ->
|
|
||||||
% Суперадмин
|
|
||||||
SuperEmail = list_to_binary(os:getenv("ADMIN_SUPER_EMAIL", "superadmin@eventhub.local")),
|
|
||||||
SuperPass = list_to_binary(os:getenv("ADMIN_SUPER_PASSWORD", "123456")),
|
|
||||||
{ok, _} = core_admin:create(SuperEmail, SuperPass, superadmin),
|
|
||||||
io:format("Default superadmin created: ~s~n", [SuperEmail]),
|
|
||||||
|
|
||||||
% Админ
|
|
||||||
AdminEmail = list_to_binary(os:getenv("ADMIN_EMAIL", "admin@eventhub.local")),
|
|
||||||
AdminPass = list_to_binary(os:getenv("ADMIN_PASSWORD", "123456")),
|
|
||||||
{ok, _} = core_admin:create(AdminEmail, AdminPass, admin),
|
|
||||||
io:format("Default admin created: ~s~n", [AdminEmail]),
|
|
||||||
|
|
||||||
% Модератор
|
|
||||||
ModerEmail = list_to_binary(os:getenv("ADMIN_MODER_EMAIL", "moderator@eventhub.local")),
|
|
||||||
ModerPass = list_to_binary(os:getenv("ADMIN_MODER_PASSWORD", "123456")),
|
|
||||||
{ok, _} = core_admin:create(ModerEmail, ModerPass, moderator),
|
|
||||||
io:format("Default moderator created: ~s~n", [ModerEmail]),
|
|
||||||
|
|
||||||
% Поддержка
|
|
||||||
SupportEmail = list_to_binary(os:getenv("ADMIN_SUPPORT_EMAIL", "support@eventhub.local")),
|
|
||||||
SupportPass = list_to_binary(os:getenv("ADMIN_SUPPORT_PASSWORD", "123456")),
|
|
||||||
{ok, _} = core_admin:create(SupportEmail, SupportPass, support),
|
|
||||||
io:format("Default support created: ~s~n", [SupportEmail]);
|
|
||||||
_ ->
|
|
||||||
io:format("Admins already exist. Skipping creation.~n")
|
|
||||||
end.
|
|
||||||
|
|
||||||
%% ===================================================================
|
%% ===================================================================
|
||||||
%% Создание / открытие таблиц
|
%% Создание / открытие таблиц
|
||||||
%% ===================================================================
|
%% ===================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user