From 42b59ad2d6e10b6110948aee0a88418eb5dcd94c Mon Sep 17 00:00:00 2001 From: Rory& Date: Sun, 1 Jun 2025 15:42:18 +0200 Subject: Rewrite routing --- src/api/routes/auth/adminAccountRoutes.js | 48 +++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 15 deletions(-) (limited to 'src/api/routes/auth/adminAccountRoutes.js') diff --git a/src/api/routes/auth/adminAccountRoutes.js b/src/api/routes/auth/adminAccountRoutes.js index f85cc73..eb9b270 100644 --- a/src/api/routes/auth/adminAccountRoutes.js +++ b/src/api/routes/auth/adminAccountRoutes.js @@ -1,24 +1,42 @@ import { deleteUser, loginUser, registerUser, UserType } from '#db/index.js'; import { AuthDto, RegisterDto } from '#dto/index.js'; -import { validateAuth } from '#api/middlewares/index.js'; +import { requireAdmin, validateAuth } from '#api/middlewares/index.js'; +import { RouteDescription, RouteMethod } from '#api/RouteDescription.js'; +/** + * @type {RouteDescription} + */ export const adminGetUsersRoute = { - route: '/admin/users', - onGetValidation: validateAuth({ roles: [UserType.ADMIN] }), - async onGet(req, res) { - res.send(DbUser.find({}).exec()); + path: '/admin/users', + methods: { + get: new RouteMethod({ + middlewares: [requireAdmin], + async method(req, res) { + res.send(DbUser.find({}).exec()); + } + }) } }; -export const adminUserRoute = { - route: '/admin/user/:id', - onGetValidation: validateAuth({ roles: [UserType.ADMIN] }), - async onGet(req, res) { - const user = await getUserById(req.params.id); - }, - onDeleteValidation: validateAuth({ roles: [UserType.ADMIN] }), - async onDelete(req, res) { - await deleteUser(data); - res.status(204).send(); +/** + * @type {RouteDescription} + */ +export const adminUserRoute = { + path: '/admin/user/:id', + methods: { + get: new RouteMethod({ + middlewares: [requireAdmin], + async method(req, res) { + const user = await getUserById(req.params.id); + res.send(user); + } + }), + delete: new RouteMethod({ + middlewares: [requireAdmin], + async method(req, res) { + await deleteUser(data); + res.status(204).send(); + } + }) } }; -- cgit 1.5.1