use axum::{ Router, middleware, routing::{get, post}, }; use crate::{ auth::require_bearer_auth, external_generation::{ acknowledge_external_generation_tasks, get_external_generation_job_status, get_external_generation_queue_overview, list_external_generation_tasks, }, state::AppState, }; pub fn router(state: AppState) -> Router { Router::new() .route( "/api/runtime/external-generation/queue-overview", get(get_external_generation_queue_overview).route_layer( middleware::from_fn_with_state(state.clone(), require_bearer_auth), ), ) .route( "/api/runtime/external-generation/jobs", get(list_external_generation_tasks).route_layer(middleware::from_fn_with_state( state.clone(), require_bearer_auth, )), ) .route( "/api/runtime/external-generation/jobs/acknowledge", post(acknowledge_external_generation_tasks).route_layer( middleware::from_fn_with_state(state.clone(), require_bearer_auth), ), ) .route( "/api/runtime/external-generation/jobs/{job_id}", get(get_external_generation_job_status).route_layer(middleware::from_fn_with_state( state.clone(), require_bearer_auth, )), ) }