bitwarden_core/auth/api/response/
identity_token_fail_response.rs

1use core::fmt;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
6pub struct IdentityTokenFailResponse {
7    pub error: String,
8    pub error_description: String,
9    #[serde(alias = "ErrorModel")]
10    pub error_model: ErrorModel,
11}
12
13impl fmt::Display for IdentityTokenFailResponse {
14    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
15        let msg = match self.error_model.message.trim().is_empty() {
16            true => format!("{}: {}", self.error, self.error_description),
17            false => self.error_model.message.clone(),
18        };
19
20        write!(f, "{}", msg)
21    }
22}
23
24#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
25pub struct ErrorModel {
26    #[serde(alias = "Message")]
27    pub message: String,
28    #[serde(alias = "Object")]
29    object: String,
30}
31
32impl fmt::Display for ErrorModel {
33    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
34        write!(f, "{}", self.message)
35    }
36}