journallib/enums/
mark_type.rs

1use serde::Deserialize;
2use serde::Serialize;
3use postgres_types::{FromSql, ToSql};
4
5#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Eq, Ord, PartialOrd, FromSql, ToSql)]
6#[postgres(name = "mark_type")]
7pub enum MarkType {
8    A,
9    A_,
10    AB,
11    B,
12    B_,
13    C,
14    C_,
15    F,
16    P,
17    D,
18    E,
19    HD,
20    S,
21    F1,
22    F2,
23    NGP,
24    P1,
25    P2,
26    N,
27    CR,
28    PC,
29    Cr,
30    #[allow(non_camel_case_types)]
31    g2,
32    #[allow(non_camel_case_types)]
33    g3,
34    #[allow(non_camel_case_types)]
35    g4,
36    #[allow(non_camel_case_types)]
37    g1,
38    #[allow(non_camel_case_types)]
39    g6,
40    #[allow(non_camel_case_types)]
41    g7,
42    #[allow(non_camel_case_types)]
43    g8,
44    #[allow(non_camel_case_types)]
45    g9,
46    #[allow(non_camel_case_types)]
47    g10,
48    #[allow(non_camel_case_types)]
49    g1_1,
50    #[allow(non_camel_case_types)]
51    g1_2,
52    #[allow(non_camel_case_types)]
53    g1_3,
54    #[allow(non_camel_case_types)]
55    g1_4,
56    #[allow(non_camel_case_types)]
57    g1_5,
58    #[allow(non_camel_case_types)]
59    g2_1,
60    #[allow(non_camel_case_types)]
61    g2_2,
62    #[allow(non_camel_case_types)]
63    g2_3,
64    #[allow(non_camel_case_types)]
65    g2_4,
66    #[allow(non_camel_case_types)]
67    g2_5,
68    #[allow(non_camel_case_types)]
69    g3_1,
70    #[allow(non_camel_case_types)]
71    g3_2,
72    #[allow(non_camel_case_types)]
73    g3_3,
74    #[allow(non_camel_case_types)]
75    g3_4,
76    #[allow(non_camel_case_types)]
77    g3_5,
78    #[allow(non_camel_case_types)]
79    g4_1,
80    #[allow(non_camel_case_types)]
81    g4_2,
82    #[allow(non_camel_case_types)]
83    g4_3,
84    #[allow(non_camel_case_types)]
85    g4_4,
86    #[allow(non_camel_case_types)]
87    g4_5,
88    #[allow(non_camel_case_types)]
89    g5,
90    #[allow(non_camel_case_types)]
91    g5_1,
92    #[allow(non_camel_case_types)]
93    g5_2,
94    #[allow(non_camel_case_types)]
95    g5_3,
96    #[allow(non_camel_case_types)]
97    g5_4,
98    #[allow(non_camel_case_types)]
99    g5_5,
100    #[allow(non_camel_case_types)]
101    absent,
102    #[allow(non_camel_case_types)]
103    noMark,
104    #[allow(non_camel_case_types)]
105    acceptableExcuse,
106    #[allow(non_camel_case_types)]
107    noAcceptableExcuse,
108}
109
110impl MarkType {
111    pub fn from_str(input: &str) -> MarkType {
112        match input {
113            "A" => MarkType::A,
114            "A_" => MarkType::A_,
115            "AB" => MarkType::AB,
116            "B" => MarkType::B,
117            "B_" => MarkType::B_,
118            "C" => MarkType::C,
119            "C_" => MarkType::C_,
120            "F" => MarkType::F,
121            "P" => MarkType::P,
122            "D" => MarkType::D,
123            "E" => MarkType::E,
124            "HD" => MarkType::HD,
125            "S" => MarkType::S,
126            "F1" => MarkType::F1,
127            "F2" => MarkType::F2,
128            "NGP" => MarkType::NGP,
129            "P1" => MarkType::P1,
130            "P2" => MarkType::P2,
131            "N" => MarkType::N,
132            "CR" => MarkType::CR,
133            "PC" => MarkType::PC,
134            "Cr" => MarkType::Cr,
135            "g2" => MarkType::g2,
136            "g3" => MarkType::g3,
137            "g4" => MarkType::g4,
138            "g1" => MarkType::g1,
139            "g6" => MarkType::g6,
140            "g7" => MarkType::g7,
141            "g8" => MarkType::g8,
142            "g9" => MarkType::g9,
143            "g10" => MarkType::g10,
144            "g1_1" => MarkType::g1_1,
145            "g1_2" => MarkType::g1_2,
146            "g1_3" => MarkType::g1_3,
147            "g1_4" => MarkType::g1_4,
148            "g1_5" => MarkType::g1_5,
149            "g2_1" => MarkType::g2_1,
150            "g2_2" => MarkType::g2_2,
151            "g2_3" => MarkType::g2_3,
152            "g2_4" => MarkType::g2_4,
153            "g2_5" => MarkType::g2_5,
154            "g3_1" => MarkType::g3_1,
155            "g3_2" => MarkType::g3_2,
156            "g3_3" => MarkType::g3_3,
157            "g3_4" => MarkType::g3_4,
158            "g3_5" => MarkType::g3_5,
159            "g4_1" => MarkType::g4_1,
160            "g4_2" => MarkType::g4_2,
161            "g4_3" => MarkType::g4_3,
162            "g4_4" => MarkType::g4_4,
163            "g4_5" => MarkType::g4_5,
164            "g5" => MarkType::g5,
165            "g5_1" => MarkType::g5_1,
166            "g5_2" => MarkType::g5_2,
167            "g5_3" => MarkType::g5_3,
168            "g5_4" => MarkType::g5_4,
169            "g5_5" => MarkType::g5_5,
170            "absent" => MarkType::absent,
171            "noMark" => MarkType::noMark,
172            "acceptableExcuse" => MarkType::acceptableExcuse,
173            "noAcceptableExcuse" => MarkType::noAcceptableExcuse,
174
175            _ => MarkType::noMark,
176        }
177    }
178}