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(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}