bitwarden-api-identity 3.0.0

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

use serde::{Deserialize, Serialize};

use crate::models;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RegisterFinishRequestModel {
    #[serde(rename = "email", alias = "Email")]
    pub email: Option<String>,
    #[serde(
        rename = "emailVerificationToken",
        alias = "EmailVerificationToken",
        skip_serializing_if = "Option::is_none"
    )]
    pub email_verification_token: Option<String>,
    #[serde(
        rename = "masterPasswordAuthentication",
        alias = "MasterPasswordAuthentication",
        skip_serializing_if = "Option::is_none"
    )]
    pub master_password_authentication:
        Option<Box<models::MasterPasswordAuthenticationDataRequestModel>>,
    #[serde(
        rename = "masterPasswordUnlock",
        alias = "MasterPasswordUnlock",
        skip_serializing_if = "Option::is_none"
    )]
    pub master_password_unlock: Option<Box<models::MasterPasswordUnlockDataRequestModel>>,
    #[serde(
        rename = "masterPasswordHash",
        alias = "MasterPasswordHash",
        skip_serializing_if = "Option::is_none"
    )]
    pub master_password_hash: Option<String>,
    #[serde(
        rename = "masterPasswordHint",
        alias = "MasterPasswordHint",
        skip_serializing_if = "Option::is_none"
    )]
    pub master_password_hint: Option<String>,
    #[serde(
        rename = "userSymmetricKey",
        alias = "UserSymmetricKey",
        skip_serializing_if = "Option::is_none"
    )]
    pub user_symmetric_key: Option<String>,
    #[serde(
        rename = "userAsymmetricKeys",
        alias = "UserAsymmetricKeys",
        skip_serializing_if = "Option::is_none"
    )]
    pub user_asymmetric_keys: Option<Box<models::KeysRequestModel>>,
    #[serde(
        rename = "accountKeys",
        alias = "AccountKeys",
        skip_serializing_if = "Option::is_none"
    )]
    pub account_keys: Option<Box<models::AccountKeysRequestModel>>,
    #[serde(rename = "kdf", alias = "Kdf", skip_serializing_if = "Option::is_none")]
    pub kdf: Option<models::KdfType>,
    #[serde(
        rename = "kdfIterations",
        alias = "KdfIterations",
        skip_serializing_if = "Option::is_none"
    )]
    pub kdf_iterations: Option<i32>,
    #[serde(
        rename = "kdfMemory",
        alias = "KdfMemory",
        skip_serializing_if = "Option::is_none"
    )]
    pub kdf_memory: Option<i32>,
    #[serde(
        rename = "kdfParallelism",
        alias = "KdfParallelism",
        skip_serializing_if = "Option::is_none"
    )]
    pub kdf_parallelism: Option<i32>,
    #[serde(
        rename = "organizationUserId",
        alias = "OrganizationUserId",
        skip_serializing_if = "Option::is_none"
    )]
    pub organization_user_id: Option<uuid::Uuid>,
    #[serde(
        rename = "orgInviteToken",
        alias = "OrgInviteToken",
        skip_serializing_if = "Option::is_none"
    )]
    pub org_invite_token: Option<String>,
    #[serde(
        rename = "orgSponsoredFreeFamilyPlanToken",
        alias = "OrgSponsoredFreeFamilyPlanToken",
        skip_serializing_if = "Option::is_none"
    )]
    pub org_sponsored_free_family_plan_token: Option<String>,
    #[serde(
        rename = "acceptEmergencyAccessInviteToken",
        alias = "AcceptEmergencyAccessInviteToken",
        skip_serializing_if = "Option::is_none"
    )]
    pub accept_emergency_access_invite_token: Option<String>,
    #[serde(
        rename = "acceptEmergencyAccessId",
        alias = "AcceptEmergencyAccessId",
        skip_serializing_if = "Option::is_none"
    )]
    pub accept_emergency_access_id: Option<uuid::Uuid>,
    #[serde(
        rename = "providerInviteToken",
        alias = "ProviderInviteToken",
        skip_serializing_if = "Option::is_none"
    )]
    pub provider_invite_token: Option<String>,
    #[serde(
        rename = "providerUserId",
        alias = "ProviderUserId",
        skip_serializing_if = "Option::is_none"
    )]
    pub provider_user_id: Option<uuid::Uuid>,
}

impl RegisterFinishRequestModel {
    pub fn new(email: Option<String>) -> RegisterFinishRequestModel {
        RegisterFinishRequestModel {
            email,
            email_verification_token: None,
            master_password_authentication: None,
            master_password_unlock: None,
            master_password_hash: None,
            master_password_hint: None,
            user_symmetric_key: None,
            user_asymmetric_keys: None,
            account_keys: None,
            kdf: None,
            kdf_iterations: None,
            kdf_memory: None,
            kdf_parallelism: None,
            organization_user_id: None,
            org_invite_token: None,
            org_sponsored_free_family_plan_token: None,
            accept_emergency_access_invite_token: None,
            accept_emergency_access_id: None,
            provider_invite_token: None,
            provider_user_id: None,
        }
    }
}