27 lines
862 B
Rust
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)))
|
|
}
|