Skip to main content

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(
20        rename = "status",
21        alias = "Status",
22        skip_serializing_if = "Option::is_none"
23    )]
24    pub status: Option<String>,
25    #[serde(
26        rename = "errorMessage",
27        alias = "ErrorMessage",
28        skip_serializing_if = "Option::is_none"
29    )]
30    pub error_message: Option<String>,
31    #[serde(rename = "rp", alias = "Rp", skip_serializing_if = "Option::is_none")]
32    pub rp: Option<Box<models::PublicKeyCredentialRpEntity>>,
33    #[serde(
34        rename = "user",
35        alias = "User",
36        skip_serializing_if = "Option::is_none"
37    )]
38    pub user: Option<Box<models::Fido2User>>,
39    #[serde_as(
40        as = "Option<serde_with::base64::Base64<serde_with::base64::UrlSafe, serde_with::formats::Unpadded>>"
41    )]
42    #[serde(
43        rename = "challenge",
44        alias = "Challenge",
45        skip_serializing_if = "Option::is_none"
46    )]
47    pub challenge: Option<Vec<u8>>,
48    #[serde(
49        rename = "pubKeyCredParams",
50        alias = "PubKeyCredParams",
51        skip_serializing_if = "Option::is_none"
52    )]
53    pub pub_key_cred_params: Option<Vec<models::PubKeyCredParam>>,
54    #[serde(
55        rename = "timeout",
56        alias = "Timeout",
57        skip_serializing_if = "Option::is_none"
58    )]
59    pub timeout: Option<i64>,
60    #[serde(
61        rename = "attestation",
62        alias = "Attestation",
63        skip_serializing_if = "Option::is_none"
64    )]
65    pub attestation: Option<models::AttestationConveyancePreference>,
66    #[serde(
67        rename = "authenticatorSelection",
68        alias = "AuthenticatorSelection",
69        skip_serializing_if = "Option::is_none"
70    )]
71    pub authenticator_selection: Option<Box<models::AuthenticatorSelection>>,
72    #[serde(
73        rename = "excludeCredentials",
74        alias = "ExcludeCredentials",
75        skip_serializing_if = "Option::is_none"
76    )]
77    pub exclude_credentials: Option<Vec<models::PublicKeyCredentialDescriptor>>,
78    #[serde(
79        rename = "extensions",
80        alias = "Extensions",
81        skip_serializing_if = "Option::is_none"
82    )]
83    pub extensions: Option<Box<models::AuthenticationExtensionsClientInputs>>,
84}
85
86impl CredentialCreateOptions {
87    pub fn new() -> CredentialCreateOptions {
88        CredentialCreateOptions {
89            status: None,
90            error_message: None,
91            rp: None,
92            user: None,
93            challenge: None,
94            pub_key_cred_params: None,
95            timeout: None,
96            attestation: None,
97            authenticator_selection: None,
98            exclude_credentials: None,
99            extensions: None,
100        }
101    }
102}