xmtp_proto/types/
message_metadata.rs1use crate::ConversionError;
2use chrono::Utc;
3use derive_builder::Builder;
4
5use crate::types::{Cursor, GroupId};
6
7#[derive(Clone, Builder, Debug)]
8#[builder(setter(into), build_fn(error = "ConversionError"))]
9pub struct GroupMessageMetadata {
10 pub cursor: Cursor,
12 pub created_ns: chrono::DateTime<Utc>,
14 pub group_id: GroupId,
16 #[builder(default)]
17 pub envelope_hash: Option<Vec<u8>>,
18 #[builder(default)]
19 pub expiry_ns: Option<u64>,
20}
21
22impl GroupMessageMetadata {
23 pub fn builder() -> GroupMessageMetadataBuilder {
24 GroupMessageMetadataBuilder::default()
25 }
26
27 pub fn sequence_id(&self) -> u64 {
28 self.cursor.0
29 }
30}