timesheetlib/enums/
payment_type.rs

1use 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}