bitwarden-api-api 1.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 UpdateKeyRequestModel {
    #[serde(rename = "masterPasswordHash")]
    pub master_password_hash: String,
    #[serde(rename = "key")]
    pub key: String,
    #[serde(rename = "privateKey")]
    pub private_key: String,
    #[serde(rename = "ciphers", skip_serializing_if = "Option::is_none")]
    pub ciphers: Option<Vec<models::CipherWithIdRequestModel>>,
    #[serde(rename = "folders", skip_serializing_if = "Option::is_none")]
    pub folders: Option<Vec<models::FolderWithIdRequestModel>>,
    #[serde(rename = "sends", skip_serializing_if = "Option::is_none")]
    pub sends: Option<Vec<models::SendWithIdRequestModel>>,
    #[serde(
        rename = "emergencyAccessKeys",
        skip_serializing_if = "Option::is_none"
    )]
    pub emergency_access_keys: Option<Vec<models::EmergencyAccessWithIdRequestModel>>,
    #[serde(rename = "resetPasswordKeys", skip_serializing_if = "Option::is_none")]
    pub reset_password_keys: Option<Vec<models::ResetPasswordWithOrgIdRequestModel>>,
    #[serde(rename = "webAuthnKeys", skip_serializing_if = "Option::is_none")]
    pub web_authn_keys: Option<Vec<models::WebAuthnLoginRotateKeyRequestModel>>,
}

impl UpdateKeyRequestModel {
    pub fn new(
        master_password_hash: String,
        key: String,
        private_key: String,
    ) -> UpdateKeyRequestModel {
        UpdateKeyRequestModel {
            master_password_hash,
            key,
            private_key,
            ciphers: None,
            folders: None,
            sends: None,
            emergency_access_keys: None,
            reset_password_keys: None,
            web_authn_keys: None,
        }
    }
}