diff --git a/microservices/cors.conf b/microservices/cors.conf index 3043ba0ec6720b61839cd7a4a969b1848845f6a2..34310375fec2925f43902de9ab76d5b7af4c1c16 100644 --- a/microservices/cors.conf +++ b/microservices/cors.conf @@ -1,9 +1,4 @@ -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'; -# Gestion des requĂȘtes OPTIONS -if ($request_method = OPTIONS) { 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'; @@ -11,4 +6,3 @@ 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 708fd5df92a4813e72a404ec984420de66114d3c..e34cf931f25a487651dd727d0e2a2ff88c79ef26 100644 --- a/microservices/creation_qcm/src/routes/CreationQcm.ts +++ b/microservices/creation_qcm/src/routes/CreationQcm.ts @@ -107,4 +107,78 @@ router.put('/QCM', verifyJWT, async (req: express.Request, res: express.Response res.status(200).send(qcmCreate); }); +router.post('/true_false_question', verifyJWT, async (req: express.Request, res: express.Response) => { + try { + const { question, idQcm } = req.body; + console.table(req.body) + console.log(question, idQcm) + if (!idQcm || !question || !question["question"] || !question["nbPtsNegatif"] === undefined || !question["nbPtsPositif"] === undefined || question["isVraiFaux"] === undefined || question["valVraiFaux"] === undefined) { + res.status(400).send({ error: MessageRoute.misPara }); + return + } + + const infoQcm = await db.qcmTable.findFirst({ + where: { + idQCM: idQcm + } + }); + + if (!infoQcm) { + res.status(400).send({ error:MessageRoute.qcmDoesntExist}); + return + } + checkUser(req, res, infoQcm.idUserCreator, MessageRoute.cantCreate); + + const type = await db.type.findFirst({ + where: { + nomType: "vraiFaux" + } + }); + + if (!type) { + res.status(500).send({ error: 'Server Problem: Type not found' }); + return + } + + + const questionCreate = await db.question.create({ + data: { + nbPtsNegatif: question["nbPtsNegatif"], + nbPtsPositif: question["nbPtsPositif"], + position: 0, + isMultiple: false, + question: question["question"], + idQCM: idQcm, + idType: type["idType"], + randomOrder: question["randomOrder"], + } + }); + + + if (!questionCreate) { + res.status(500).send({ error: 'Server Problem: Question creation failed' }); + return + } + + const idQuestion = questionCreate.idQuestion; + + const choixData = [ + { nomChoix: "Vrai", isCorrect: question.valVraiFaux, idQuestion: idQuestion, position: 0 }, + { nomChoix: "Faux", isCorrect: !question.valVraiFaux, idQuestion: idQuestion, position: 1 } + ]; + + const choixCreate = await db.choix.createMany({ + data: choixData + }); + if(!choixCreate){ + res.status(500).send({ error: MessageRoute.serverError }); + return + } + + res.status(200).send({id: idQuestion}); + } catch (error) { + res.status(500).send({ error: MessageRoute.serverError }); + } +}); + export default router; diff --git a/microservices/nginx.conf b/microservices/nginx.conf index 3c470461657fdaa517e2bdf4106ecb3924cf9cf3..b7e983c54f05f7b45034c2b1aabaecf5c70ab7c6 100644 --- a/microservices/nginx.conf +++ b/microservices/nginx.conf @@ -14,7 +14,7 @@ http { location /auth/jwt { proxy_pass http://service-auth:30992; - include cors.conf; + } location /helloworld { @@ -71,6 +71,18 @@ http { proxy_pass http://service-search-qcm:30992; include cors.conf; } + + location /true_false_question { + proxy_pass http://service-creation-qcm:30992; + include cors.conf; + } + + location /join { + proxy_pass http://service-realise-qcm:30992; + include cors.conf; + } + + } diff --git a/microservices/realise_qcm/src/routes/RealiseQcm.ts b/microservices/realise_qcm/src/routes/RealiseQcm.ts index a39a071d6fa6d389b46b62eb66934243d1dd7870..e568382ad2ca54c7e5d2cb0f504b551b6129b0b5 100644 --- a/microservices/realise_qcm/src/routes/RealiseQcm.ts +++ b/microservices/realise_qcm/src/routes/RealiseQcm.ts @@ -532,78 +532,6 @@ router.post('/numeric_response',verifyJWT, async (req: express.Request, res: ex res.status(500).send({ error: MessageRoute.serverErrorAnswering }); } }); -router.post('/true_false_question', verifyJWT, async (req: express.Request, res: express.Response) => { - try { - const { question, idQcm } = req.body; - console.table(req.body) - console.log(question, idQcm) - if (!idQcm || !question || !question["question"] || !question["nbPtsNegatif"] === undefined || !question["nbPtsPositif"] === undefined || question["isVraiFaux"] === undefined || question["valVraiFaux"] === undefined) { - res.status(400).send({ error: MessageRoute.misPara }); - return - } - - const infoQcm = await db.qcmTable.findFirst({ - where: { - idQCM: idQcm - } - }); - - if (!infoQcm) { - res.status(400).send({ error:MessageRoute.qcmDoesntExist}); - return - } - checkUser(req, res, infoQcm.idUserCreator, MessageRoute.cantCreate); - - const type = await db.type.findFirst({ - where: { - nomType: "vraiFaux" - } - }); - - if (!type) { - res.status(500).send({ error: 'Server Problem: Type not found' }); - return - } - - - const questionCreate = await db.question.create({ - data: { - nbPtsNegatif: question["nbPtsNegatif"], - nbPtsPositif: question["nbPtsPositif"], - position: 0, - isMultiple: false, - question: question["question"], - idQCM: idQcm, - idType: type["idType"], - randomOrder: question["randomOrder"], - } - }); - - - if (!questionCreate) { - res.status(500).send({ error: 'Server Problem: Question creation failed' }); - return - } - - const idQuestion = questionCreate.idQuestion; - - const choixData = [ - { nomChoix: "Vrai", isCorrect: question.valVraiFaux, idQuestion: idQuestion, position: 0 }, - { nomChoix: "Faux", isCorrect: !question.valVraiFaux, idQuestion: idQuestion, position: 1 } - ]; - - const choixCreate = await db.choix.createMany({ - data: choixData - }); - if(!choixCreate){ - res.status(500).send({ error: MessageRoute.serverError }); - return - } - - res.status(200).send({id: idQuestion}); - } catch (error) { - res.status(500).send({ error: MessageRoute.serverError }); - } -}); + export default router;