28 lines
849 B
Rust
28 lines
849 B
Rust
use chrono::{DateTime, Utc};
|
|
use serde::{Deserialize, Serialize};
|
|
use uuid::Uuid;
|
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow)]
|
|
pub struct MessageThread {
|
|
pub id: Uuid,
|
|
pub channel_id: Uuid,
|
|
pub root_message_id: Uuid,
|
|
pub created_by: Uuid,
|
|
pub replies_count: i64,
|
|
pub participants_count: i64,
|
|
pub last_reply_message_id: Option<Uuid>,
|
|
pub last_reply_at: Option<DateTime<Utc>>,
|
|
pub resolved: bool,
|
|
pub resolved_by: Option<Uuid>,
|
|
pub resolved_at: Option<DateTime<Utc>>,
|
|
// ── Forum post specific ──
|
|
pub title: Option<String>,
|
|
pub tags: Vec<String>,
|
|
pub pinned: bool,
|
|
pub locked: bool,
|
|
pub rate_limit_per_user: Option<i32>,
|
|
pub auto_archive_at: Option<DateTime<Utc>>,
|
|
pub created_at: DateTime<Utc>,
|
|
pub updated_at: DateTime<Utc>,
|
|
}
|