diff --git a/microservices/auth/.env b/microservices/auth/.env index f27ae780ba8fea91b6bd1473d58c7ac1fbbb3de1..167b0a788c5d18b0265403b54b8f21926623cb0c 100644 --- a/microservices/auth/.env +++ b/microservices/auth/.env @@ -3,4 +3,4 @@ API_PORT=30992 SECRET_JWT="JECROISQUECEMESSAGEESTSECRET" CLIENTID = 'f8b0e14f7eee1a718ad0b3f32c52fe34813d56e9052976f076e039d006e24000' CLIENTSECRET = 'gloas-1451c5f206cb04b6b300e6dcbf19a01f1a44bff5e8562741a7efd0ec27eb0855' -DATABASE_URL="postgresql://user:super@service-database/dbqcm?schema=public" +DATABASE_URL="postgresql://user:super@service-database/dbqcm?schema=public" \ No newline at end of file diff --git a/microservices/cors.conf b/microservices/cors.conf index 34310375fec2925f43902de9ab76d5b7af4c1c16..c63cde7d171794dc1c8de951fb25209c594330d8 100644 --- a/microservices/cors.conf +++ b/microservices/cors.conf @@ -1,8 +1,13 @@ - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; - add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type'; - add_header 'Access-Control-Max-Age' 1728000; +# Autoriser toutes les origines +add_header 'Access-Control-Allow-Origin' '*'; +add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; +add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type'; +add_header 'Access-Control-Max-Age' 1728000; + +# Gérer uniquement les requêtes OPTIONS avec 204 +if ($request_method = 'OPTIONS') { add_header 'Content-Length' 0; add_header 'Content-Type' 'text/plain charset=UTF-8'; return 204; +} diff --git a/microservices/creation_qcm/src/routes/CreationQcm.ts b/microservices/creation_qcm/src/routes/CreationQcm.ts index 20315131501033b4dc5e27354392a5672face984..5a77950e8587df3f66113564e7a17e0f80754d07 100644 --- a/microservices/creation_qcm/src/routes/CreationQcm.ts +++ b/microservices/creation_qcm/src/routes/CreationQcm.ts @@ -10,7 +10,7 @@ const router: express.Router = express.Router(); // router.use(verifyJWT) router.post('/QCM', verifyJWT, async (req: express.Request, res: express.Response) => { - console.log("CREATION QCM") + console.log(`[LOG] Ajout QCM avec les données:`, req.body); const { qcm, idUser } = req.body; console.log(qcm, idUser, qcm["nomQcm"], qcm["randomQuestion"], qcm["tempsMax"]) if (!qcm || !idUser || !qcm["nomQcm"] || qcm["randomQuestion"] === undefined || qcm["tempsMax"] === undefined) @@ -30,8 +30,46 @@ router.post('/QCM', verifyJWT, async (req: express.Request, res: express.Respons }); res.status(200).send({id: qcmCreate.idQCM}); }); + +router.put('/QCM', verifyJWT, async (req: express.Request, res: express.Response) => { + console.log(`[LOG] Traitement de la création de QCM avec les données:`, req.body); + const { qcm } = req.body; + console.table(qcm) + if (!qcm || !qcm["nomQcm"] || qcm["randomQuestion"] === undefined || qcm["tempsMax"] === undefined || qcm["idQcm"] === undefined) + { + res.status(400).send({ error: MessageRoute.misPara }); + return + } + const infoQcm = await db.qcmTable.findFirst({ + where: { + idQCM: qcm["idQcm"], + } + }); + + if(!infoQcm) + { + res.status(404).send({ error: MessageRoute.qcmDoesntExist }); + return + } + checkUser(req, res, infoQcm?.idUserCreator, "This is not your QCM"); + const qcmCreate = await db.qcmTable.update({ + where: { + idQCM: qcm["idQcm"] + }, + data: { + nomQCM : qcm["nomQcm"], + randomOrder : qcm["randomQuestion"], + temps : qcm["tempsMax"], + }, + }); + res.status(200).send(qcmCreate); +}); + + router.post('/numeric_question', verifyJWT, async (req: express.Request, res: express.Response) => { + console.log(`[LOG] Ajout de question numérique avec les données:`, req.body); const { question, idQcm } = req.body; + console.log(question, idQcm); if (!idQcm || !question || !question["question"] || question["nbPtsNegatif"] === undefined || question["nbPtsPositif"] === undefined || question["valNum"] === undefined || question["position"] === undefined) { @@ -75,40 +113,8 @@ router.post('/numeric_question', verifyJWT, async (req: express.Request, res: ex res.status(200).send({id: qcmCreate.idQuestion}); }); -router.put('/QCM', verifyJWT, async (req: express.Request, res: express.Response) => { - const { qcm } = req.body; - console.table(qcm) - if (!qcm || !qcm["nomQcm"] || qcm["randomQuestion"] === undefined || qcm["tempsMax"] === undefined || qcm["idQcm"] === undefined) - { - res.status(400).send({ error: MessageRoute.misPara }); - return - } - const infoQcm = await db.qcmTable.findFirst({ - where: { - idQCM: qcm["idQcm"], - } - }); - - if(!infoQcm) - { - res.status(404).send({ error: MessageRoute.qcmDoesntExist }); - return - } - checkUser(req, res, infoQcm?.idUserCreator, "This is not your QCM"); - const qcmCreate = await db.qcmTable.update({ - where: { - idQCM: qcm["idQcm"] - }, - data: { - nomQCM : qcm["nomQcm"], - randomOrder : qcm["randomQuestion"], - temps : qcm["tempsMax"], - }, - }); - res.status(200).send(qcmCreate); -}); - router.post('/true_false_question', verifyJWT, async (req: express.Request, res: express.Response) => { + console.log(`[LOG] Ajout question true_false avec les données:`, req.body); try { const { question, idQcm } = req.body; console.table(req.body)