Skip to main content

mangofetch_core/models/
queue.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
4#[serde(tag = "type", content = "data")]
5pub enum QueueStatus {
6    Queued,
7    Active,
8    Paused,
9    Seeding,
10    Complete { success: bool },
11    Error { message: String },
12}
13
14#[derive(Clone, Serialize)]
15pub struct QueueItemInfo {
16    pub id: u64,
17    pub url: String,
18    pub platform: String,
19    pub title: String,
20    pub status: QueueStatus,
21    pub percent: f64,
22    pub speed_bytes_per_sec: f64,
23    pub downloaded_bytes: u64,
24    pub total_bytes: Option<u64>,
25    pub phase: String,
26    pub file_path: Option<String>,
27    pub file_size_bytes: Option<u64>,
28    pub file_count: Option<u32>,
29    pub thumbnail_url: Option<String>,
30}