use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PersonWithFacesResponseDto {
#[serde(rename = "birthDate", deserialize_with = "Option::deserialize")]
pub birth_date: Option<String>,
#[serde(rename = "color", skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(rename = "faces")]
pub faces: Vec<models::AssetFaceWithoutPersonResponseDto>,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "isFavorite", skip_serializing_if = "Option::is_none")]
pub is_favorite: Option<bool>,
#[serde(rename = "isHidden")]
pub is_hidden: bool,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "thumbnailPath")]
pub thumbnail_path: String,
#[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
impl PersonWithFacesResponseDto {
pub fn new(birth_date: Option<String>, faces: Vec<models::AssetFaceWithoutPersonResponseDto>, id: String, is_hidden: bool, name: String, thumbnail_path: String) -> PersonWithFacesResponseDto {
PersonWithFacesResponseDto {
birth_date,
color: None,
faces,
id,
is_favorite: None,
is_hidden,
name,
thumbnail_path,
updated_at: None,
}
}
}