bitwarden_api_api/models/
credential_create_options.rs1use 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}