Skip to main content

bitwarden_api_api/models/
authenticator_assertion_raw_response.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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}