Skip to main content

max / makenotwork

771 B · 32 lines History Blame Raw
1 //! Strongly-typed domain enums that replace stringly-typed database columns.
2 //!
3 //! Each enum uses manual sqlx `Type`/`Encode`/`Decode` impls (via `String`)
4 //! so it works with both VARCHAR and TEXT columns. Plus `Serialize`/`Deserialize`
5 //! for JSON and form parsing.
6 //!
7 //! Grouped by domain, one module per group, with the shared `impl_str_enum!`
8 //! macro in `str_enum`. Every group is re-exported flat, so callers name
9 //! `crate::db::ItemType` exactly as before.
10
11 mod accounts;
12 mod catalog;
13 mod commerce;
14 mod git;
15 mod imports;
16 mod mail;
17 mod scanning;
18 mod str_enum;
19 mod synckit;
20
21 pub use accounts::*;
22 pub use catalog::*;
23 pub use commerce::*;
24 pub use git::*;
25 pub use imports::*;
26 pub use mail::*;
27 pub use scanning::*;
28 pub use synckit::*;
29
30 #[cfg(test)]
31 mod tests;
32