use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DownloadTask {
#[serde(default)]
pub id: i64,
#[serde(default)]
pub task_id: String,
#[serde(default)]
pub download_file_name: String,
#[serde(default)]
pub download_url: String,
#[serde(default)]
pub save_dir: String,
#[serde(default)]
pub total_size: i64,
#[serde(default)]
pub downloaded_size: i64,
#[serde(default)]
pub download_speed: i64,
#[serde(default)]
pub task_status: i64,
#[serde(default)]
pub error_code: i64,
#[serde(default)]
pub plan: i64,
#[serde(default)]
pub remaining_time: i64,
#[serde(default)]
pub created_at: String,
#[serde(default)]
pub download_completed_time: i64,
#[serde(default)]
pub uname: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DownloadSpeed {
#[serde(default)]
pub download_speed: i64,
#[serde(default)]
pub upload_speed: i64,
#[serde(default)]
pub downloading_num: i64,
#[serde(default)]
pub completed_num: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DownloadPath {
#[serde(default)]
pub path: String,
#[serde(default)]
pub path_display: String,
#[serde(default)]
pub path_is_validity: bool,
#[serde(default)]
pub available_size: i64,
}