2025-05-04 20:17:09 +00:00
|
|
|
pub mod handlers;
|
2025-04-05 17:10:55 +00:00
|
|
|
mod models;
|
|
|
|
mod sql;
|
|
|
|
|
|
|
|
use axum::extract::DefaultBodyLimit;
|
|
|
|
use utoipa_axum::{router::OpenApiRouter, routes};
|
|
|
|
|
2025-05-04 20:17:09 +00:00
|
|
|
use crate::login_required;
|
2025-04-05 17:10:55 +00:00
|
|
|
|
2025-05-04 20:17:09 +00:00
|
|
|
use handlers::{
|
|
|
|
files_draft_delete::*, files_draft_get::*, files_draft_post::*, files_file_get::*,
|
|
|
|
files_order_bundle_get::*, files_order_get::*, files_order_post::*,
|
|
|
|
};
|
2025-04-05 17:10:55 +00:00
|
|
|
|
|
|
|
const FILE_SIZE_LIMIT_MB: usize = 20;
|
|
|
|
|
|
|
|
// expose the OpenAPI to parent module
|
|
|
|
pub fn router() -> OpenApiRouter {
|
|
|
|
OpenApiRouter::new()
|
2025-05-04 20:17:09 +00:00
|
|
|
.routes(routes!(get_specified_file))
|
|
|
|
.routes(routes!(get_attached_order_files_zip_bundle))
|
|
|
|
.routes(routes!(
|
|
|
|
upload_draft_file,
|
|
|
|
get_attached_draft_files,
|
|
|
|
delete_draft_file
|
|
|
|
))
|
|
|
|
.routes(routes!(upload_order_file, get_attached_order_files))
|
2025-04-05 17:10:55 +00:00
|
|
|
.layer(DefaultBodyLimit::max(FILE_SIZE_LIMIT_MB * 1000 * 1000))
|
2025-05-04 20:17:09 +00:00
|
|
|
.route_layer(login_required!())
|
2025-04-05 17:10:55 +00:00
|
|
|
}
|