use serde::{Deserialize, Serialize};
use super::exif::ExifInfo;
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)]
#[serde(rename_all = "UPPERCASE")]
pub enum AssetType {
Image,
Video,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct AssetResponse {
pub id: String,
pub original_file_name: String,
pub file_created_at: String,
pub local_date_time: String,
#[serde(rename = "type")]
pub asset_type: AssetType,
pub exif_info: Option<ExifInfo>,
pub checksum: String,
pub is_trashed: bool,
pub is_favorite: bool,
pub is_archived: bool,
pub has_metadata: bool,
pub duration: String,
pub owner_id: String,
#[serde(default)]
pub original_mime_type: Option<String>,
#[serde(default)]
pub duplicate_id: Option<String>,
#[serde(default)]
pub thumbhash: Option<String>,
}
impl AssetResponse {
pub fn has_exif(&self) -> bool {
self.exif_info.is_some()
}
}