47 lines
1.2 KiB
Rust
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))
|
|
}
|