use serde::{Deserialize, Serialize};
use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CipherWithIdRequestModel {
#[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>>,
#[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,
}
}
}