//! Auto-registration for routes annotated with `#[get]`/`#[post]`/`#[put]`/`#[delete]`/
//! `#[patch]` (from `stano-route-macros`). Each annotated handler submits a
//! [`RouteRegistration`] via
//! `inventory::submit!` at compile time; [`collect_routes`] folds all of them into a single
//! [`OpenApiRouter`] at startup, so `stano_launcher::run` never needs a hand-maintained
//! list of `.routes(routes!(handler))` calls.
use ApplicationContext;
use Arc;
use OpenApiRouter;
pub use inventory;
pub use utoipa_axum;
/// A route registration collected via `#[get]`/`#[post]`/etc.'s `inventory::submit!`, applied by
/// [`collect_routes`]. Wraps a factory that builds the handler's `utoipa_axum::routes!`
/// tuple (schemas, OpenAPI paths, and the `MethodRouter`). Per-request authorization is
/// applied globally via `stano_axum::security::AuthorizationLayer` (see
/// `stano_launcher::run`), not per-route here.
,
);
collect!;
/// Folds every [`RouteRegistration`] collected via `#[get]`/`#[post]`/etc.'s
/// `inventory::submit!` into a single [`OpenApiRouter`].