1use crate::client::Client;
4use crate::{AccountLite, RecordReference, DDI};
5use serde::{Deserialize, Serialize};
6#[cfg(feature = "openapi")]
7use utoipa::ToSchema;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10#[cfg_attr(feature = "openapi", derive(ToSchema))]
11#[serde(rename_all = "camelCase")]
12pub struct UserDetailsRequest {
13 pub token: String,
14}
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
17#[serde(rename_all = "camelCase")]
18#[cfg_attr(feature = "openapi", derive(ToSchema))]
19pub struct UserDetailsResponse {
20 pub agent_name: Option<String>,
21 pub email: String,
22 pub first_name: String,
23 pub last_name: String,
24 pub groups: Vec<String>,
25 pub account_name: String,
26 pub customers: Vec<RecordReference>,
27 pub agent_settings: Option<crate::AgentSettings>,
28 pub softphone_enabled: bool,
29 pub agent_status: Option<String>,
30 pub is_registered: Option<bool>,
31 pub is_available: Option<bool>,
32 pub account: Option<AccountLite>,
33 pub device: Option<Client>,
34 pub ddi: Option<DDI>,
35 pub whatsapp: Option<DDI>,
36}