bitwarden-api-api 3.0.0

Api bindings for the Bitwarden API.
Documentation
/*
 * Bitwarden Internal API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: latest
 *
 * Generated by: https://openapi-generator.tech
 */

use serde::{Deserialize, Serialize};

use crate::models;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CipherWithIdRequestModel {
    /// The Id of the user that encrypted the cipher. It should always represent a UserId.
    #[serde(
        rename = "encryptedFor",
        alias = "EncryptedFor",
        skip_serializing_if = "Option::is_none"
    )]
    pub encrypted_for: Option<uuid::Uuid>,
    #[serde(
        rename = "type",
        alias = "R#type",
        skip_serializing_if = "Option::is_none"
    )]
    pub r#type: Option<models::CipherType>,
    #[serde(
        rename = "organizationId",
        alias = "OrganizationId",
        skip_serializing_if = "Option::is_none"
    )]
    pub organization_id: Option<String>,
    #[serde(
        rename = "folderId",
        alias = "FolderId",
        skip_serializing_if = "Option::is_none"
    )]
    pub folder_id: Option<String>,
    #[serde(
        rename = "favorite",
        alias = "Favorite",
        skip_serializing_if = "Option::is_none"
    )]
    pub favorite: Option<bool>,
    #[serde(
        rename = "reprompt",
        alias = "Reprompt",
        skip_serializing_if = "Option::is_none"
    )]
    pub reprompt: Option<models::CipherRepromptType>,
    #[serde(rename = "key", alias = "Key", skip_serializing_if = "Option::is_none")]
    pub key: Option<String>,
    #[serde(rename = "name", alias = "Name")]
    pub name: String,
    #[serde(
        rename = "notes",
        alias = "Notes",
        skip_serializing_if = "Option::is_none"
    )]
    pub notes: Option<String>,
    #[serde(
        rename = "fields",
        alias = "Fields",
        skip_serializing_if = "Option::is_none"
    )]
    pub fields: Option<Vec<models::CipherFieldModel>>,
    #[serde(
        rename = "passwordHistory",
        alias = "PasswordHistory",
        skip_serializing_if = "Option::is_none"
    )]
    pub password_history: Option<Vec<models::CipherPasswordHistoryModel>>,
    #[serde(
        rename = "attachments",
        alias = "Attachments",
        skip_serializing_if = "Option::is_none"
    )]
    pub attachments: Option<std::collections::HashMap<String, String>>,
    #[serde(
        rename = "attachments2",
        alias = "Attachments2",
        skip_serializing_if = "Option::is_none"
    )]
    pub attachments2: Option<std::collections::HashMap<String, models::CipherAttachmentModel>>,
    #[serde(
        rename = "login",
        alias = "Login",
        skip_serializing_if = "Option::is_none"
    )]
    pub login: Option<Box<models::CipherLoginModel>>,
    #[serde(
        rename = "card",
        alias = "Card",
        skip_serializing_if = "Option::is_none"
    )]
    pub card: Option<Box<models::CipherCardModel>>,
    #[serde(
        rename = "identity",
        alias = "Identity",
        skip_serializing_if = "Option::is_none"
    )]
    pub identity: Option<Box<models::CipherIdentityModel>>,
    #[serde(
        rename = "secureNote",
        alias = "SecureNote",
        skip_serializing_if = "Option::is_none"
    )]
    pub secure_note: Option<Box<models::CipherSecureNoteModel>>,
    #[serde(
        rename = "sshKey",
        alias = "SshKey",
        skip_serializing_if = "Option::is_none"
    )]
    pub ssh_key: Option<Box<models::CipherSshKeyModel>>,
    #[serde(
        rename = "bankAccount",
        alias = "BankAccount",
        skip_serializing_if = "Option::is_none"
    )]
    pub bank_account: Option<Box<models::CipherBankAccountModel>>,
    #[serde(
        rename = "driversLicense",
        alias = "DriversLicense",
        skip_serializing_if = "Option::is_none"
    )]
    pub drivers_license: Option<Box<models::CipherDriversLicenseModel>>,
    #[serde(
        rename = "passport",
        alias = "Passport",
        skip_serializing_if = "Option::is_none"
    )]
    pub passport: Option<Box<models::CipherPassportModel>>,
    /// JSON string containing cipher-specific data
    #[serde(
        rename = "data",
        alias = "Data",
        skip_serializing_if = "Option::is_none"
    )]
    pub data: Option<String>,
    #[serde(
        rename = "lastKnownRevisionDate",
        alias = "LastKnownRevisionDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub last_known_revision_date: Option<String>,
    #[serde(
        rename = "archivedDate",
        alias = "ArchivedDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub archived_date: Option<String>,
    #[serde(rename = "id", alias = "Id")]
    pub id: uuid::Uuid,
}

impl CipherWithIdRequestModel {
    pub fn new(name: String, id: uuid::Uuid) -> CipherWithIdRequestModel {
        CipherWithIdRequestModel {
            encrypted_for: None,
            r#type: None,
            organization_id: None,
            folder_id: None,
            favorite: None,
            reprompt: None,
            key: None,
            name,
            notes: None,
            fields: None,
            password_history: None,
            attachments: None,
            attachments2: None,
            login: None,
            card: None,
            identity: None,
            secure_note: None,
            ssh_key: None,
            bank_account: None,
            drivers_license: None,
            passport: None,
            data: None,
            last_known_revision_date: None,
            archived_date: None,
            id,
        }
    }
}