/// Tracker Status
///
/// https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-5.0)#get-torrent-trackers
#[derive(Copy,Clone,Debug,serde::Deserialize,PartialEq,Eq,Hash,PartialOrd,Ord)]
#[serde(rename_all="kebab-case")]
pub enum TrackerStatus {
	Disabled,
	NotContacted,
	NotWorking,
	Other,
	TrackerError,
	Unreachable,
	Updating,
	Working,
}

impl From<u8> for TrackerStatus {
	fn from(value: u8) -> Self {
		match value {
			0 => Self::Disabled,
			1 => Self::NotContacted,
			2 => Self::Working,
			3 => Self::Updating,
			4 => Self::NotWorking,
			5 => Self::TrackerError,
			6 => Self::Unreachable,
			_ => Self::Other,
		}
	}
}
