diff --git a/src/api/routes/alarmRoutes.js b/src/api/routes/alarmRoutes.js
index e50d4b2..9739f4f 100644
--- a/src/api/routes/alarmRoutes.js
+++ b/src/api/routes/alarmRoutes.js
@@ -1,49 +1,78 @@
-import { validateAuth } from '#api/middlewares/index.js';
+import {
+ requireMonitor,
+ requireUser,
+ validateAuth
+} from '#api/middlewares/index.js';
import { UserType } from '#db/schemas/index.js';
+import { RouteMethod } from '#api/RouteDescription.js';
+/**
+ * @type {RouteDescription}
+ */
export const alarmByUserRoute = {
- route: '/alarm/:id',
- onGetValidation: validateAuth({ roles: [UserType.MONITOR] }),
- async onGet(req, res) {
- const user = await getUserById(req.params.id);
- res.send(user.alarm);
- },
-
- onDeleteValidation: validateAuth({ roles: [UserType.MONITOR] }),
- async onDelete(req, res) {
- const user = await getUserById(req.params.id);
- user.alarm = null;
- await user.save();
- res.status(204).send();
+ path: '/alarm/:id',
+ methods: {
+ get: new RouteMethod({
+ middlewares: [requireMonitor],
+ async method(req, res) {
+ const user = await getUserById(req.params.id);
+ res.send(user.alarm);
+ }
+ }),
+ put: new RouteMethod({
+ middlewares: [requireMonitor],
+ async method(req, res) {
+ const user = await getUserById(req.params.id);
+ user.alarm = null;
+ await user.save();
+ res.status(204).send();
+ }
+ })
}
};
+/**
+ * @type {RouteDescription}
+ */
export const alarmListRoute = {
- route: '/alarms',
- onGetValidation: validateAuth({ roles: [UserType.MONITOR] }),
- onGet(req, res) {
- console.log(req.user.monitoredUsers);
+ path: '/alarms',
+ methods: {
+ get: new RouteMethod({
+ middlewares: [requireMonitor],
+ async method(req, res) {
+ console.log(req.user.monitoredUsers);
+ }
+ })
}
};
+/**
+ * @type {RouteDescription}
+ */
export const alarmRoute = {
- onGetValidation: validateAuth({ roles: [UserType.USER] }),
- async onGet(req, res) {
- res.send(req.user.alarm);
- },
-
- route: '/alarm/@me',
- onPutValidation: validateAuth({ roles: [UserType.USER] }),
- async onPut(req, res) {
- req.user.alarm = req.body;
- await req.user.save();
- res.status(204).send();
- },
-
- onDeleteValidation: validateAuth({ roles: [UserType.USER] }),
- async onDelete(req, res) {
- req.user.alarm = null;
- await req.user.save();
- res.status(204).send();
+ path: '/alarm/@me',
+ methods: {
+ get: new RouteMethod({
+ middlewares: [requireUser],
+ async method(req, res) {
+ res.send(req.user.alarm);
+ }
+ }),
+ put: new RouteMethod({
+ middlewares: [requireUser],
+ async method(req, res) {
+ req.user.alarm = req.body;
+ await req.user.save();
+ res.status(204).send();
+ }
+ }),
+ delete: new RouteMethod({
+ middlewares: [requireUser],
+ async method(req, res) {
+ req.user.alarm = null;
+ await req.user.save();
+ res.status(204).send();
+ }
+ })
}
};
|