use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[serde(tag = "type", content = "data")]
pub enum QueueStatus {
Queued,
Active,
Paused,
Seeding,
Complete { success: bool },
Error { message: String },
}
#[derive(Clone, Serialize)]
pub struct QueueItemInfo {
pub id: u64,
pub url: String,
pub platform: String,
pub title: String,
pub status: QueueStatus,
pub percent: f64,
pub speed_bytes_per_sec: f64,
pub downloaded_bytes: u64,
pub total_bytes: Option<u64>,
pub phase: String,
pub file_path: Option<String>,
pub file_size_bytes: Option<u64>,
pub file_count: Option<u32>,
pub thumbnail_url: Option<String>,
}