xmtp_proto/types/
message_metadata.rs

1use 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    /// Cursor of this message
11    pub cursor: Cursor,
12    /// server timestamp indicating when this message was created
13    pub created_ns: chrono::DateTime<Utc>,
14    /// GroupId of the message
15    pub group_id: GroupId,
16}
17
18impl GroupMessageMetadata {
19    pub fn builder() -> GroupMessageMetadataBuilder {
20        GroupMessageMetadataBuilder::default()
21    }
22
23    pub fn originator_id(&self) -> u32 {
24        self.cursor.originator_id
25    }
26
27    pub fn sequence_id(&self) -> u64 {
28        self.cursor.sequence_id
29    }
30}