timesheetlib/enums/
work_mode.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 = "work_mode")]
20pub enum WorkMode {
21 Online,
22 Offline,
23 Other,
24 Undefined,
25
26}
27impl fmt::Display for WorkMode {
28 fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
29 write!(f, "{:?}", self)
30 }
31}
32impl Default for WorkMode {
33 fn default() -> Self {
34 WorkMode::Undefined
35 }
36}