]> Untitled Git - lemmy.git/blobdiff - crates/db_schema/src/lib.rs
Add support for Featured Posts (#2585)
[lemmy.git] / crates / db_schema / src / lib.rs
index 718c77689082ffc6ac190eb0d075721e9acfb3ab..b0e56393fc671354fd5d4d7dd1caef770b4f2bde 100644 (file)
@@ -1,3 +1,5 @@
+#![recursion_limit = "256"]
+
 #[cfg(feature = "full")]
 #[macro_use]
 extern crate diesel;
@@ -6,10 +8,13 @@ extern crate diesel;
 extern crate diesel_derive_newtype;
 // this is used in tests
 #[cfg(feature = "full")]
-#[allow(unused_imports)]
 #[macro_use]
 extern crate diesel_migrations;
 
+#[cfg(feature = "full")]
+#[macro_use]
+extern crate async_trait;
+
 pub mod aggregates;
 #[cfg(feature = "full")]
 pub mod impls;
@@ -30,6 +35,7 @@ pub enum SortType {
   Active,
   Hot,
   New,
+  Old,
   TopDay,
   TopWeek,
   TopMonth,
@@ -39,12 +45,19 @@ pub enum SortType {
   NewComments,
 }
 
-#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy, PartialEq)]
+#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy)]
+pub enum CommentSortType {
+  Hot,
+  Top,
+  New,
+  Old,
+}
+
+#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq)]
 pub enum ListingType {
   All,
   Local,
   Subscribed,
-  Community,
 }
 
 #[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy)]
@@ -57,9 +70,38 @@ pub enum SearchType {
   Url,
 }
 
-#[derive(EnumString, Display, Debug, PartialEq, Serialize, Deserialize, Clone, Copy)]
+#[derive(EnumString, Display, Debug, PartialEq, Eq, Serialize, Deserialize, Clone, Copy)]
 pub enum SubscribedType {
   Subscribed,
   NotSubscribed,
   Pending,
 }
+
+#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq)]
+pub enum ModlogActionType {
+  All,
+  ModRemovePost,
+  ModLockPost,
+  ModFeaturePost,
+  ModRemoveComment,
+  ModRemoveCommunity,
+  ModBanFromCommunity,
+  ModAddCommunity,
+  ModTransferCommunity,
+  ModAdd,
+  ModBan,
+  ModHideCommunity,
+  AdminPurgePerson,
+  AdminPurgeCommunity,
+  AdminPurgePost,
+  AdminPurgeComment,
+}
+
+#[derive(
+  EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy, Default, PartialEq, Eq,
+)]
+pub enum PostFeatureType {
+  #[default]
+  Local,
+  Community,
+}