Compare commits

...

3 Commits

Author SHA1 Message Date
Clément Oudelet 44857c668e PMPR-35 : résolution conflit 2026-04-23 10:47:22 +02:00
Clément Oudelet 79669d60cf PMPR-38 : POST /ue-modules - associer un module à une UE 2026-04-22 20:40:28 +02:00
Clément Oudelet ac67593d5b PMPR-35 : PUT /ues/{idUE} - modifier une UE 2026-04-22 18:31:04 +02:00
2 changed files with 60 additions and 0 deletions
+22
View File
@@ -33,4 +33,26 @@ export const handler: Handlers = {
return new Response("Failed to fetch data", { status: 500 });
}
},
// #38 POST /ue-modules
async POST(request) {
try {
const body = await request.json();
const { idModule, idUE, idPromo, coeff } = body;
if (!idModule || !idUE || !idPromo || coeff === undefined) {
return new Response("Champs 'idModule', 'idUE', 'idPromo' et 'coeff' requis", { status: 400 });
}
const result = await db.insert(ueModules).values({ idModule, idUE, idPromo, coeff }).returning();
return new Response(JSON.stringify(result[0]), {
status: 201,
headers: { "Content-Type": "application/json" },
});
} catch (error) {
console.error("Error creating UE-module:", error);
return new Response("Failed to create UE-module", { status: 500 });
}
},
};
+38
View File
@@ -34,4 +34,42 @@ export const handler: Handlers = {
return new Response("Failed to fetch data", { status: 500 });
}
},
// #35 PUT /ues/:idUE
async PUT(request, context) {
try {
const idUE = parseInt(context.params.idUE);
if (isNaN(idUE)) {
return new Response(JSON.stringify({ error: "Paramètre idUE invalide" }), {
status: 400,
headers: { "Content-Type": "application/json" },
});
}
const body = await request.json();
const { nom } = body;
if (!nom) {
return new Response("Champ 'nom' manquant", { status: 400 });
}
const result = await db.update(ues).set({ nom }).where(eq(ues.id, idUE)).returning();
if (result.length === 0) {
return new Response(JSON.stringify({ error: "Ressource introuvable" }), {
status: 404,
headers: { "Content-Type": "application/json" },
});
}
return new Response(JSON.stringify(result[0]), {
status: 200,
headers: { "Content-Type": "application/json" },
});
} catch (error) {
console.error("Error updating UE:", error);
return new Response("Failed to update UE", { status: 500 });
}
},
};