feat(api): implement ajustement delete endpoint

- DELETE /ajustements/{numEtud}/{idUE}: remove ajustement from DB
- Requires employee role
- Returns 204 on success
This commit is contained in:
2026-04-23 10:53:39 +02:00
parent 79669d60cf
commit b29b0cd19a
@@ -40,4 +40,30 @@ export const handler: Handlers<null, AuthenticatedState> = {
headers: { "content-type": "application/json" },
});
},
// #52 DELETE /ajustements/{numEtud}/{idUE}
async DELETE(
_request: Request,
context: FreshContext<AuthenticatedState>,
): Promise<Response> {
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 });
},
};