Create the remaining task api methods on the server. #3

Merged
drew merged 6 commits from remaining-method into main 2025-09-20 19:23:20 +00:00
Showing only changes of commit 229512ec0b - Show all commits

View file

@ -15,9 +15,10 @@ use crate::models::{TaskModel, TaskStatus};
use super::AppError; use super::AppError;
pub fn create_task_router() -> Router<Pool<Sqlite>> { pub fn create_task_router() -> Router<Pool<Sqlite>> {
Router::new() Router::new().route("/", post(create_task)).route(
.route("/", post(create_task)) "/{task_id}",
.route("/{task_id}", get(get_task).put(update_task)) get(get_task).put(update_task).delete(delete_task),
)
} }
#[derive(Deserialize)] #[derive(Deserialize)]
@ -82,3 +83,14 @@ pub async fn update_task(
Ok((StatusCode::OK, Json(model))) Ok((StatusCode::OK, Json(model)))
} }
pub async fn delete_task(
State(pool): State<Pool<Sqlite>>,
WithRejection(Path(task_id), _): WithRejection<Path<Uuid>, AppError>,
) -> Result<StatusCode, AppError> {
// Ensure that the task exists.
TaskModel::get_by_id(&pool, task_id).await?;
TaskModel::delete(&pool, task_id).await?;
Ok(StatusCode::NO_CONTENT)
}