agentmail/types/
inboxes.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Default, Serialize)]
6pub struct CreateInbox {
7 #[serde(skip_serializing_if = "Option::is_none")]
9 pub username: Option<String>,
10 #[serde(skip_serializing_if = "Option::is_none")]
12 pub domain: Option<String>,
13 #[serde(skip_serializing_if = "Option::is_none")]
15 pub display_name: Option<String>,
16 #[serde(skip_serializing_if = "Option::is_none")]
18 pub client_id: Option<String>,
19 #[serde(skip_serializing_if = "Option::is_none")]
21 pub metadata: Option<serde_json::Value>,
22}
23
24#[derive(Clone, Debug, Default, Serialize)]
27pub struct UpdateInbox {
28 #[serde(skip_serializing_if = "Option::is_none")]
30 pub display_name: Option<String>,
31 #[serde(skip_serializing_if = "Option::is_none")]
33 pub metadata: Option<serde_json::Value>,
34}
35#[derive(Clone, Debug, Deserialize)]
37pub struct Inbox {
38 pub inbox_id: String,
40 pub email: String,
42 #[serde(default)]
44 pub display_name: Option<String>,
45 #[serde(default)]
47 pub pod_id: Option<String>,
48 #[serde(default)]
50 pub client_id: Option<String>,
51 #[serde(default)]
53 pub created_at: Option<String>,
54}
55#[derive(Clone, Debug, Deserialize)]
57pub struct InboxList {
58 pub count: u64,
60 #[serde(default)]
62 pub inboxes: Vec<Inbox>,
63 #[serde(default)]
65 pub next_page_token: Option<String>,
66}