from __future__ import annotations from collections.abc import Awaitable, Callable from typing import Any from quart import Quart from repub.web.publisher.actions import register_publisher_actions from repub.web.publisher.pages.dashboard import register_publisher_dashboard_routes RouteGuard = Callable[[Callable[..., Awaitable[Any]]], Callable[..., Awaitable[Any]]] def register_publisher_routes( app: Quart, *, publisher_required: RouteGuard, admin_required: RouteGuard, ) -> None: register_publisher_dashboard_routes( app, publisher_required=publisher_required, admin_required=admin_required, ) register_publisher_actions( app, publisher_required=publisher_required, admin_required=admin_required, )