bitwarden_api_api/models/
authenticator_attestation_raw_response.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 AuthenticatorAttestationRawResponse {
19 #[serde(rename = "id", alias = "Id")]
20 pub id: String,
21 #[serde_as(
22 as = "serde_with::base64::Base64<serde_with::base64::UrlSafe, serde_with::formats::Unpadded>"
23 )]
24 #[serde(rename = "rawId", alias = "RawId")]
25 pub raw_id: Vec<u8>,
26 #[serde(rename = "type", alias = "R#type")]
27 pub r#type: models::PublicKeyCredentialType,
28 #[serde(rename = "response", alias = "Response")]
29 pub response: Box<models::AttestationResponse>,
30 #[serde(
31 rename = "extensions",
32 alias = "Extensions",
33 skip_serializing_if = "Option::is_none"
34 )]
35 pub extensions: Option<Box<models::AuthenticationExtensionsClientOutputs>>,
36 #[serde(rename = "clientExtensionResults", alias = "ClientExtensionResults")]
37 pub client_extension_results: Box<models::AuthenticationExtensionsClientOutputs>,
38}
39
40impl AuthenticatorAttestationRawResponse {
41 pub fn new(
42 id: String,
43 raw_id: Vec<u8>,
44 r#type: models::PublicKeyCredentialType,
45 response: models::AttestationResponse,
46 client_extension_results: models::AuthenticationExtensionsClientOutputs,
47 ) -> AuthenticatorAttestationRawResponse {
48 AuthenticatorAttestationRawResponse {
49 id,
50 raw_id,
51 r#type,
52 response: Box::new(response),
53 extensions: None,
54 client_extension_results: Box::new(client_extension_results),
55 }
56 }
57}