timesheetlib/enums/
payment_type.rs1use postgres_types::{FromSql, ToSql};
2use serde::{Deserialize, Serialize};
3use std::fmt;
4use std::fmt::Formatter;
5use std::str;
6use strum_macros::EnumString;
7
8
9#[derive(
10 Serialize,
11 Deserialize,
12 Debug,
13 EnumString,
14 ToSql,
15 FromSql,
16 PartialEq,
17 Clone
18)]
19#[postgres(name = "payment_type")]
20pub enum PaymentType {
21 Salary,
22 AnualLeave,
23 Bonus,
24 Support,
25 FinalPay,
26 Undefined,
27
28}
29impl fmt::Display for PaymentType {
30 fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
31 write!(f, "{:?}", self)
32 }
33}
34impl Default for PaymentType {
35 fn default() -> Self {
36 PaymentType::Undefined
37 }
38}