feat: Implement album and person sharing with user search and a dedicated share dialog.

This commit is contained in:
2025-12-04 00:58:10 +01:00
parent 74d74a128b
commit 7f07169064
23 changed files with 816 additions and 66 deletions

View File

@@ -66,6 +66,17 @@ pub struct ShareAlbumRequest {
pub permission: AlbumPermission,
}
#[derive(Deserialize)]
pub struct UnshareAlbumRequest {
pub target_user_id: Uuid,
}
#[derive(Serialize)]
pub struct AlbumShareResponse {
pub user: UserResponse,
pub permission: AlbumPermission,
}
#[derive(Serialize)]
pub struct AlbumResponse {
pub id: Uuid,
@@ -246,12 +257,23 @@ pub struct SharePersonRequest {
pub permission: PersonPermission,
}
#[derive(Deserialize)]
pub struct UnsharePersonRequest {
pub target_user_id: Uuid,
}
#[derive(Serialize)]
pub struct PublicAlbumBundleResponse {
pub album: AlbumResponse,
pub media: Vec<MediaResponse>,
}
#[derive(Serialize)]
pub struct PersonShareResponse {
pub user: UserResponse,
pub permission: PersonPermission,
}
#[derive(Deserialize)]
pub struct MergePersonRequest {
pub source_person_id: Uuid,