From 7b98527882d55522eb7c4410d80709e852c8bfb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matou=C5=A1=20Volf?= <66163112+matous-volf@users.noreply.github.com> Date: Sun, 8 Sep 2024 09:56:23 +0200 Subject: [PATCH] feat: create a server function for deleting a task permanently --- src/server/tasks.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/server/tasks.rs b/src/server/tasks.rs index 91c4083..b20d3b6 100644 --- a/src/server/tasks.rs +++ b/src/server/tasks.rs @@ -136,3 +136,19 @@ pub(crate) async fn complete_task(task_id: i32) -> Result Result<(), ServerFnError>> { + use crate::schema::tasks::dsl::*; + + let mut connection = establish_database_connection() + .map_err::, _>(|_| vec![Error::ServerInternal].into())?; + + diesel::delete(tasks.filter(id.eq(task_id))).execute(&mut connection) + .map_err::, _>(|error| vec![error.into()].into())?; + + Ok(()) +}