immich_api_rs 1.137.3

Immich API
Documentation
/*
 * Immich
 *
 * Immich API
 *
 * The version of the OpenAPI document: 1.137.3
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SyncAssetV1 {
    #[serde(rename = "checksum")]
    pub checksum: String,
    #[serde(rename = "deletedAt", deserialize_with = "Option::deserialize")]
    pub deleted_at: Option<String>,
    #[serde(rename = "duration", deserialize_with = "Option::deserialize")]
    pub duration: Option<String>,
    #[serde(rename = "fileCreatedAt", deserialize_with = "Option::deserialize")]
    pub file_created_at: Option<String>,
    #[serde(rename = "fileModifiedAt", deserialize_with = "Option::deserialize")]
    pub file_modified_at: Option<String>,
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "isFavorite")]
    pub is_favorite: bool,
    #[serde(rename = "libraryId", deserialize_with = "Option::deserialize")]
    pub library_id: Option<String>,
    #[serde(rename = "livePhotoVideoId", deserialize_with = "Option::deserialize")]
    pub live_photo_video_id: Option<String>,
    #[serde(rename = "localDateTime", deserialize_with = "Option::deserialize")]
    pub local_date_time: Option<String>,
    #[serde(rename = "originalFileName")]
    pub original_file_name: String,
    #[serde(rename = "ownerId")]
    pub owner_id: String,
    #[serde(rename = "stackId", deserialize_with = "Option::deserialize")]
    pub stack_id: Option<String>,
    #[serde(rename = "thumbhash", deserialize_with = "Option::deserialize")]
    pub thumbhash: Option<String>,
    #[serde(rename = "type")]
    pub r#type: models::AssetTypeEnum,
    #[serde(rename = "visibility")]
    pub visibility: models::AssetVisibility,
}

impl SyncAssetV1 {
    pub fn new(checksum: String, deleted_at: Option<String>, duration: Option<String>, file_created_at: Option<String>, file_modified_at: Option<String>, id: String, is_favorite: bool, library_id: Option<String>, live_photo_video_id: Option<String>, local_date_time: Option<String>, original_file_name: String, owner_id: String, stack_id: Option<String>, thumbhash: Option<String>, r#type: models::AssetTypeEnum, visibility: models::AssetVisibility) -> SyncAssetV1 {
        SyncAssetV1 {
            checksum,
            deleted_at,
            duration,
            file_created_at,
            file_modified_at,
            id,
            is_favorite,
            library_id,
            live_photo_video_id,
            local_date_time,
            original_file_name,
            owner_id,
            stack_id,
            thumbhash,
            r#type,
            visibility,
        }
    }
}