ZoeApi/controllers/questionController.js

80 lines
2.6 KiB
JavaScript

require('../connections/mysql-server');
require('../helpers/CheckToken');
const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser');
router.use(bodyParser.urlencoded({ extended: true }));
router.use(bodyParser.json());
var routes = function () {
router.get('/:idexercisequestions/getAnswers', verifyJWT, function (req, res, next) {
const idexercisequestions = parseInt(req.params.idexercisequestions);
execSQLQuery(`SELECT
*
FROM exerciseanswers
WHERE idexercisequestions = ${idexercisequestions};`, res, req.originalUrl);
});
router.get('/getQuestionByExercise/:idexercises', verifyJWT, function (req, res, next) {
const idexercises = parseInt(req.params.idexercises);
execSQLQuery(`SELECT
*
FROM exercisequestions
WHERE idexercises = ${idexercises};`, res, req.originalUrl);
});
router.get('/getQuestion/:idexercises', verifyJWT, function (req, res, next) {
const idexercises = parseInt(req.params.idexercises);
execSQLQuery(`SELECT
*
FROM exercisequestions
WHERE idexercises = ${idexercises};`, res, req.originalUrl);
});
router.post('/insert', verifyJWT, (req, res) => {
const content = req.body.content;
const idexercises = parseInt(req.body.idexercises);
execSQLQuery(`INSERT INTO exercisequestions (idexercises, content)
VALUES (?, ?);`, res, req.originalUrl, [idexercises, content]);
});
router.patch('/update', verifyJWT, function (req, res) {
const idexercisequestions = parseInt(req.body.idexercisequestions);
const content = req.body.content;
const idexercises = parseInt(req.body.idexercises);
execSQLQuery(`UPDATE exercisequestions SET
content = ?,
idexercises = ?
WHERE idexercisequestions = ?;`, res, req.originalUrl, [content, idexercises, idexercisequestions]);
});
router.patch('/removerPerguntas', verifyJWT, function (req, res, next) {
let idexercisequestions = req.body.idexercisequestions;
let ids = idexercisequestions.split(',');
index1 = 0;
removeQuestion(ids, res);
});
return router;
};
index1 = 0;
function removeQuestion(ids, res) {
if (index1 < ids.length - 1) {
let sqlQuery = `UPDATE exercisequestions SET idexercises = null WHERE idexercisequestions = ${ids[index1]};`;
console.log(sqlQuery);
mysqlConnection.query(sqlQuery, function (error, results, fields) {
console.log("AnswerID " + ids[index1] + " removed");
index1++;
removeQuestion(ids, res);
});
}
else {
res.send("questions removed");
}
}
module.exports = routes;