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 SyncAssetExifV1 {
    #[serde(rename = "assetId")]
    pub asset_id: String,
    #[serde(rename = "city", deserialize_with = "Option::deserialize")]
    pub city: Option<String>,
    #[serde(rename = "country", deserialize_with = "Option::deserialize")]
    pub country: Option<String>,
    #[serde(rename = "dateTimeOriginal", deserialize_with = "Option::deserialize")]
    pub date_time_original: Option<String>,
    #[serde(rename = "description", deserialize_with = "Option::deserialize")]
    pub description: Option<String>,
    #[serde(rename = "exifImageHeight", deserialize_with = "Option::deserialize")]
    pub exif_image_height: Option<i32>,
    #[serde(rename = "exifImageWidth", deserialize_with = "Option::deserialize")]
    pub exif_image_width: Option<i32>,
    #[serde(rename = "exposureTime", deserialize_with = "Option::deserialize")]
    pub exposure_time: Option<String>,
    #[serde(rename = "fNumber", deserialize_with = "Option::deserialize")]
    pub f_number: Option<f64>,
    #[serde(rename = "fileSizeInByte", deserialize_with = "Option::deserialize")]
    pub file_size_in_byte: Option<i32>,
    #[serde(rename = "focalLength", deserialize_with = "Option::deserialize")]
    pub focal_length: Option<f64>,
    #[serde(rename = "fps", deserialize_with = "Option::deserialize")]
    pub fps: Option<f64>,
    #[serde(rename = "iso", deserialize_with = "Option::deserialize")]
    pub iso: Option<i32>,
    #[serde(rename = "latitude", deserialize_with = "Option::deserialize")]
    pub latitude: Option<f64>,
    #[serde(rename = "lensModel", deserialize_with = "Option::deserialize")]
    pub lens_model: Option<String>,
    #[serde(rename = "longitude", deserialize_with = "Option::deserialize")]
    pub longitude: Option<f64>,
    #[serde(rename = "make", deserialize_with = "Option::deserialize")]
    pub make: Option<String>,
    #[serde(rename = "model", deserialize_with = "Option::deserialize")]
    pub model: Option<String>,
    #[serde(rename = "modifyDate", deserialize_with = "Option::deserialize")]
    pub modify_date: Option<String>,
    #[serde(rename = "orientation", deserialize_with = "Option::deserialize")]
    pub orientation: Option<String>,
    #[serde(rename = "profileDescription", deserialize_with = "Option::deserialize")]
    pub profile_description: Option<String>,
    #[serde(rename = "projectionType", deserialize_with = "Option::deserialize")]
    pub projection_type: Option<String>,
    #[serde(rename = "rating", deserialize_with = "Option::deserialize")]
    pub rating: Option<i32>,
    #[serde(rename = "state", deserialize_with = "Option::deserialize")]
    pub state: Option<String>,
    #[serde(rename = "timeZone", deserialize_with = "Option::deserialize")]
    pub time_zone: Option<String>,
}

impl SyncAssetExifV1 {
    pub fn new(asset_id: String, city: Option<String>, country: Option<String>, date_time_original: Option<String>, description: Option<String>, exif_image_height: Option<i32>, exif_image_width: Option<i32>, exposure_time: Option<String>, f_number: Option<f64>, file_size_in_byte: Option<i32>, focal_length: Option<f64>, fps: Option<f64>, iso: Option<i32>, latitude: Option<f64>, lens_model: Option<String>, longitude: Option<f64>, make: Option<String>, model: Option<String>, modify_date: Option<String>, orientation: Option<String>, profile_description: Option<String>, projection_type: Option<String>, rating: Option<i32>, state: Option<String>, time_zone: Option<String>) -> SyncAssetExifV1 {
        SyncAssetExifV1 {
            asset_id,
            city,
            country,
            date_time_original,
            description,
            exif_image_height,
            exif_image_width,
            exposure_time,
            f_number,
            file_size_in_byte,
            focal_length,
            fps,
            iso,
            latitude,
            lens_model,
            longitude,
            make,
            model,
            modify_date,
            orientation,
            profile_description,
            projection_type,
            rating,
            state,
            time_zone,
        }
    }
}