use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TrackedDownloadState {
#[serde(rename = "downloading")]
Downloading,
#[serde(rename = "downloadFailed")]
DownloadFailed,
#[serde(rename = "downloadFailedPending")]
DownloadFailedPending,
#[serde(rename = "importPending")]
ImportPending,
#[serde(rename = "importing")]
Importing,
#[serde(rename = "importFailed")]
ImportFailed,
#[serde(rename = "imported")]
Imported,
#[serde(rename = "ignored")]
Ignored,
}
impl std::fmt::Display for TrackedDownloadState {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Downloading => write!(f, "downloading"),
Self::DownloadFailed => write!(f, "downloadFailed"),
Self::DownloadFailedPending => write!(f, "downloadFailedPending"),
Self::ImportPending => write!(f, "importPending"),
Self::Importing => write!(f, "importing"),
Self::ImportFailed => write!(f, "importFailed"),
Self::Imported => write!(f, "imported"),
Self::Ignored => write!(f, "ignored"),
}
}
}
impl Default for TrackedDownloadState {
fn default() -> TrackedDownloadState {
Self::Downloading
}
}