From 797231946a3ea9e1387e5f07818017a4d504b301 Mon Sep 17 00:00:00 2001
From: trisua <me@trisua.com>
Date: Tue, 6 May 2025 23:16:45 -0400
Subject: [PATCH] fix: question request deletion

---
 crates/app/src/routes/pages/misc.rs   | 12 ++++++++++--
 crates/core/src/database/questions.rs |  4 ++--
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/crates/app/src/routes/pages/misc.rs b/crates/app/src/routes/pages/misc.rs
index ff77796..d018954 100644
--- a/crates/app/src/routes/pages/misc.rs
+++ b/crates/app/src/routes/pages/misc.rs
@@ -425,8 +425,16 @@ pub async fn requests_request(
 
                     q.push(match data.0.get_question_by_id(req.linked_asset).await {
                         Ok(p) => p,
-                        Err(e) => {
-                            return Err(Html(render_error(e, &jar, &data, &Some(user)).await));
+                        Err(_) => {
+                            if let Err(e) = data
+                                .0
+                                .delete_request(req.id, req.linked_asset, &user, true)
+                                .await
+                            {
+                                return Err(Html(render_error(e, &jar, &data, &Some(user)).await));
+                            }
+
+                            continue;
                         }
                     });
                 }
diff --git a/crates/core/src/database/questions.rs b/crates/core/src/database/questions.rs
index fd24aa1..d34c6ca 100644
--- a/crates/core/src/database/questions.rs
+++ b/crates/core/src/database/questions.rs
@@ -441,13 +441,13 @@ impl DataManager {
         // delete request (if it exists and question isn't global)
         if !y.is_global
             && self
-                .get_request_by_id_linked_asset(y.owner, y.id)
+                .get_request_by_id_linked_asset(y.id, y.id)
                 .await
                 .is_ok()
         {
             // requests are also deleted when a post is created answering the given question
             // (unless the question is global)
-            self.delete_request(y.owner, y.id, user, false).await?;
+            self.delete_request(y.id, y.id, user, false).await?;
         }
 
         // delete all posts answering question