]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/post/create.rs
Dont swallow API errors (fixes #1834) (#1837)
[lemmy.git] / crates / api_crud / src / post / create.rs
index 2b6b4b572aa4e5889e8ff32ca0a5c2f4106f6071..89e664631e215790b2bc7abc37777e7fe7b0b53c 100644 (file)
@@ -50,7 +50,7 @@ impl PerformCrud for CreatePost {
     honeypot_check(&data.honeypot)?;
 
     if !is_valid_post_title(&data.name) {
-      return Err(ApiError::err("invalid_post_title").into());
+      return Err(ApiError::err_plain("invalid_post_title").into());
     }
 
     check_community_ban(local_user_view.person.id, data.community_id, context.pool()).await?;
@@ -87,7 +87,7 @@ impl PerformCrud for CreatePost {
             "couldnt_create_post"
           };
 
-          return Err(ApiError::err(err_type).into());
+          return Err(ApiError::err(err_type, e).into());
         }
       };
 
@@ -102,7 +102,7 @@ impl PerformCrud for CreatePost {
       Ok(Post::update_ap_id(conn, inserted_post_id, apub_id)?)
     })
     .await?
-    .map_err(|_| ApiError::err("couldnt_create_post"))?;
+    .map_err(|e| ApiError::err("couldnt_create_post", e))?;
 
     CreateOrUpdatePost::send(
       &updated_post,
@@ -123,7 +123,7 @@ impl PerformCrud for CreatePost {
 
     let like = move |conn: &'_ _| PostLike::like(conn, &like_form);
     if blocking(context.pool(), like).await?.is_err() {
-      return Err(ApiError::err("couldnt_like_post").into());
+      return Err(ApiError::err_plain("couldnt_like_post").into());
     }
 
     // Mark the post as read