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 MetadataSearchDto {
    #[serde(rename = "albumIds", skip_serializing_if = "Option::is_none")]
    pub album_ids: Option<Vec<uuid::Uuid>>,
    #[serde(rename = "checksum", skip_serializing_if = "Option::is_none")]
    pub checksum: Option<String>,
    #[serde(rename = "city", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub city: Option<Option<String>>,
    #[serde(rename = "country", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub country: Option<Option<String>>,
    #[serde(rename = "createdAfter", skip_serializing_if = "Option::is_none")]
    pub created_after: Option<String>,
    #[serde(rename = "createdBefore", skip_serializing_if = "Option::is_none")]
    pub created_before: Option<String>,
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    #[serde(rename = "deviceAssetId", skip_serializing_if = "Option::is_none")]
    pub device_asset_id: Option<String>,
    #[serde(rename = "deviceId", skip_serializing_if = "Option::is_none")]
    pub device_id: Option<String>,
    #[serde(rename = "encodedVideoPath", skip_serializing_if = "Option::is_none")]
    pub encoded_video_path: Option<String>,
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<uuid::Uuid>,
    #[serde(rename = "isEncoded", skip_serializing_if = "Option::is_none")]
    pub is_encoded: Option<bool>,
    #[serde(rename = "isFavorite", skip_serializing_if = "Option::is_none")]
    pub is_favorite: Option<bool>,
    #[serde(rename = "isMotion", skip_serializing_if = "Option::is_none")]
    pub is_motion: Option<bool>,
    #[serde(rename = "isNotInAlbum", skip_serializing_if = "Option::is_none")]
    pub is_not_in_album: Option<bool>,
    #[serde(rename = "isOffline", skip_serializing_if = "Option::is_none")]
    pub is_offline: Option<bool>,
    #[serde(rename = "lensModel", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub lens_model: Option<Option<String>>,
    #[serde(rename = "libraryId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub library_id: Option<Option<uuid::Uuid>>,
    #[serde(rename = "make", skip_serializing_if = "Option::is_none")]
    pub make: Option<String>,
    #[serde(rename = "model", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub model: Option<Option<String>>,
    #[serde(rename = "order", skip_serializing_if = "Option::is_none")]
    pub order: Option<models::AssetOrder>,
    #[serde(rename = "originalFileName", skip_serializing_if = "Option::is_none")]
    pub original_file_name: Option<String>,
    #[serde(rename = "originalPath", skip_serializing_if = "Option::is_none")]
    pub original_path: Option<String>,
    #[serde(rename = "page", skip_serializing_if = "Option::is_none")]
    pub page: Option<f64>,
    #[serde(rename = "personIds", skip_serializing_if = "Option::is_none")]
    pub person_ids: Option<Vec<uuid::Uuid>>,
    #[serde(rename = "previewPath", skip_serializing_if = "Option::is_none")]
    pub preview_path: Option<String>,
    #[serde(rename = "rating", skip_serializing_if = "Option::is_none")]
    pub rating: Option<f64>,
    #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
    pub size: Option<f64>,
    #[serde(rename = "state", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub state: Option<Option<String>>,
    #[serde(rename = "tagIds", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub tag_ids: Option<Option<Vec<uuid::Uuid>>>,
    #[serde(rename = "takenAfter", skip_serializing_if = "Option::is_none")]
    pub taken_after: Option<String>,
    #[serde(rename = "takenBefore", skip_serializing_if = "Option::is_none")]
    pub taken_before: Option<String>,
    #[serde(rename = "thumbnailPath", skip_serializing_if = "Option::is_none")]
    pub thumbnail_path: Option<String>,
    #[serde(rename = "trashedAfter", skip_serializing_if = "Option::is_none")]
    pub trashed_after: Option<String>,
    #[serde(rename = "trashedBefore", skip_serializing_if = "Option::is_none")]
    pub trashed_before: Option<String>,
    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
    pub r#type: Option<models::AssetTypeEnum>,
    #[serde(rename = "updatedAfter", skip_serializing_if = "Option::is_none")]
    pub updated_after: Option<String>,
    #[serde(rename = "updatedBefore", skip_serializing_if = "Option::is_none")]
    pub updated_before: Option<String>,
    #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
    pub visibility: Option<models::AssetVisibility>,
    #[serde(rename = "withDeleted", skip_serializing_if = "Option::is_none")]
    pub with_deleted: Option<bool>,
    #[serde(rename = "withExif", skip_serializing_if = "Option::is_none")]
    pub with_exif: Option<bool>,
    #[serde(rename = "withPeople", skip_serializing_if = "Option::is_none")]
    pub with_people: Option<bool>,
    #[serde(rename = "withStacked", skip_serializing_if = "Option::is_none")]
    pub with_stacked: Option<bool>,
}

impl MetadataSearchDto {
    pub fn new() -> MetadataSearchDto {
        MetadataSearchDto {
            album_ids: None,
            checksum: None,
            city: None,
            country: None,
            created_after: None,
            created_before: None,
            description: None,
            device_asset_id: None,
            device_id: None,
            encoded_video_path: None,
            id: None,
            is_encoded: None,
            is_favorite: None,
            is_motion: None,
            is_not_in_album: None,
            is_offline: None,
            lens_model: None,
            library_id: None,
            make: None,
            model: None,
            order: None,
            original_file_name: None,
            original_path: None,
            page: None,
            person_ids: None,
            preview_path: None,
            rating: None,
            size: None,
            state: None,
            tag_ids: None,
            taken_after: None,
            taken_before: None,
            thumbnail_path: None,
            trashed_after: None,
            trashed_before: None,
            r#type: None,
            updated_after: None,
            updated_before: None,
            visibility: None,
            with_deleted: None,
            with_exif: None,
            with_people: None,
            with_stacked: None,
        }
    }
}