This commit is contained in:
2025-11-02 09:31:01 +01:00
commit 455e144ffb
37 changed files with 4193 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
use crate::models::AlbumPermission;
pub struct UploadMediaData<'a> {
pub owner_id: uuid::Uuid,
pub filename: String,
pub mime_type: String,
pub stream:
Box<dyn futures::Stream<Item = Result<bytes::Bytes, std::io::Error>> + Send + Unpin + 'a>,
}
pub struct CreateUserData<'a> {
pub username: &'a str,
pub email: &'a str,
pub password: &'a str,
}
pub struct LoginUserData<'a> {
pub username_or_email: &'a str,
pub password: &'a str,
}
pub struct CreateAlbumData<'a> {
pub owner_id: uuid::Uuid,
pub name: &'a str,
pub description: Option<&'a str>,
pub is_public: bool,
}
pub struct AddMediaToAlbumData {
pub album_id: uuid::Uuid,
pub media_ids: Vec<uuid::Uuid>,
}
pub struct ShareAlbumData {
pub album_id: uuid::Uuid,
pub target_user_id: uuid::Uuid,
pub permission: AlbumPermission,
}