Skip to content
Snippets Groups Projects
Commit 26f6b29b authored by tom.ryser's avatar tom.ryser :carousel_horse:
Browse files

Merge remote-tracking branch 'origin/master'

parents ae5257ed ddab43aa
No related branches found
No related tags found
No related merge requests found
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;
}
......@@ -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;
......@@ -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;
}
}
......
......@@ -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;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment