use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; use crate::event::{RoomInfo, UserInfo, message::MessageNewService}; #[derive(Debug, Clone, Serialize, Deserialize)] pub struct SearchResultService { pub q: String, pub room: Option, pub messages: Vec, pub total: i64, pub took_ms: i64, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct SearchMessageHitService { #[serde(flatten)] pub message: MessageNewService, pub highlighted_content: String, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct SearchClient { pub q: String, pub room: Option, pub start_time: Option>, pub end_time: Option>, pub sender: Option, pub content_type: Option, pub limit: Option, pub offset: Option, }