]> 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 1301bf36f6618d1d0eeec43b0efd71a88b2c365d..0d448ef979703f5bb78efb29099d571e25561ce8 100644 (file)
@@ -1,6 +1,7 @@
-use crate::websocket::chat_server::ChatServer;
-use actix::Addr;
-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},
@@ -10,8 +11,7 @@ use std::sync::Arc;
 
 #[derive(Clone)]
 pub struct LemmyContext {
-  pool: DbPool,
-  chat_server: Addr<ChatServer>,
+  pool: ActualDbPool,
   client: Arc<ClientWithMiddleware>,
   secret: Arc<Secret>,
   rate_limit_cell: RateLimitCell,
@@ -19,25 +19,23 @@ pub struct LemmyContext {
 
 impl LemmyContext {
   pub fn create(
-    pool: DbPool,
-    chat_server: Addr<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) -> &Addr<ChatServer> {
-    &self.chat_server
+  pub fn inner_pool(&self) -> &ActualDbPool {
+    &self.pool
   }
   pub fn client(&self) -> &ClientWithMiddleware {
     &self.client