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 RandomSearchDto {
    #[serde(rename = "albumIds", skip_serializing_if = "Option::is_none")]
    pub album_ids: Option<Vec<uuid::Uuid>>,
    #[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 = "deviceId", skip_serializing_if = "Option::is_none")]
    pub device_id: Option<String>,
    #[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 = "personIds", skip_serializing_if = "Option::is_none")]
    pub person_ids: Option<Vec<uuid::Uuid>>,
    #[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 = "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 RandomSearchDto {
    pub fn new() -> RandomSearchDto {
        RandomSearchDto {
            album_ids: None,
            city: None,
            country: None,
            created_after: None,
            created_before: None,
            device_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,
            person_ids: None,
            rating: None,
            size: None,
            state: None,
            tag_ids: None,
            taken_after: None,
            taken_before: 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,
        }
    }
}