]> Untitled Git - lemmy.git/blobdiff - lemmy_db/src/lib.rs
Merge branch 'main' into move_views_to_diesel
[lemmy.git] / lemmy_db / src / lib.rs
index 0ca4826a19486ebbb11cd3b9f5be4dfbab632f25..0cf1cd61c6f3dfadd3847287b8f30446f6cb4771 100644 (file)
@@ -12,12 +12,12 @@ use serde::{Deserialize, Serialize};
 use std::{env, env::VarError};
 
 pub mod activity;
+pub mod aggregates;
 pub mod category;
 pub mod comment;
 pub mod comment_report;
 pub mod comment_view;
 pub mod community;
-pub mod community_view;
 pub mod moderator;
 pub mod moderator_views;
 pub mod password_reset_request;
@@ -28,11 +28,10 @@ pub mod private_message;
 pub mod private_message_view;
 pub mod schema;
 pub mod site;
-pub mod site_view;
 pub mod user;
 pub mod user_mention;
 pub mod user_mention_view;
-pub mod user_view;
+pub mod views;
 
 pub type DbPool = diesel::r2d2::Pool<diesel::r2d2::ConnectionManager<diesel::PgConnection>>;
 
@@ -149,6 +148,11 @@ impl<T> MaybeOptional<T> for Option<T> {
   }
 }
 
+pub(crate) trait ToSafe {
+  type SafeColumns;
+  fn safe_columns_tuple() -> Self::SafeColumns;
+}
+
 pub fn get_database_url_from_env() -> Result<String, VarError> {
   env::var("LEMMY_DATABASE_URL")
 }
@@ -222,6 +226,14 @@ lazy_static! {
     Regex::new(r"^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$").unwrap();
 }
 
+pub(crate) mod functions {
+  use diesel::sql_types::*;
+
+  sql_function! {
+    fn hot_rank(score: BigInt, time: Timestamp) -> Integer;
+  }
+}
+
 #[cfg(test)]
 mod tests {
   use super::fuzzy_search;