Skip to main content

bitwarden_api_api/models/
assertion_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 AssertionResponse {
19    #[serde_as(
20        as = "Option<serde_with::base64::Base64<serde_with::base64::UrlSafe, serde_with::formats::Unpadded>>"
21    )]
22    #[serde(rename = "authenticatorData", alias = "AuthenticatorData")]
23    pub authenticator_data: Option<Vec<u8>>,
24    #[serde_as(
25        as = "Option<serde_with::base64::Base64<serde_with::base64::UrlSafe, serde_with::formats::Unpadded>>"
26    )]
27    #[serde(rename = "signature", alias = "Signature")]
28    pub signature: Option<Vec<u8>>,
29    #[serde_as(
30        as = "Option<serde_with::base64::Base64<serde_with::base64::UrlSafe, serde_with::formats::Unpadded>>"
31    )]
32    #[serde(rename = "clientDataJSON", alias = "ClientDataJson")]
33    pub client_data_json: Option<Vec<u8>>,
34    #[serde_as(
35        as = "Option<serde_with::base64::Base64<serde_with::base64::UrlSafe, serde_with::formats::Unpadded>>"
36    )]
37    #[serde(
38        rename = "userHandle",
39        alias = "UserHandle",
40        skip_serializing_if = "Option::is_none"
41    )]
42    pub user_handle: Option<Vec<u8>>,
43}
44
45impl AssertionResponse {
46    pub fn new(
47        authenticator_data: Option<Vec<u8>>,
48        signature: Option<Vec<u8>>,
49        client_data_json: Option<Vec<u8>>,
50    ) -> AssertionResponse {
51        AssertionResponse {
52            authenticator_data,
53            signature,
54            client_data_json,
55            user_handle: None,
56        }
57    }
58}