1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub enum LogType {
7 #[serde(rename = "spawn")]
8 Spawn,
9 #[serde(rename = "movement")]
10 Movement,
11 #[serde(rename = "fight")]
12 Fight,
13 #[serde(rename = "multi_fight")]
14 MultiFight,
15 #[serde(rename = "crafting")]
16 Crafting,
17 #[serde(rename = "gathering")]
18 Gathering,
19 #[serde(rename = "buy_ge")]
20 BuyGe,
21 #[serde(rename = "sell_ge")]
22 SellGe,
23 #[serde(rename = "buy_npc")]
24 BuyNpc,
25 #[serde(rename = "sell_npc")]
26 SellNpc,
27 #[serde(rename = "cancel_ge")]
28 CancelGe,
29 #[serde(rename = "delete_item")]
30 DeleteItem,
31 #[serde(rename = "deposit_item")]
32 DepositItem,
33 #[serde(rename = "withdraw_item")]
34 WithdrawItem,
35 #[serde(rename = "deposit_gold")]
36 DepositGold,
37 #[serde(rename = "withdraw_gold")]
38 WithdrawGold,
39 #[serde(rename = "equip")]
40 Equip,
41 #[serde(rename = "unequip")]
42 Unequip,
43 #[serde(rename = "new_task")]
44 NewTask,
45 #[serde(rename = "task_exchange")]
46 TaskExchange,
47 #[serde(rename = "task_cancelled")]
48 TaskCancelled,
49 #[serde(rename = "task_completed")]
50 TaskCompleted,
51 #[serde(rename = "task_trade")]
52 TaskTrade,
53 #[serde(rename = "recycling")]
54 Recycling,
55 #[serde(rename = "rest")]
56 Rest,
57 #[serde(rename = "use")]
58 Use,
59 #[serde(rename = "buy_bank_expansion")]
60 BuyBankExpansion,
61 #[serde(rename = "achievement")]
62 Achievement,
63 #[serde(rename = "give_item")]
64 GiveItem,
65 #[serde(rename = "give_gold")]
66 GiveGold,
67 #[serde(rename = "receive_item")]
68 ReceiveItem,
69 #[serde(rename = "receive_gold")]
70 ReceiveGold,
71 #[serde(rename = "change_skin")]
72 ChangeSkin,
73 #[serde(rename = "rename")]
74 Rename,
75 #[serde(rename = "transition")]
76 Transition,
77}
78
79impl std::fmt::Display for LogType {
80 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
81 match self {
82 Self::Spawn => write!(f, "spawn"),
83 Self::Movement => write!(f, "movement"),
84 Self::Fight => write!(f, "fight"),
85 Self::MultiFight => write!(f, "multi_fight"),
86 Self::Crafting => write!(f, "crafting"),
87 Self::Gathering => write!(f, "gathering"),
88 Self::BuyGe => write!(f, "buy_ge"),
89 Self::SellGe => write!(f, "sell_ge"),
90 Self::BuyNpc => write!(f, "buy_npc"),
91 Self::SellNpc => write!(f, "sell_npc"),
92 Self::CancelGe => write!(f, "cancel_ge"),
93 Self::DeleteItem => write!(f, "delete_item"),
94 Self::DepositItem => write!(f, "deposit_item"),
95 Self::WithdrawItem => write!(f, "withdraw_item"),
96 Self::DepositGold => write!(f, "deposit_gold"),
97 Self::WithdrawGold => write!(f, "withdraw_gold"),
98 Self::Equip => write!(f, "equip"),
99 Self::Unequip => write!(f, "unequip"),
100 Self::NewTask => write!(f, "new_task"),
101 Self::TaskExchange => write!(f, "task_exchange"),
102 Self::TaskCancelled => write!(f, "task_cancelled"),
103 Self::TaskCompleted => write!(f, "task_completed"),
104 Self::TaskTrade => write!(f, "task_trade"),
105 Self::Recycling => write!(f, "recycling"),
106 Self::Rest => write!(f, "rest"),
107 Self::Use => write!(f, "use"),
108 Self::BuyBankExpansion => write!(f, "buy_bank_expansion"),
109 Self::Achievement => write!(f, "achievement"),
110 Self::GiveItem => write!(f, "give_item"),
111 Self::GiveGold => write!(f, "give_gold"),
112 Self::ReceiveItem => write!(f, "receive_item"),
113 Self::ReceiveGold => write!(f, "receive_gold"),
114 Self::ChangeSkin => write!(f, "change_skin"),
115 Self::Rename => write!(f, "rename"),
116 Self::Transition => write!(f, "transition"),
117 }
118 }
119}
120
121impl Default for LogType {
122 fn default() -> LogType {
123 Self::Spawn
124 }
125}