use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;

use crate::event::{RoomInfo, UserInfo};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MessageForwardedService {
    pub id: Uuid,
    pub seq: i64,
    pub room: RoomInfo,
    pub sender: UserInfo,
    pub content: String,
    pub content_type: String,
    pub source_room: RoomInfo,
    pub source_message_id: Uuid,
    pub forwarded_at: DateTime<Utc>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MessageForwardClient {
    pub source_message_id: Uuid,
    pub target_room: Uuid,
}
