X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fdb_schema%2Fsrc%2Flib.rs;h=055c68e06ded3d5292ba9bff70e3ce51f07bea49;hb=d8722b6e91a79878001d968150687d25c5d6905e;hp=b0e56393fc671354fd5d4d7dd1caef770b4f2bde;hpb=f5511cfd2582e1044ad5ace5be1161ea9f467488;p=lemmy.git diff --git a/crates/db_schema/src/lib.rs b/crates/db_schema/src/lib.rs index b0e56393..055c68e0 100644 --- a/crates/db_schema/src/lib.rs +++ b/crates/db_schema/src/lib.rs @@ -6,6 +6,11 @@ extern crate diesel; #[cfg(feature = "full")] #[macro_use] extern crate diesel_derive_newtype; + +#[cfg(feature = "full")] +#[macro_use] +extern crate diesel_derive_enum; + // this is used in tests #[cfg(feature = "full")] #[macro_use] @@ -20,6 +25,7 @@ pub mod aggregates; pub mod impls; pub mod newtypes; #[cfg(feature = "full")] +#[rustfmt::skip] pub mod schema; pub mod source; #[cfg(feature = "full")] @@ -30,7 +36,13 @@ pub mod utils; use serde::{Deserialize, Serialize}; use strum_macros::{Display, EnumString}; -#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy)] +#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq)] +#[cfg_attr(feature = "full", derive(DbEnum))] +#[cfg_attr( + feature = "full", + ExistingTypePath = "crate::schema::sql_types::SortTypeEnum" +)] +#[cfg_attr(feature = "full", DbValueStyle = "verbatim")] pub enum SortType { Active, Hot, @@ -54,12 +66,31 @@ pub enum CommentSortType { } #[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq)] +#[cfg_attr(feature = "full", derive(DbEnum))] +#[cfg_attr( + feature = "full", + ExistingTypePath = "crate::schema::sql_types::ListingTypeEnum" +)] +#[cfg_attr(feature = "full", DbValueStyle = "verbatim")] pub enum ListingType { All, Local, Subscribed, } +#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq)] +#[cfg_attr(feature = "full", derive(DbEnum))] +#[cfg_attr( + feature = "full", + ExistingTypePath = "crate::schema::sql_types::RegistrationModeEnum" +)] +#[cfg_attr(feature = "full", DbValueStyle = "verbatim")] +pub enum RegistrationMode { + Closed, + RequireApplication, + Open, +} + #[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy)] pub enum SearchType { All,