use serde::Deserialize;
#[derive(Debug, Deserialize)]
pub struct UnreadCounts {
pub inbox: u32,
pub notes: u32,
pub alerts: u32,
pub substitutions: u32,
pub absences: u32,
pub justifications: u32,
pub trash: u32,
#[serde(rename = "archiveInbox")]
pub archive_inbox: u32,
#[serde(rename = "archiveNotes")]
pub archive_notes: u32,
#[serde(rename = "archiveAlerts")]
pub archive_alerts: u32,
#[serde(rename = "archiveSubstitutions")]
pub archive_substitutions: u32,
#[serde(rename = "archiveAbsences")]
pub archive_absences: u32,
#[serde(rename = "archiveJustifications")]
pub archive_justifications: u32,
#[serde(rename = "archiveTrash")]
pub archive_trash: u32,
}
#[derive(Debug, Deserialize)]
pub(crate) struct ResponseUnreadCounts {
pub data: UnreadCounts,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InboxMessage {
pub message_id: String,
pub sender_first_name: String,
pub sender_last_name: String,
pub sender_name: String,
pub topic: String,
pub content: String,
pub send_date: String,
pub read_date: Option<String>,
pub is_any_file_attached: bool,
pub tags: Vec<String>,
pub category: Option<String>,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OutboxMessage {
pub message_id: String,
pub receiver_first_name: String,
pub receiver_last_name: String,
pub receiver_name: String,
pub topic: String,
pub content: String,
pub send_date: String,
pub is_any_file_attached: bool,
pub tags: Vec<String>,
pub category: Option<String>,
}
#[derive(Debug, Deserialize)]
pub(crate) struct ResponseInboxMessages {
pub data: Vec<InboxMessage>,
}
#[derive(Debug, Deserialize)]
pub(crate) struct ResponseOutboxMessages {
pub data: Vec<OutboxMessage>,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Attachment {
pub id: String,
pub name: String,
pub size: Option<u64>,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MessageDetail {
pub message_id: String,
pub sender_id: Option<String>,
pub sender_first_name: String,
pub sender_last_name: String,
pub sender_name: String,
pub sender_group: Option<String>,
pub topic: String,
#[serde(rename = "Message")]
pub message: String,
pub send_date: String,
pub read_date: Option<String>,
pub attachments: Vec<Attachment>,
pub receivers_count: Option<u32>,
pub no_reply: Option<u8>,
pub archive: Option<u8>,
}
#[derive(Debug, Deserialize)]
pub(crate) struct ResponseMessageDetail {
pub data: MessageDetail,
}