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('/', verifyJWT, (req, res) => { execSQLQuery(`SELECT * FROM exercises;`, res, req.originalUrl); }); router.get('/types', verifyJWT, (req, res) => { execSQLQuery(`SELECT * FROM exercisetype WHERE enabled = 1;`, res, req.originalUrl); }); // router.get('/getExercise/:id', verifyJWT, (req, res) => { // let id = req.params.id; // execSQLQuery(` // SELECT // e.idexercises as 'exercise_id', // e.description as 'exercise_desc', // e.idexercisetype as 'exercise_type', // eq.idexercisequestions as 'question_id', // eq.content as question, // ea.idexerciseanswers as 'answer_id', // ea.content as answer // FROM exercises e // JOIN exercisequestions eq ON e.idexercises = eq.idexercises // JOIN exerciseanswers ea ON eq.idexercisequestions = ea.idexercisequestions // WHERE e.idexercises = ${id} // ORDER BY eq.idexercisequestions, ea.idexerciseanswers ASC;`, // res, // req.originalUrl // ); // }) router.get('/getExercise2/:idexercises', verifyJWT, (req, res) => { const idexercises = parseInt(req.params.idexercises); execSQLQuery(`SELECT * FROM exercises WHERE idexercises = ${idexercises};`, res, req.originalUrl); }); router.get('/:idexercises/getQuestions', verifyJWT, function (req, res, next) { const idexercises = req.params.idexercises; execSQLQuery(`SELECT * FROM exercisequestions WHERE idexercises = ${idexercises};`, res, req.originalUrl); }); router.get('/:idexercisequestions/getQuestionsById', verifyJWT, function (req, res, next) { const idexercisequestions = parseInt(req.params.idexercisequestions); execSQLQuery(`SELECT * FROM exercisequestions WHERE idexercisequestions = ${idexercisequestions};`, res, req.originalUrl); }); router.get('/getExercise/:idexercises', verifyJWT, function (req, res, next) { const idexercises = parseInt(req.params.idexercises); execSQLQuery(`SELECT e.description, e.enabled, e.idexercises, e.idexercisetype, cc.idclasses FROM exercises e JOIN classescontent cc ON e.idexercises = cc.idexercises WHERE e.idexercises = ${idexercises};`, res, req.originalUrl); }); router.get('/:id/getExercises', verifyJWT, function (req, res, next) { const idclasses = parseInt(req.params.idclasses); execSQLQuery(`SELECT * FROM exercises WHERE idclasses = ${idclasses};`, res, req.originalUrl); }); router.post('/insert', verifyJWT, function (req, res) { const description = req.body.description; const idexercisetype = parseInt(req.body.idexercisetype); const enabled = req.body.enabled ? 1 : 0; execSQLQuery(`INSERT INTO exercises (idexercisetype, description, hasmedia, enabled) VALUES (?, ?, 0, ?);`, res, req.originalUrl, [idexercisetype, description, enabled]); }); router.patch('/update', verifyJWT, function (req, res) { const idexercises = parseInt(req.body.idexercises); const description = req.body.description; const idexercisetype = parseInt(req.body.idexercisetype); const enabled = req.body.enabled ? 1 : 0; execSQLQuery(`UPDATE exercises SET description = ?, idexercisetype = ?, enabled = ? WHERE idexercises = ?;`, res, req.originalUrl, [description, idexercisetype, enabled, idexercises]); }); router.get('/allExercises', (req, res) => { execSQLQuery(`SELECT * FROM exercises;`, res, req.originalUrl); }); router.get('/allExerciseQuestions', verifyJWT, (req, res) => { execSQLQuery(`SELECT * FROM exercisequestions;`, res, req.originalUrl); }); router.get('/allExerciseAnswers', verifyJWT, (req, res) => { execSQLQuery(`SELECT * FROM exerciseanswers;`, res, req.originalUrl); }); router.get('/allExerciseType', verifyJWT, (req, res) => { execSQLQuery(`SELECT * FROM exercisetype;`, res, req.originalUrl); }); return router; }; module.exports = routes;