]> Untitled Git - lemmy.git/blobdiff - crates/api_common/src/context.rs
Make functions work with both connection and pool (#3420)
[lemmy.git] / crates / api_common / src / context.rs
index 4c91c2c5bcd9412b03bbd54ce82843f3f85b2692..0d448ef979703f5bb78efb29099d571e25561ce8 100644 (file)
@@ -1,5 +1,7 @@
-use crate::websocket::chat_server::ChatServer;
-use lemmy_db_schema::{source::secret::Secret, utils::DbPool};
+use lemmy_db_schema::{
+  source::secret::Secret,
+  utils::{ActualDbPool, DbPool},
+};
 use lemmy_utils::{
   rate_limit::RateLimitCell,
   settings::{structs::Settings, SETTINGS},
@@ -9,8 +11,7 @@ use std::sync::Arc;
 
 #[derive(Clone)]
 pub struct LemmyContext {
-  pool: DbPool,
-  chat_server: Arc<ChatServer>,
+  pool: ActualDbPool,
   client: Arc<ClientWithMiddleware>,
   secret: Arc<Secret>,
   rate_limit_cell: RateLimitCell,
@@ -18,25 +19,23 @@ pub struct LemmyContext {
 
 impl LemmyContext {
   pub fn create(
-    pool: DbPool,
-    chat_server: Arc<ChatServer>,
+    pool: ActualDbPool,
     client: ClientWithMiddleware,
     secret: Secret,
     rate_limit_cell: RateLimitCell,
   ) -> LemmyContext {
     LemmyContext {
       pool,
-      chat_server,
       client: Arc::new(client),
       secret: Arc::new(secret),
       rate_limit_cell,
     }
   }
-  pub fn pool(&self) -> &DbPool {
-    &self.pool
+  pub fn pool(&self) -> DbPool<'_> {
+    DbPool::Pool(&self.pool)
   }
-  pub fn chat_server(&self) -> &Arc<ChatServer> {
-    &self.chat_server
+  pub fn inner_pool(&self) -> &ActualDbPool {
+    &self.pool
   }
   pub fn client(&self) -> &ClientWithMiddleware {
     &self.client