From 229512ec0b26688da0188f7ea83e53c6b02ef48b Mon Sep 17 00:00:00 2001 From: Drew Galbraith Date: Sat, 20 Sep 2025 12:10:41 -0700 Subject: [PATCH] Add delete endpoint. --- backend/src/services/tasks.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/backend/src/services/tasks.rs b/backend/src/services/tasks.rs index 9409fcd..bad5eab 100644 --- a/backend/src/services/tasks.rs +++ b/backend/src/services/tasks.rs @@ -15,9 +15,10 @@ use crate::models::{TaskModel, TaskStatus}; use super::AppError; pub fn create_task_router() -> Router> { - Router::new() - .route("/", post(create_task)) - .route("/{task_id}", get(get_task).put(update_task)) + Router::new().route("/", post(create_task)).route( + "/{task_id}", + get(get_task).put(update_task).delete(delete_task), + ) } #[derive(Deserialize)] @@ -82,3 +83,14 @@ pub async fn update_task( Ok((StatusCode::OK, Json(model))) } + +pub async fn delete_task( + State(pool): State>, + WithRejection(Path(task_id), _): WithRejection, AppError>, +) -> Result { + // Ensure that the task exists. + TaskModel::get_by_id(&pool, task_id).await?; + TaskModel::delete(&pool, task_id).await?; + + Ok(StatusCode::NO_CONTENT) +}