24 lines
1 KiB
Python
24 lines
1 KiB
Python
from __future__ import annotations
|
|
|
|
from collections.abc import Awaitable, Callable
|
|
from typing import Any
|
|
|
|
from quart import Quart
|
|
|
|
from repub.web.admin.actions import register_admin_actions
|
|
from repub.web.admin.pages.dashboard import register_dashboard_routes
|
|
from repub.web.admin.pages.logs import register_log_routes
|
|
from repub.web.admin.pages.runs import register_runs_routes
|
|
from repub.web.admin.pages.settings import register_settings_routes
|
|
from repub.web.admin.pages.sources import register_source_routes
|
|
|
|
RouteGuard = Callable[[Callable[..., Awaitable[Any]]], Callable[..., Awaitable[Any]]]
|
|
|
|
|
|
def register_admin_routes(app: Quart, *, admin_required: RouteGuard) -> None:
|
|
register_dashboard_routes(app, admin_required=admin_required)
|
|
register_source_routes(app, admin_required=admin_required)
|
|
register_runs_routes(app, admin_required=admin_required)
|
|
register_settings_routes(app, admin_required=admin_required)
|
|
register_log_routes(app, admin_required=admin_required)
|
|
register_admin_actions(app, admin_required=admin_required)
|