]> Untitled Git - lemmy.git/blobdiff - crates/apub/src/api/list_comments.rs
Make functions work with both connection and pool (#3420)
[lemmy.git] / crates / apub / src / api / list_comments.rs
index edb70dbaad1f52aa30b79b4d91ea0fc30c391741..e3b7d065923e4180b606332a45d651e3fc0c5967 100644 (file)
@@ -15,7 +15,7 @@ use lemmy_db_schema::{
   traits::Crud,
 };
 use lemmy_db_views::comment_view::CommentQuery;
-use lemmy_utils::error::LemmyError;
+use lemmy_utils::error::{LemmyError, LemmyErrorExt, LemmyErrorType};
 
 #[tracing::instrument(skip(context))]
 pub async fn list_comments(
@@ -23,7 +23,7 @@ pub async fn list_comments(
   context: Data<LemmyContext>,
 ) -> Result<Json<GetCommentsResponse>, 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?;
   check_private_instance(&local_user_view, &local_site)?;
 
   let community_id = if let Some(name) = &data.community_name {
@@ -43,7 +43,7 @@ pub async fn list_comments(
 
   // If a parent_id is given, fetch the comment to get the path
   let parent_path = if let Some(parent_id) = parent_id {
-    Some(Comment::read(context.pool(), parent_id).await?.path)
+    Some(Comment::read(&mut context.pool(), parent_id).await?.path)
   } else {
     None
   };
@@ -52,7 +52,7 @@ pub async fn list_comments(
   let post_id = data.post_id;
   let local_user = local_user_view.map(|l| l.local_user);
   let comments = CommentQuery::builder()
-    .pool(context.pool())
+    .pool(&mut context.pool())
     .listing_type(Some(listing_type))
     .sort(sort)
     .max_depth(max_depth)
@@ -66,7 +66,7 @@ pub async fn list_comments(
     .build()
     .list()
     .await
-    .map_err(|e| LemmyError::from_error_message(e, "couldnt_get_comments"))?;
+    .with_lemmy_type(LemmyErrorType::CouldntGetComments)?;
 
   Ok(Json(GetCommentsResponse { comments }))
 }