Skip to main content

io_gmail/v1/rest/
drafts.rs

1//! Gmail drafts (`users.drafts`): list, get, create, update, send, delete.
2//!
3//! <https://developers.google.com/gmail/api/reference/rest/v1/users.drafts>
4
5use alloc::string::String;
6
7use serde::{Deserialize, Serialize};
8
9use crate::v1::rest::messages::GmailMessage;
10
11pub mod create;
12pub mod delete;
13pub mod get;
14pub mod list;
15pub mod send;
16pub mod update;
17
18/// Gmail REST draft resource (an id plus its draft message).
19#[derive(Debug, Clone, Default, Deserialize, Serialize, Eq, PartialEq)]
20#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
21#[serde(rename_all = "camelCase")]
22pub struct GmailDraft {
23    /// Immutable identifier of the draft.
24    #[serde(default, skip_serializing_if = "String::is_empty")]
25    pub id: String,
26    /// Message content of the draft.
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub message: Option<GmailMessage>,
29}