]> Untitled Git - lemmy.git/blobdiff - crates/db_schema/src/lib.rs
Derive default for api request structs, move type enums (#2245)
[lemmy.git] / crates / db_schema / src / lib.rs
index e6dee1993fbd111fb375adbbc4db3b4f876f2f88..5c63f393a080be3a04872cb39328e8639d5866ee 100644 (file)
@@ -1,8 +1,5 @@
 #[cfg(feature = "full")]
 #[macro_use]
-extern crate strum_macros;
-#[cfg(feature = "full")]
-#[macro_use]
 extern crate diesel;
 #[cfg(feature = "full")]
 #[macro_use]
@@ -24,3 +21,38 @@ pub mod source;
 pub mod traits;
 #[cfg(feature = "full")]
 pub mod utils;
+
+use serde::{Deserialize, Serialize};
+use strum_macros::{Display, EnumString};
+
+#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy)]
+pub enum SortType {
+  Active,
+  Hot,
+  New,
+  TopDay,
+  TopWeek,
+  TopMonth,
+  TopYear,
+  TopAll,
+  MostComments,
+  NewComments,
+}
+
+#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy, PartialEq)]
+pub enum ListingType {
+  All,
+  Local,
+  Subscribed,
+  Community,
+}
+
+#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy)]
+pub enum SearchType {
+  All,
+  Comments,
+  Posts,
+  Communities,
+  Users,
+  Url,
+}