io_jmap/rfc8621/thread.rs
1//! JMAP for Mail: Thread (RFC 8621 §3).
2
3use alloc::{string::String, vec::Vec};
4
5use serde::{Deserialize, Serialize};
6
7pub mod changes;
8pub mod get;
9
10/// A JMAP Thread object (RFC 8621 §3.1).
11///
12/// A Thread is a set of Email objects that share the same root
13/// `Message-ID` and in-reply-to chain.
14#[derive(Clone, Debug, Serialize, Deserialize)]
15#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
16#[serde(rename_all = "camelCase")]
17pub struct JmapThread {
18 /// The server-assigned ID for this thread.
19 pub id: String,
20 /// Ordered list of email IDs in this thread, oldest first.
21 pub email_ids: Vec<String>,
22}