]> Untitled Git - lemmy.git/blobdiff - crates/api/src/post.rs
Dont swallow API errors (fixes #1834) (#1837)
[lemmy.git] / crates / api / src / post.rs
index da828725dbe3e327ce07d2ab4ce129879d0bb670..d2440b7a38a9f149bbdb4222f1ffe82c753bcc55 100644 (file)
@@ -73,9 +73,9 @@ impl Perform for CreatePostLike {
     if do_add {
       let like_form2 = like_form.clone();
       let like = move |conn: &'_ _| PostLike::like(conn, &like_form2);
-      if blocking(context.pool(), like).await?.is_err() {
-        return Err(ApiError::err("couldnt_like_post").into());
-      }
+      blocking(context.pool(), like)
+        .await?
+        .map_err(|e| ApiError::err("couldnt_like_post", e))?;
 
       Vote::send(
         &object,
@@ -269,14 +269,14 @@ impl Perform for SavePost {
 
     if data.save {
       let save = move |conn: &'_ _| PostSaved::save(conn, &post_saved_form);
-      if blocking(context.pool(), save).await?.is_err() {
-        return Err(ApiError::err("couldnt_save_post").into());
-      }
+      blocking(context.pool(), save)
+        .await?
+        .map_err(|e| ApiError::err("couldnt_save_post", e))?;
     } else {
       let unsave = move |conn: &'_ _| PostSaved::unsave(conn, &post_saved_form);
-      if blocking(context.pool(), unsave).await?.is_err() {
-        return Err(ApiError::err("couldnt_save_post").into());
-      }
+      blocking(context.pool(), unsave)
+        .await?
+        .map_err(|e| ApiError::err("couldnt_save_post", e))?;
     }
 
     let post_id = data.post_id;