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(as = "Option<serde_with::base64::Base64>")]
40 #[serde(
41 rename = "challenge",
42 alias = "Challenge",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub challenge: Option<Vec<u8>>,
46 #[serde(
47 rename = "pubKeyCredParams",
48 alias = "PubKeyCredParams",
49 skip_serializing_if = "Option::is_none"
50 )]
51 pub pub_key_cred_params: Option<Vec<models::PubKeyCredParam>>,
52 #[serde(
53 rename = "timeout",
54 alias = "Timeout",
55 skip_serializing_if = "Option::is_none"
56 )]
57 pub timeout: Option<i64>,
58 #[serde(
59 rename = "attestation",
60 alias = "Attestation",
61 skip_serializing_if = "Option::is_none"
62 )]
63 pub attestation: Option<models::AttestationConveyancePreference>,
64 #[serde(
65 rename = "authenticatorSelection",
66 alias = "AuthenticatorSelection",
67 skip_serializing_if = "Option::is_none"
68 )]
69 pub authenticator_selection: Option<Box<models::AuthenticatorSelection>>,
70 #[serde(
71 rename = "excludeCredentials",
72 alias = "ExcludeCredentials",
73 skip_serializing_if = "Option::is_none"
74 )]
75 pub exclude_credentials: Option<Vec<models::PublicKeyCredentialDescriptor>>,
76 #[serde(
77 rename = "extensions",
78 alias = "Extensions",
79 skip_serializing_if = "Option::is_none"
80 )]
81 pub extensions: Option<Box<models::AuthenticationExtensionsClientInputs>>,
82}
83
84impl CredentialCreateOptions {
85 pub fn new() -> CredentialCreateOptions {
86 CredentialCreateOptions {
87 status: None,
88 error_message: None,
89 rp: None,
90 user: None,
91 challenge: None,
92 pub_key_cred_params: None,
93 timeout: None,
94 attestation: None,
95 authenticator_selection: None,
96 exclude_credentials: None,
97 extensions: None,
98 }
99 }
100}