diff --git a/tp_note_2023_2024/src/requestHandlers/task.ts b/tp_note_2023_2024/src/requestHandlers/task.ts
index f2faad5a9b0fa277f781102378d33f20b2fa56f5..c75715aa04989f85b0b9dc1725f5ca47d03421c2 100644
--- a/tp_note_2023_2024/src/requestHandlers/task.ts
+++ b/tp_note_2023_2024/src/requestHandlers/task.ts
@@ -3,4 +3,27 @@ import { Prisma } from '@prisma/client';
 import type { Request, Response } from 'express';
 import { HttpError } from '../error';
 import { assert } from 'superstruct';
+import { TaskUpdateData } from "../validation/task";
+import { responde } from "../functions";
 
+export async function update_one(req: Request, res: Response) {
+    assert(req.body, TaskUpdateData);
+    const task = await prisma.task.update({
+        where: { id: Number(req.params.task_id) },
+        data: req.body,
+    });
+    if (task == null) {
+        throw new HttpError("Task doesn't exist", 404);
+    }
+    res.status(200).json(task);
+}
+
+export async function delete_one(req: Request, res: Response) {
+    const task = await prisma.task.delete({
+        where: { id: Number(req.params.task_id) }
+    });
+    if (task == null) {
+        throw new HttpError("Task doesn't exist", 404);
+    }
+    responde(res, 204, "Task succesfully deleted.");
+}
\ No newline at end of file
diff --git a/tp_note_2023_2024/src/routes/routes_tasks.ts b/tp_note_2023_2024/src/routes/routes_tasks.ts
index 65ecbf9500ef7583b24cfdc189b1512c8cf4b03c..d4d0b447532c64bb6cd5305fe170c356623769cc 100644
--- a/tp_note_2023_2024/src/routes/routes_tasks.ts
+++ b/tp_note_2023_2024/src/routes/routes_tasks.ts
@@ -1,6 +1,9 @@
 import express from "express";
-import * as user from "../requestHandlers/user";
+import * as task from "../requestHandlers/task";
 var ex = require("express"),
   router = ex.Router();
 
+router.patch("/:task_id", task.update_one);
+router.delete("/:task_id", task.delete_one);
+
 module.exports = router;