timesheetlib/enums/
leave_status.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 = "leave_status")]
20pub enum LeaveStatus {
21    Suggested,
22    Approved,
23    Rejected,
24    Confirmed,
25    Ongoing,
26    Complete,
27    Undefined,
28
29}
30impl fmt::Display for LeaveStatus {
31    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
32        write!(f, "{:?}", self)
33    }
34}
35impl Default for LeaveStatus {
36    fn default() -> Self {
37        LeaveStatus::Undefined
38    }
39}