12274f9ed0
Prefs in user.preferences; push_subscription table; VAPID send on reminder/waitlist. Refs EventHub/EventHubBack#75
131 lines
4.5 KiB
Erlang
Executable File
131 lines
4.5 KiB
Erlang
Executable File
-module(eventhub_trails).
|
|
-export([admin/0, user/0, all/0]).
|
|
|
|
%%%-------------------------------------------------------------------
|
|
%%% @doc Возвращает список Swagger-трасс для административных эндпоинтов.
|
|
%%% @end
|
|
%%%-------------------------------------------------------------------
|
|
-spec admin() -> [map()].
|
|
admin() ->
|
|
Modules = [
|
|
% ================== БАЗОВЫЕ ==================
|
|
admin_handler_health,
|
|
admin_handler_stats,
|
|
admin_handler_node_metrics,
|
|
admin_handler_login,
|
|
admin_handler_refresh,
|
|
admin_handler_logout,
|
|
% ================== ПОЛЬЗОВАТЕЛИ ==================
|
|
admin_handler_users,
|
|
admin_handler_user_by_id,
|
|
admin_handler_user_verification_token,
|
|
admin_handler_user_password_reset_token,
|
|
admin_handler_user_stats,
|
|
% ================== КАЛЕНДАРИ ==================
|
|
admin_handler_calendars,
|
|
admin_handler_calendar_stats,
|
|
admin_handler_calendar_by_id,
|
|
% ================== СОБЫТИЯ ==================
|
|
admin_handler_events,
|
|
admin_handler_event_stats,
|
|
admin_handler_event_by_id,
|
|
% ================== ОТЧЁТЫ ==================
|
|
admin_handler_reports,
|
|
admin_handler_report_stats,
|
|
admin_handler_report_by_id,
|
|
% ================== ОТЗЫВЫ ==================
|
|
admin_handler_reviews,
|
|
admin_handler_reviews_stats,
|
|
admin_handler_reviews_by_id,
|
|
% ================== БАН-СЛОВА ==================
|
|
admin_handler_banned_words,
|
|
% ================== АВТОМОДЕРАЦИЯ ==================
|
|
admin_handler_automod,
|
|
% ================== ТИКЕТЫ ==================
|
|
admin_handler_ticket_stats,
|
|
admin_handler_ticket_by_id,
|
|
admin_handler_tickets,
|
|
% ================== ПОДПИСКИ ==================
|
|
admin_handler_subscriptions,
|
|
admin_handler_subscription_stats,
|
|
admin_handler_subscriptions_by_id,
|
|
% ================== МОДЕРАЦИЯ (общий маршрут) ==================
|
|
admin_handler_moderation,
|
|
% ================== Управление ролями (только для superadmin) ==================
|
|
admin_handler_me,
|
|
admin_handler_admins,
|
|
admin_handler_admins_by_id,
|
|
admin_handler_audit
|
|
],
|
|
lists:flatmap(fun trails_from_module/1, Modules).
|
|
|
|
%%%-------------------------------------------------------------------
|
|
%%% @doc Возвращает список Swagger-трасс для пользовательских эндпоинтов.
|
|
%%% @end
|
|
%%%-------------------------------------------------------------------
|
|
-spec user() -> [map()].
|
|
user() ->
|
|
Modules = [
|
|
handler_health,
|
|
handler_register,
|
|
handler_login,
|
|
handler_refresh,
|
|
handler_logout,
|
|
handler_verify,
|
|
handler_forgot_password,
|
|
handler_reset_password,
|
|
handler_booking_by_id,
|
|
handler_bookings,
|
|
handler_calendar_by_id,
|
|
handler_calendar_follow,
|
|
handler_calendar_specialists,
|
|
handler_calendar_specialist_invites,
|
|
handler_specialist_invites,
|
|
handler_users_lookup,
|
|
handler_calendar_view,
|
|
handler_calendars,
|
|
handler_event_by_id,
|
|
handler_event_occurrences,
|
|
handler_events,
|
|
handler_event_waitlist,
|
|
handler_reports,
|
|
handler_review_by_id,
|
|
handler_review_vote,
|
|
handler_reviews,
|
|
handler_search,
|
|
handler_subscription,
|
|
handler_ticket_by_id,
|
|
handler_tickets,
|
|
handler_user_bookings,
|
|
handler_user_booking_requests,
|
|
handler_user_studio_bookings,
|
|
handler_user_following,
|
|
handler_user_me,
|
|
handler_user_avatar,
|
|
handler_notification_prefs,
|
|
handler_push,
|
|
handler_calendar_cover,
|
|
handler_media,
|
|
handler_user_reviews
|
|
],
|
|
lists:flatmap(fun trails_from_module/1, Modules).
|
|
|
|
%%%-------------------------------------------------------------------
|
|
%%% @doc Возвращает полный список Swagger-трасс (административные + пользовательские).
|
|
%%% @end
|
|
%%%-------------------------------------------------------------------
|
|
-spec all() -> [map()].
|
|
all() ->
|
|
admin() ++ user().
|
|
|
|
%%%-------------------------------------------------------------------
|
|
%%% @doc Безопасно извлекает `trails/0` из модуля.
|
|
%%% Если функция отсутствует, возвращает пустой список.
|
|
%%% @end
|
|
%%%-------------------------------------------------------------------
|
|
-spec trails_from_module(atom()) -> [map()].
|
|
trails_from_module(Module) ->
|
|
try Module:trails() of
|
|
Trails when is_list(Trails) -> Trails
|
|
catch error:undef -> []
|
|
end. |