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

#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum DispatchStatus {
    Pending,
    Approved,
    Rejected,
    Sent,
    Failed,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QueuedOutput {
    pub id: Uuid,
    pub target: String,
    pub content: String,
    pub metadata: Option<String>,
    pub status: DispatchStatus,
    pub comment: Option<String>,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
}
