timesheetlib/enums/
leave_status.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 = "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}