Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/FYP-2024-IQMA/fyp2024 in…
Browse files Browse the repository at this point in the history
…to SCRUM-85-Integrate-Backend-endpoints-with-Key-Takeaway
  • Loading branch information
rrachea committed Sep 8, 2024
2 parents 2d0182f + 97e0d48 commit 78fe08c
Show file tree
Hide file tree
Showing 52 changed files with 1,984 additions and 421 deletions.
309 changes: 309 additions & 0 deletions backend/__tests__/controllers/lessonController.test.js

Large diffs are not rendered by default.

403 changes: 393 additions & 10 deletions backend/__tests__/services/lessonService.test.js

Large diffs are not rendered by default.

24 changes: 13 additions & 11 deletions backend/dist/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ const chatRouter_1 = __importDefault(require("./routes/chatRouter"));
const cookie_parser_1 = __importDefault(require("cookie-parser"));
const cors_1 = __importDefault(require("cors"));
const express_1 = __importDefault(require("express"));
const lessonRouter_1 = __importDefault(require("./routes/lessonRouter"));
const questionRouter_1 = __importDefault(require("./routes/questionRouter"));
const quizRouter_1 = __importDefault(require("./routes/quizRouter"));
const resultRouter_1 = __importDefault(require("./routes/resultRouter"));
Expand All @@ -22,17 +23,18 @@ app.use((0, cors_1.default)());
app.use((0, cookie_parser_1.default)());
const port = 3000;
app.use(express_1.default.json());
app.use('/accounts', accountsRouter_1.default);
app.use('/accountsaffective', accountsAffectiveRouter_1.default);
app.use('/accountscognitive', accountsCognitiveRouter_1.default);
app.use('/accountsdemographics', accountsDemographicsRouter_1.default);
app.use('/accountssocial', accountsSocialRouter_1.default);
app.use('/quiz', quizRouter_1.default);
app.use('/quiz', questionRouter_1.default);
app.use('/result', resultRouter_1.default);
app.use('/unit', unitRouter_1.default);
app.use('/chat', chatRouter_1.default);
app.use('/section', sectionRouter_1.default);
app.use("/accounts", accountsRouter_1.default);
app.use("/accountsaffective", accountsAffectiveRouter_1.default);
app.use("/accountscognitive", accountsCognitiveRouter_1.default);
app.use("/accountsdemographics", accountsDemographicsRouter_1.default);
app.use("/accountssocial", accountsSocialRouter_1.default);
app.use("/quiz", quizRouter_1.default);
app.use("/quiz", questionRouter_1.default);
app.use("/result", resultRouter_1.default);
app.use("/unit", unitRouter_1.default);
app.use("/chat", chatRouter_1.default);
app.use("/lesson", lessonRouter_1.default);
app.use("/section", sectionRouter_1.default);
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
73 changes: 73 additions & 0 deletions backend/dist/controllers/lessonController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAllLessons = exports.getLesson = exports.getNoOfLessonPerUnit = void 0;
const lessonService = __importStar(require("../services/lessonService"));
/* READ */
const getNoOfLessonPerUnit = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const lessonCount = yield lessonService.getNoOfLessonPerUnit(req.params.sectionID, req.params.unitID);
res.status(200).json(lessonCount);
}
catch (error) {
res.status(500).json({
error: `Failed to retrieve no. of lesson per unit of ${req.params.unitID}`,
});
}
});
exports.getNoOfLessonPerUnit = getNoOfLessonPerUnit;
const getLesson = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const lesson = yield lessonService.getLesson(req.params.sectionID, req.params.unitID, req.params.lessonID);
res.status(200).json(lesson);
}
catch (error) {
res.status(500).json({
error: `Failed to retrieve lesson ${req.params.lessonID}`,
});
}
});
exports.getLesson = getLesson;
const getAllLessons = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const lessons = yield lessonService.getAllLessons(req.params.sectionID, req.params.unitID);
res.status(200).json(lessons);
}
catch (error) {
res.status(500).json({
error: `Failed to retrieve lessons of ${req.params.unitID}`,
});
}
});
exports.getAllLessons = getAllLessons;
8 changes: 4 additions & 4 deletions backend/dist/routes/accountsAffectiveRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = require("express");
const accountsAffectiveController = __importStar(require("../controllers/accountsAffectiveController"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* CREATE */
router.post("/createaccountaffective", authMiddleware_1.default, accountsAffectiveController.createAccountAffective);
/* READ */
router.get('/getaccountaffectivebyid/:id', authMiddleware_1.default, accountsAffectiveController.getAccountAffectiveById);
router.get("/getaccountaffectivebyid/:id", authMiddleware_1.default, accountsAffectiveController.getAccountAffectiveById);
/* UPDATE */
router.patch('/updateaccountaffective', authMiddleware_1.default, accountsAffectiveController.updateAccountAffective);
router.patch("/updateaccountaffective", authMiddleware_1.default, accountsAffectiveController.updateAccountAffective);
/* DELETE */
router.delete('/deleteaccountaffective/:id', authMiddleware_1.default, accountsAffectiveController.deleteAccountAffective);
router.delete("/deleteaccountaffective/:id", authMiddleware_1.default, accountsAffectiveController.deleteAccountAffective);
exports.default = router;
8 changes: 4 additions & 4 deletions backend/dist/routes/accountsCognitiveRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = require("express");
const accountsCognitiveController = __importStar(require("../controllers/accountsCognitiveController"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* CREATE */
router.post("/createaccountcognitive", authMiddleware_1.default, accountsCognitiveController.createAccountCognitive);
/* READ */
router.get('/getaccountcognitivebyid/:id', authMiddleware_1.default, accountsCognitiveController.getAccountCognitiveById);
router.get("/getaccountcognitivebyid/:id", authMiddleware_1.default, accountsCognitiveController.getAccountCognitiveById);
/* UPDATE */
router.patch('/updateaccountcognitive', authMiddleware_1.default, accountsCognitiveController.updateAccountCognitive);
router.patch("/updateaccountcognitive", authMiddleware_1.default, accountsCognitiveController.updateAccountCognitive);
/* DELETE */
router.delete('/deleteaccountcognitive/:id', authMiddleware_1.default, accountsCognitiveController.deleteAccountCognitive);
router.delete("/deleteaccountcognitive/:id", authMiddleware_1.default, accountsCognitiveController.deleteAccountCognitive);
exports.default = router;
8 changes: 4 additions & 4 deletions backend/dist/routes/accountsDemographicsRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = require("express");
const accountsDemographicsController = __importStar(require("../controllers/accountsDemographicsController"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* CREATE */
router.post("/createaccountdemographics", authMiddleware_1.default, accountsDemographicsController.createAccountDemographics);
/* READ */
router.get('/getaccountdemographicsbyid/:id', authMiddleware_1.default, accountsDemographicsController.getAccountDemographicsById);
router.get("/getaccountdemographicsbyid/:id", authMiddleware_1.default, accountsDemographicsController.getAccountDemographicsById);
/* UPDATE */
router.patch('/updateaccountdemographics', authMiddleware_1.default, accountsDemographicsController.updateAccountDemographics);
router.patch("/updateaccountdemographics", authMiddleware_1.default, accountsDemographicsController.updateAccountDemographics);
/* DELETE */
router.delete('/deleteaccountdemographics/:id', authMiddleware_1.default, accountsDemographicsController.deleteAccountDemographics);
router.delete("/deleteaccountdemographics/:id", authMiddleware_1.default, accountsDemographicsController.deleteAccountDemographics);
exports.default = router;
12 changes: 6 additions & 6 deletions backend/dist/routes/accountsRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ const router = (0, express_1.Router)();
/* CREATE */
router.post("/createaccount", authMiddleware_1.default, accountsController.createAccount);
/* READ */
router.get('/getallaccounts', authMiddleware_1.default, accountsController.getAllAccounts);
router.get('/getaccountbyid/:id', authMiddleware_1.default, accountsController.getAccountById);
router.get("/getallaccounts", authMiddleware_1.default, accountsController.getAllAccounts);
router.get("/getaccountbyid/:id", authMiddleware_1.default, accountsController.getAccountById);
router.get("/getaccountsbyrole/:role", authMiddleware_1.default, accountsController.getAccountsByRole);
router.post('/setToken', accountsController.getJwtToken);
router.post('/logout', authMiddleware_1.default, accountsController.logout);
router.post("/setToken", accountsController.getJwtToken);
router.post("/logout", authMiddleware_1.default, accountsController.logout);
/* UPDATE */
router.patch('/updateaccount', authMiddleware_1.default, accountsController.updateAccount);
router.patch("/updateaccount", authMiddleware_1.default, accountsController.updateAccount);
/* DELETE */
router.delete('/deleteaccount/:id', authMiddleware_1.default, accountsController.deleteAccount);
router.delete("/deleteaccount/:id", authMiddleware_1.default, accountsController.deleteAccount);
exports.default = router;
8 changes: 4 additions & 4 deletions backend/dist/routes/accountsSocialRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = require("express");
const accountsSocialController = __importStar(require("../controllers/accountsSocialController"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* CREATE */
router.post("/createaccountsocial", authMiddleware_1.default, accountsSocialController.createAccountSocial);
/* READ */
router.get('/getaccountsocialbyid/:id', authMiddleware_1.default, accountsSocialController.getAccountSocialById);
router.get("/getaccountsocialbyid/:id", authMiddleware_1.default, accountsSocialController.getAccountSocialById);
/* UPDATE */
router.patch('/updateaccountsocial', authMiddleware_1.default, accountsSocialController.updateAccountSocial);
router.patch("/updateaccountsocial", authMiddleware_1.default, accountsSocialController.updateAccountSocial);
/* DELETE */
router.delete('/deleteaccountsocial/:id', authMiddleware_1.default, accountsSocialController.deleteAccountSocial);
router.delete("/deleteaccountsocial/:id", authMiddleware_1.default, accountsSocialController.deleteAccountSocial);
exports.default = router;
2 changes: 1 addition & 1 deletion backend/dist/routes/chatRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = require("express");
const chatController = __importStar(require("../controllers/chatController"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* CREATE */
Expand Down
37 changes: 37 additions & 0 deletions backend/dist/routes/lessonRouter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const lessonController = __importStar(require("../controllers/lessonController"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* READ */
router.get("/getnumberoflessons/:sectionID/:unitID", authMiddleware_1.default, lessonController.getNoOfLessonPerUnit);
router.get("/getlesson/:sectionID/:unitID/:lessonID", authMiddleware_1.default, lessonController.getLesson);
router.get("/getalllessons/:sectionID/:unitID", authMiddleware_1.default, lessonController.getAllLessons);
exports.default = router;
6 changes: 5 additions & 1 deletion backend/dist/routes/questionRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const questionController = __importStar(require("../controllers/questionController"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* READ */
router.get("/getquestions/:sectionid/:unitid?/:lessonid?", questionController.getQuizQuestions);
router.get("/getquestions/:sectionid/:unitid?/:lessonid?", authMiddleware_1.default, questionController.getQuizQuestions);
exports.default = router;
6 changes: 3 additions & 3 deletions backend/dist/routes/quizRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
const quizController = __importStar(require("../controllers/quizController"));
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* READ */
router.get('/getallquizzes', authMiddleware_1.default, quizController.getAllQuizzes);
router.get('/getquizzesbysectionid/:id', authMiddleware_1.default, quizController.getQuizzesBySectionId);
router.get("/getallquizzes", authMiddleware_1.default, quizController.getAllQuizzes);
router.get("/getquizzesbysectionid/:id", authMiddleware_1.default, quizController.getQuizzesBySectionId);
exports.default = router;
2 changes: 1 addition & 1 deletion backend/dist/routes/resultRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const router = (0, express_1.Router)();
/* CREATE */
router.post("/createresult", authMiddleware_1.default, resultController.createResult);
/* READ */
router.get('/getallresults', authMiddleware_1.default, resultController.getAllResults);
router.get("/getallresults", authMiddleware_1.default, resultController.getAllResults);
router.get("/getresultbyid/:userid", authMiddleware_1.default, resultController.getResultByUserId);
router.get("/getuserprogress/:userid/:sectionid?", authMiddleware_1.default, resultController.getUserProgress);
router.get("/getcircularprogress/:userid/:sectionid/:unitid", authMiddleware_1.default, resultController.getCircularProgress);
Expand Down
8 changes: 6 additions & 2 deletions backend/dist/routes/sectionRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const sectionController = __importStar(require("../controllers/sectionController"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* READ */
router.get("/sectiondetails", sectionController.getAllSections);
router.get("/sectiondetails/:sectionID", sectionController.getSectionDetails);
router.get("/sectiondetails", authMiddleware_1.default, sectionController.getAllSections);
router.get("/sectiondetails/:sectionID", authMiddleware_1.default, sectionController.getSectionDetails);
exports.default = router;
2 changes: 1 addition & 1 deletion backend/dist/routes/unitRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
const unitController = __importStar(require("../controllers/unitController"));
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const express_1 = require("express");
const authMiddleware_1 = __importDefault(require("../middleware/authMiddleware"));
const router = (0, express_1.Router)();
/* READ */
router.get("/gettotalunit/:sectionID", authMiddleware_1.default, unitController.getNoOfUnitPerSection);
Expand Down
Loading

0 comments on commit 78fe08c

Please sign in to comment.