brokkr-broker::api::v1
Rust
API v1 module for the Brokkr broker.
This module defines the structure and routes for version 1 of the Brokkr API. It includes submodules for various API functionalities and sets up the main router with authentication middleware.
Functions
Section titled “Functions”fn routes
Section titled “fn routes”pub
fn routes( dal: DAL, cors_config: &Cors, reloadable_config: Option<ReloadableConfig>,) -> Router<DAL>Constructs and returns the main router for API v1.
This function combines all the route handlers from different modules and applies the authentication middleware.
Source
pub fn routes( dal: DAL, cors_config: &Cors, reloadable_config: Option<ReloadableConfig>,) -> Router<DAL> { // Configure CORS from settings let cors = build_cors_layer(cors_config);
let mut api_routes = Router::new() .merge(agent_events::routes()) .merge(agents::routes()) .merge(auth::routes()) .merge(deployment_objects::routes()) .merge(diagnostics::routes()) .merge(generators::routes()) .merge(health::routes()) .merge(paks::routes()) .merge(stacks::routes()) .merge(templates::routes()) .merge(webhooks::routes()) .merge(work_orders::routes()) .merge(work_orders::agent_routes()) .merge(admin::routes()) .layer(from_fn_with_state( dal.clone(), middleware::auth_middleware::<axum::body::Body>, )) .layer(cors);
// Add ReloadableConfig as an extension if available if let Some(config) = reloadable_config { api_routes = api_routes.layer(axum::Extension(config)); }
Router::new() .nest("/api/v1", api_routes) .merge(openapi::configure_openapi())}