io_gmail/v1/rest/
labels.rs1use alloc::string::String;
7
8use serde::{Deserialize, Serialize};
9
10use crate::v1::rest::messages::GmailMessageListVisibility;
11
12pub mod create;
13pub mod delete;
14pub mod get;
15pub mod list;
16pub mod patch;
17pub mod update;
18
19#[derive(Debug, Clone, Default, Deserialize, Serialize, Eq, PartialEq)]
24#[serde(rename_all = "camelCase")]
25pub struct GmailLabel {
26 #[serde(default, skip_serializing_if = "String::is_empty")]
28 pub id: String,
29 #[serde(default, skip_serializing_if = "String::is_empty")]
31 pub name: String,
32 #[serde(default, rename = "type", skip_serializing_if = "Option::is_none")]
34 pub label_type: Option<GmailLabelType>,
35 #[serde(default, skip_serializing_if = "Option::is_none")]
37 pub message_list_visibility: Option<GmailMessageListVisibility>,
38 #[serde(default, skip_serializing_if = "Option::is_none")]
40 pub label_list_visibility: Option<GmailLabelListVisibility>,
41 #[serde(default, skip_serializing_if = "Option::is_none")]
43 pub messages_total: Option<u64>,
44 #[serde(default, skip_serializing_if = "Option::is_none")]
46 pub messages_unread: Option<u64>,
47 #[serde(default, skip_serializing_if = "Option::is_none")]
49 pub threads_total: Option<u64>,
50 #[serde(default, skip_serializing_if = "Option::is_none")]
52 pub threads_unread: Option<u64>,
53 #[serde(default, skip_serializing_if = "Option::is_none")]
55 pub color: Option<GmailLabelColor>,
56}
57
58#[derive(Debug, Clone, Default, Deserialize, Serialize, Eq, PartialEq)]
60#[serde(rename_all = "camelCase")]
61pub struct GmailLabelColor {
62 #[serde(default, skip_serializing_if = "Option::is_none")]
64 pub text_color: Option<String>,
65 #[serde(default, skip_serializing_if = "Option::is_none")]
67 pub background_color: Option<String>,
68}
69
70#[derive(Debug, Clone, Copy, Deserialize, Serialize, Eq, PartialEq)]
72#[serde(rename_all = "camelCase")]
73pub enum GmailLabelListVisibility {
74 LabelShow,
76 LabelShowIfUnread,
78 LabelHide,
80}
81
82#[derive(Debug, Clone, Copy, Deserialize, Serialize, Eq, PartialEq)]
84#[serde(rename_all = "camelCase")]
85pub enum GmailLabelType {
86 System,
88 User,
90}