summary refs log tree commit diff
path: root/src/api/routes/auth/adminAccountRoutes.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/auth/adminAccountRoutes.js')
-rw-r--r--src/api/routes/auth/adminAccountRoutes.js48
1 files changed, 33 insertions, 15 deletions
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(); + } + }) } };