scsys_stores/actions/crud/
mode.rs

1/*
2    Appellation: mode <module>
3    Contrib: FL03 <jo3mccain@icloud.com>
4*/
5#[cfg(feature = "serde")]
6use serde::{Deserialize, Serialize};
7use strum::{Display, EnumCount, EnumIs, EnumIter, EnumString, VariantNames};
8
9/// The mode of a CRUD operation.
10///
11#[derive(
12    Clone,
13    Copy,
14    Debug,
15    Default,
16    Display,
17    EnumCount,
18    EnumIs,
19    EnumIter,
20    EnumString,
21    Eq,
22    Hash,
23    Ord,
24    PartialEq,
25    PartialOrd,
26    VariantNames,
27)]
28#[cfg_attr(
29    feature = "serde",
30    derive(Deserialize, Serialize),
31    serde(rename_all = "lowercase", untagged)
32)]
33#[strum(serialize_all = "lowercase")]
34pub enum CRUD {
35    #[default]
36    Create,
37    Read,
38    Update,
39    Delete,
40}
41
42impl CRUD {
43    pub fn create() -> Self {
44        Self::Create
45    }
46
47    pub fn read() -> Self {
48        Self::Read
49    }
50
51    pub fn update() -> Self {
52        Self::Update
53    }
54
55    pub fn delete() -> Self {
56        Self::Delete
57    }
58}