Skip to main content

bitwarden_api_api/models/
authenticator_attestation_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 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}