Files
warren/backend/src/lib/inbound/http/handlers/warrens/mod.rs
2025-07-29 21:17:39 +02:00

47 lines
1.2 KiB
Rust

mod fetch_warren;
mod list_warrens;
mod upload_warren_files;
mod warren_cat;
mod warren_ls;
mod warren_mkdir;
mod warren_move;
mod warren_rm;
use axum::{
Router,
extract::DefaultBodyLimit,
routing::{get, post},
};
use crate::{
domain::warren::ports::{AuthService, WarrenService},
inbound::http::AppState,
};
use fetch_warren::fetch_warren;
use list_warrens::list_warrens;
use warren_ls::list_warren_files;
use warren_mkdir::create_warren_directory;
use warren_rm::warren_rm;
use upload_warren_files::warren_save;
use warren_cat::fetch_file;
use warren_move::warren_move;
pub fn routes<WS: WarrenService, AS: AuthService>() -> Router<AppState<WS, AS>> {
Router::new()
.route("/", get(list_warrens))
.route("/", post(fetch_warren))
.route("/files/cat", get(fetch_file))
.route("/files/ls", post(list_warren_files))
.route("/files/mkdir", post(create_warren_directory))
.route("/files/rm", post(warren_rm))
.route(
"/files/save",
// 10737418240 bytes = 10GB
post(warren_save).route_layer(DefaultBodyLimit::max(10737418240)),
)
.route("/files/mv", post(warren_move))
}