diff --git a/routes/(apps)/notes/api/ajustements/[numEtud]/[idUE].ts b/routes/(apps)/notes/api/ajustements/[numEtud]/[idUE].ts index ae7232c..25a645a 100644 --- a/routes/(apps)/notes/api/ajustements/[numEtud]/[idUE].ts +++ b/routes/(apps)/notes/api/ajustements/[numEtud]/[idUE].ts @@ -40,4 +40,30 @@ export const handler: Handlers = { headers: { "content-type": "application/json" }, }); }, + + // #52 DELETE /ajustements/{numEtud}/{idUE} + async DELETE( + _request: Request, + context: FreshContext, + ): Promise { + if (context.state.session.eduPersonPrimaryAffiliation !== "employee") { + return FORBIDDEN; + } + + const numEtud = Number(context.params.numEtud); + const idUE = Number(context.params.idUE); + + if (isNaN(numEtud) || isNaN(idUE)) { + return new Response("Paramètres invalides", { status: 400 }); + } + + const [deleted] = await db + .delete(ajustements) + .where(eq(ajustements.numEtud, numEtud), eq(ajustements.idUE, idUE)) + .returning(); + + if (!deleted) return NOT_FOUND; + + return new Response(null, { status: 204 }); + }, };