use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};
use crate::v1::rest::messages::GmailMessage;
pub mod delete;
pub mod get;
pub mod list;
pub mod modify;
pub mod trash;
pub mod untrash;
#[derive(Debug, Clone, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct GmailThread {
pub id: String,
#[serde(default)]
pub snippet: Option<String>,
#[serde(default)]
pub history_id: Option<String>,
#[serde(default)]
pub messages: Vec<GmailMessage>,
}
#[derive(Debug, Clone, Deserialize, Serialize, Eq, PartialEq)]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[serde(rename_all = "camelCase")]
pub struct GmailThreadSummary {
pub id: String,
#[serde(default)]
pub snippet: Option<String>,
#[serde(default)]
pub history_id: Option<String>,
}