feat: implement media listing with sorting and filtering options

This commit is contained in:
2025-11-04 05:57:04 +01:00
parent ab8eeb882e
commit eaf4c90fa8
18 changed files with 238 additions and 39 deletions

View File

@@ -52,3 +52,29 @@ pub struct UserResponse {
pub username: String,
pub email: String,
}
#[derive(Debug, Clone)]
pub enum SortOrder {
Asc,
Desc,
}
#[derive(Debug, Clone)]
pub struct SortParams {
pub sort_by: String,
pub sort_order: SortOrder,
}
#[derive(Debug, Clone, Default)]
pub struct FilterParams {
// In the future, you can add fields like:
// pub mime_type: Option<String>,
// pub date_range: Option<(chrono::DateTime<chrono::Utc>, chrono::DateTime<chrono::Utc>)>,
}
#[derive(Debug, Clone)]
pub struct ListMediaOptions {
pub sort: Option<SortParams>,
pub filter: Option<FilterParams>,
// pub pagination: Option<PaginationParams>,
}