2024-09-13 13:03:35 +00:00
|
|
|
import express from "express";
|
2024-10-23 02:11:42 +00:00
|
|
|
import { getLevels, getLevelById, getLevelForAdmin, getLevelsByTopicId, createLevel, updateLevelById, deleteLevelById, deleteLevelFilesById, getPreviousLevel, uploadLevelFile, getLevelFiles } from "../../controllers/contentControllers/level.js";
|
2024-09-13 13:03:35 +00:00
|
|
|
import { verifyLoginUser, adminOnly } from "../../middlewares/User/authUser.js";
|
|
|
|
|
import handleUpload from '../../middlewares/Level/uploadLevel.js';
|
2024-10-23 02:11:42 +00:00
|
|
|
import handleUploadFile from "../../middlewares/Level/uploadLevelFile.js";
|
2024-09-13 13:03:35 +00:00
|
|
|
import {checkLevelsPerTopic, autoCalculateRoutes, getSectionAndTopicByLevelId } from '../../middlewares/Level/checkLevel.js';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const router = express.Router();
|
|
|
|
|
|
|
|
|
|
router.get("/level", verifyLoginUser, getLevels);
|
|
|
|
|
|
2024-09-19 10:04:18 +00:00
|
|
|
router.get("/level/topic/:idTopic", verifyLoginUser, getLevelsByTopicId);
|
|
|
|
|
|
2024-10-10 02:55:13 +00:00
|
|
|
router.get("/level/admin", verifyLoginUser, adminOnly, getLevelForAdmin);
|
|
|
|
|
|
2024-09-13 13:03:35 +00:00
|
|
|
router.get("/level/:id", verifyLoginUser, getLevelById);
|
|
|
|
|
|
2024-09-19 10:04:18 +00:00
|
|
|
router.get("/previous/level/:next_learning", verifyLoginUser, getPreviousLevel);
|
|
|
|
|
|
2024-10-23 02:11:42 +00:00
|
|
|
router.get("/level/file/:levelId", verifyLoginUser, getLevelFiles);
|
|
|
|
|
|
2024-09-13 13:03:35 +00:00
|
|
|
router.post("/level", verifyLoginUser, adminOnly, handleUpload, checkLevelsPerTopic, autoCalculateRoutes, createLevel);
|
|
|
|
|
|
2024-10-23 02:11:42 +00:00
|
|
|
router.post("/level/file/:levelId", verifyLoginUser, adminOnly, handleUploadFile, uploadLevelFile);
|
|
|
|
|
|
2024-09-13 13:03:35 +00:00
|
|
|
router.put("/level/:id", verifyLoginUser, adminOnly, handleUpload, getSectionAndTopicByLevelId, autoCalculateRoutes, updateLevelById);
|
|
|
|
|
|
|
|
|
|
router.delete("/level/:id", verifyLoginUser, adminOnly, getSectionAndTopicByLevelId, deleteLevelById);
|
|
|
|
|
|
2024-10-23 02:11:42 +00:00
|
|
|
// router.delete("/level/file/:id", verifyLoginUser, adminOnly, deleteLevelFileById);
|
|
|
|
|
|
|
|
|
|
router.delete("/level/file/:id", verifyLoginUser, adminOnly, deleteLevelFilesById);
|
2024-10-10 02:55:13 +00:00
|
|
|
|
2024-09-13 13:03:35 +00:00
|
|
|
export default router
|