]> Untitled Git - lemmy.git/blobdiff - crates/apub/src/api/read_community.rs
Make functions work with both connection and pool (#3420)
[lemmy.git] / crates / apub / src / api / read_community.rs
index 5c8e8cac3e482b47a61492d3b28379a2935f981a..12e17dac675a4b4303e61ce45722c4d3ec50bc79 100644 (file)
@@ -21,7 +21,7 @@ pub async fn read_community(
   context: Data<LemmyContext>,
 ) -> Result<Json<GetCommunityResponse>, LemmyError> {
   let local_user_view = local_user_view_from_jwt_opt(data.auth.as_ref(), &context).await;
-  let local_site = LocalSite::read(context.pool()).await?;
+  let local_site = LocalSite::read(&mut context.pool()).await?;
 
   if data.name.is_none() && data.id.is_none() {
     return Err(LemmyErrorType::NoIdGiven)?;
@@ -42,13 +42,16 @@ pub async fn read_community(
     }
   };
 
-  let is_mod_or_admin =
-    is_mod_or_admin_opt(context.pool(), local_user_view.as_ref(), Some(community_id))
-      .await
-      .is_ok();
+  let is_mod_or_admin = is_mod_or_admin_opt(
+    &mut context.pool(),
+    local_user_view.as_ref(),
+    Some(community_id),
+  )
+  .await
+  .is_ok();
 
   let community_view = CommunityView::read(
-    context.pool(),
+    &mut context.pool(),
     community_id,
     person_id,
     Some(is_mod_or_admin),
@@ -56,12 +59,12 @@ pub async fn read_community(
   .await
   .with_lemmy_type(LemmyErrorType::CouldntFindCommunity)?;
 
-  let moderators = CommunityModeratorView::for_community(context.pool(), community_id)
+  let moderators = CommunityModeratorView::for_community(&mut context.pool(), community_id)
     .await
     .with_lemmy_type(LemmyErrorType::CouldntFindCommunity)?;
 
   let site_id = Site::instance_actor_id_from_url(community_view.community.actor_id.clone().into());
-  let mut site = Site::read_from_apub_id(context.pool(), &site_id.into()).await?;
+  let mut site = Site::read_from_apub_id(&mut context.pool(), &site_id.into()).await?;
   // no need to include metadata for local site (its already available through other endpoints).
   // this also prevents us from leaking the federation private key.
   if let Some(s) = &site {
@@ -71,7 +74,7 @@ pub async fn read_community(
   }
 
   let community_id = community_view.community.id;
-  let discussion_languages = CommunityLanguage::read(context.pool(), community_id).await?;
+  let discussion_languages = CommunityLanguage::read(&mut context.pool(), community_id).await?;
 
   Ok(Json(GetCommunityResponse {
     community_view,