53 lines
1.3 KiB
Rust
53 lines
1.3 KiB
Rust
use serde::{Deserialize, Serialize};
|
|
use uuid::Uuid;
|
|
|
|
#[derive(Debug, Serialize, Deserialize, Clone)]
|
|
pub struct Album {
|
|
pub id: Uuid,
|
|
pub title: String,
|
|
pub description: Option<String>,
|
|
pub cover_image_id: Option<Uuid>,
|
|
pub image_count: i64,
|
|
pub created_at: String,
|
|
pub updated_at: String,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize, Clone)]
|
|
pub struct AlbumInfo {
|
|
pub id: Uuid,
|
|
pub title: String,
|
|
pub document: String,
|
|
pub description: Option<String>,
|
|
pub cover_image_id: Option<String>,
|
|
pub image_count: i64,
|
|
pub created_at: String,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize)]
|
|
pub struct AlbumWithImages {
|
|
pub album: Album,
|
|
pub images: Vec<super::image::Image>,
|
|
pub image_count: i64,
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize)]
|
|
pub struct CreateAlbum {
|
|
pub title: String,
|
|
pub document: String,
|
|
pub description: Option<String>,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize)]
|
|
pub struct AlbumIndex {
|
|
pub title: String,
|
|
pub images: Vec<String>,
|
|
}
|
|
|
|
/// 相册完整元数据(精简版:仅保留 albums 表原始字段)
|
|
#[derive(Debug, Serialize, Deserialize, Clone)]
|
|
pub struct AlbumMeta {
|
|
pub id: String,
|
|
pub title: Option<String>,
|
|
pub cover_image_id: Option<String>,
|
|
pub image_count: Option<i64>,
|
|
} |