Files
chat-api/src/routes/v1/mod.rs
T
2026-04-10 21:33:52 +02:00

27 lines
862 B
Rust

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<AppState> {
// Router::new().route("/openapi.json", get(openapi::openapi_json))
// }
pub fn protected_router() -> Router<AppState> {
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<AppState> {
Router::new()
// .merge(public_router())
.merge(protected_router().layer(middleware::from_fn(auth_middleware)))
}