agentmail/types/
domains.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Deserialize)]
5pub struct Domain {
6 pub domain_id: String,
8 #[serde(default)]
10 pub domain: Option<String>,
11 #[serde(default)]
13 pub pod_id: Option<String>,
14 #[serde(default)]
16 pub status: Option<String>,
17 #[serde(default)]
19 pub feedback_enabled: Option<bool>,
20 #[serde(default)]
22 pub subdomains_enabled: Option<bool>,
23 #[serde(default)]
25 pub records: Vec<VerificationRecord>,
26 #[serde(default)]
28 pub client_id: Option<String>,
29 #[serde(default)]
31 pub updated_at: Option<String>,
32 #[serde(default)]
34 pub created_at: Option<String>,
35}
36
37#[derive(Clone, Debug, Deserialize)]
39pub struct VerificationRecord {
40 #[serde(rename = "type")]
42 pub record_type: String,
43 pub name: String,
45 pub value: String,
47 #[serde(default)]
49 pub status: Option<String>,
50 #[serde(default)]
52 pub priority: Option<i64>,
53}
54
55#[derive(Clone, Debug, Default, Serialize)]
57pub struct CreateDomain {
58 pub domain: String,
60 #[serde(skip_serializing_if = "Option::is_none")]
62 pub feedback_enabled: Option<bool>,
63 #[serde(skip_serializing_if = "Option::is_none")]
65 pub subdomains_enabled: Option<bool>,
66}
67
68#[derive(Clone, Debug, Default, Serialize)]
70pub struct UpdateDomain {
71 #[serde(skip_serializing_if = "Option::is_none")]
73 pub feedback_enabled: Option<bool>,
74 #[serde(skip_serializing_if = "Option::is_none")]
76 pub subdomains_enabled: Option<bool>,
77}
78
79#[derive(Clone, Debug, Deserialize)]
81pub struct DomainList {
82 pub count: u64,
84 #[serde(default)]
86 pub domains: Vec<Domain>,
87 #[serde(default)]
89 pub next_page_token: Option<String>,
90}