From 985764a064d58e2ed02c2e9aea524d15ef9f2df8 Mon Sep 17 00:00:00 2001 From: Eddi3_As Date: Fri, 14 Mar 2025 13:00:19 -0400 Subject: [PATCH] modified routes --- server/controllers/admin.js | 67 +++++++++++++++++++++++++++++++++++-- server/routers/admin.js | 8 +++-- 2 files changed, 71 insertions(+), 4 deletions(-) diff --git a/server/controllers/admin.js b/server/controllers/admin.js index 88669c5..fb7071c 100644 --- a/server/controllers/admin.js +++ b/server/controllers/admin.js @@ -7,7 +7,7 @@ class AdminController { this.model = model; } - get = async (req, res, next) => { + getUsers = async (req, res, next) => { try { const users = await this.model.getUsers(); @@ -18,8 +18,71 @@ class AdminController { return next(error); } }; + + getQuizzes = async (req, res, next) => { + try { + const quizzes = await this.model.getQuizzes(); - delete = async (req, res, next) => { + return res.status(200).json({ quizzes }); + } catch (error) { + return next(error); + } + }; + + getImages = async (req, res, next) => { + try { + const page = parseInt(req.query.page) || 1; + const limit = parseInt(req.query.limit) || 10; + + const imgs = await this.model.getImages(page, limit); + + return res.status(200).json({ imgs }); + } catch (error) { + return next(error); + } + }; + + deleteUser = async (req, res, next) => { + try { + const { id } = req.params; + + if (!id) { + throw new AppError(MISSING_REQUIRED_PARAMETER); + } + + const user = await this.model.deleteUser(id); + + if (!user) { + throw new AppError(IMAGE_NOT_FOUND); + } + + return res.status(200).json({ user: user }); + } catch (error) { + return next(error); + } + }; + + deleteQuiz = async (req, res, next) => { + try { + const { id } = req.params; + + if (!id) { + throw new AppError(MISSING_REQUIRED_PARAMETER); + } + + const user = await this.model.deleteUser(id); + + if (!user) { + throw new AppError(IMAGE_NOT_FOUND); + } + + return res.status(200).json({ user: user }); + } catch (error) { + return next(error); + } + }; + + deleteImage = async (req, res, next) => { try { const { id } = req.params; diff --git a/server/routers/admin.js b/server/routers/admin.js index 691c1f9..b15aa07 100644 --- a/server/routers/admin.js +++ b/server/routers/admin.js @@ -6,7 +6,11 @@ const asyncHandler = require('./routerUtils.js'); const jwt = require('../middleware/jwtToken.js'); -router.get("/get", jwt.authenticate, asyncHandler(admin.get)); -router.delete("/delete", jwt.authenticate, asyncHandler(admin.delete)); +router.get("/getUsers", asyncHandler(admin.getUsers)); +router.get("/getQuizzes", asyncHandler(admin.getQuizzes)); +router.get("/getImages", asyncHandler(admin.getImages)); +router.delete("/deleteUser", asyncHandler(admin.deleteUser)); +router.delete("/deleteQuiz", asyncHandler(admin.deleteQuiz)); +router.delete("/deleteImage", jwt.authenticate, asyncHandler(admin.deleteImage)); module.exports = router;