Skip to main content

artifacts/models/
pending_item_source.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4/// PendingItemSource : Source types for pending items.
5/// Source types for pending items.
6#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7#[cfg_attr(feature = "specta", derive(specta::Type))]
8#[derive(Default)]
9pub enum PendingItemSource {
10    #[serde(rename = "achievement")]
11    #[default]
12    Achievement,
13    #[serde(rename = "grand_exchange")]
14    GrandExchange,
15    #[serde(rename = "admin")]
16    Admin,
17    #[serde(rename = "event")]
18    Event,
19    #[serde(rename = "raid")]
20    Raid,
21    #[serde(rename = "other")]
22    Other,
23}
24
25impl std::fmt::Display for PendingItemSource {
26    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
27        match self {
28            Self::Achievement => write!(f, "achievement"),
29            Self::GrandExchange => write!(f, "grand_exchange"),
30            Self::Admin => write!(f, "admin"),
31            Self::Event => write!(f, "event"),
32            Self::Raid => write!(f, "raid"),
33            Self::Other => write!(f, "other"),
34        }
35    }
36}