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