nodedb_types/
audit_dml.rs1#[derive(
12 Debug,
13 Clone,
14 Copy,
15 PartialEq,
16 Eq,
17 Default,
18 serde::Serialize,
19 serde::Deserialize,
20 zerompk::ToMessagePack,
21 zerompk::FromMessagePack,
22)]
23#[msgpack(c_enum)]
24pub enum AuditDmlMode {
25 #[default]
27 None = 0,
28 Writes = 1,
30 All = 2,
35}
36
37impl std::str::FromStr for AuditDmlMode {
38 type Err = String;
39
40 fn from_str(s: &str) -> Result<Self, Self::Err> {
41 match s.to_uppercase().as_str() {
42 "NONE" => Ok(Self::None),
43 "WRITES" => Ok(Self::Writes),
44 "ALL" => Ok(Self::All),
45 other => Err(format!(
46 "unknown AUDIT_DML mode '{other}'; expected NONE, WRITES, or ALL"
47 )),
48 }
49 }
50}
51
52impl std::fmt::Display for AuditDmlMode {
53 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
54 match self {
55 Self::None => write!(f, "NONE"),
56 Self::Writes => write!(f, "WRITES"),
57 Self::All => write!(f, "ALL"),
58 }
59 }
60}