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 = "other")]
20    Other,
21}
22
23impl std::fmt::Display for PendingItemSource {
24    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
25        match self {
26            Self::Achievement => write!(f, "achievement"),
27            Self::GrandExchange => write!(f, "grand_exchange"),
28            Self::Admin => write!(f, "admin"),
29            Self::Event => write!(f, "event"),
30            Self::Other => write!(f, "other"),
31        }
32    }
33}