pub mod chat; pub mod models; mod openapi; use crate::auth::middleware::auth_middleware; use crate::state::app_state::AppState; use axum::{Router, middleware, routing::get, routing::post}; // fn public_router() -> Router { // Router::new().route("/openapi.json", get(openapi::openapi_json)) // } pub fn protected_router() -> Router { Router::new() .route("/models", get(models::list_models)) .route("/completions", post(chat::completions)) .route("/chat/completions", post(chat::chat_completions)) .route("/models/{model}/load", post(models::load_model)) .route("/models/{model}/unload", post(models::unload_model)) } pub fn router() -> Router { Router::new() // .merge(public_router()) .merge(protected_router().layer(middleware::from_fn(auth_middleware))) }