use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; use crate::event::{RoomInfo, UserInfo}; #[derive(Debug, Clone, Serialize, Deserialize)] pub struct MessageStarredService { pub room: RoomInfo, pub message_id: Uuid, pub message_seq: i64, pub starred_by: UserInfo, pub starred_at: DateTime, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct MessageUnstarredService { pub room: RoomInfo, pub message_id: Uuid, pub unstarred_by: UserInfo, pub unstarred_at: DateTime, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct StarredMessageEntry { pub message_id: Uuid, pub room: RoomInfo, pub seq: i64, pub content: String, pub content_type: String, pub sender: UserInfo, pub starred_at: DateTime, pub sent_at: DateTime, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct MessageStarClient { pub room: Uuid, pub message_id: Uuid, pub star: bool, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct StarredListClient { pub room: Option, pub limit: Option, pub offset: Option, }