bitwarden_api_api/models/
authenticator_assertion_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 AuthenticatorAssertionRawResponse {
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(
27 rename = "response",
28 alias = "Response",
29 skip_serializing_if = "Option::is_none"
30 )]
31 pub response: Option<Box<models::AssertionResponse>>,
32 #[serde(rename = "type", alias = "R#type")]
33 pub r#type: models::PublicKeyCredentialType,
34 #[serde(
35 rename = "extensions",
36 alias = "Extensions",
37 skip_serializing_if = "Option::is_none"
38 )]
39 pub extensions: Option<Box<models::AuthenticationExtensionsClientOutputs>>,
40 #[serde(rename = "clientExtensionResults", alias = "ClientExtensionResults")]
41 pub client_extension_results: Box<models::AuthenticationExtensionsClientOutputs>,
42}
43
44impl AuthenticatorAssertionRawResponse {
45 pub fn new(
46 id: String,
47 raw_id: Vec<u8>,
48 r#type: models::PublicKeyCredentialType,
49 client_extension_results: models::AuthenticationExtensionsClientOutputs,
50 ) -> AuthenticatorAssertionRawResponse {
51 AuthenticatorAssertionRawResponse {
52 id,
53 raw_id,
54 response: None,
55 r#type,
56 extensions: None,
57 client_extension_results: Box::new(client_extension_results),
58 }
59 }
60}