Skip to content
Snippets Groups Projects
Commit 36caf5f4 authored by Abelangel's avatar Abelangel
Browse files

plus de probleme cors auth, mais pas tous les routes testés

parent 345f4a09
Branches
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