bitwarden_api_api/models/
credential_create_options.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12use serde_with::serde_as;
13
14use crate::models;
15
16#[serde_as]
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
18pub struct CredentialCreateOptions {
19    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
20    pub status: Option<String>,
21    #[serde(rename = "errorMessage", skip_serializing_if = "Option::is_none")]
22    pub error_message: Option<String>,
23    #[serde(rename = "rp", skip_serializing_if = "Option::is_none")]
24    pub rp: Option<Box<models::PublicKeyCredentialRpEntity>>,
25    #[serde(rename = "user", skip_serializing_if = "Option::is_none")]
26    pub user: Option<Box<models::Fido2User>>,
27    #[serde_as(as = "Option<serde_with::base64::Base64>")]
28    #[serde(rename = "challenge", skip_serializing_if = "Option::is_none")]
29    pub challenge: Option<Vec<u8>>,
30    #[serde(rename = "pubKeyCredParams", skip_serializing_if = "Option::is_none")]
31    pub pub_key_cred_params: Option<Vec<models::PubKeyCredParam>>,
32    #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
33    pub timeout: Option<i64>,
34    #[serde(rename = "attestation", skip_serializing_if = "Option::is_none")]
35    pub attestation: Option<models::AttestationConveyancePreference>,
36    #[serde(
37        rename = "authenticatorSelection",
38        skip_serializing_if = "Option::is_none"
39    )]
40    pub authenticator_selection: Option<Box<models::AuthenticatorSelection>>,
41    #[serde(rename = "excludeCredentials", skip_serializing_if = "Option::is_none")]
42    pub exclude_credentials: Option<Vec<models::PublicKeyCredentialDescriptor>>,
43    #[serde(rename = "extensions", skip_serializing_if = "Option::is_none")]
44    pub extensions: Option<Box<models::AuthenticationExtensionsClientInputs>>,
45}
46
47impl CredentialCreateOptions {
48    pub fn new() -> CredentialCreateOptions {
49        CredentialCreateOptions {
50            status: None,
51            error_message: None,
52            rp: None,
53            user: None,
54            challenge: None,
55            pub_key_cred_params: None,
56            timeout: None,
57            attestation: None,
58            authenticator_selection: None,
59            exclude_credentials: None,
60            extensions: None,
61        }
62    }
63}