app2-api/modules/notification/notification.routes.js

64 lines
1.9 KiB
JavaScript

const routes = require('express').Router();
const { isAdministratorUser, isOptionalUser, isLoggedUser } = require('../../middlewares/accessValidator');
const SchemaValidator = require('../../middlewares/schemaValidator');
const PaginateMiddleware = require('../../middlewares/paginate');
const FieldMiddleware = require('../../middlewares/fields');
const SortMiddleware = require('../../middlewares/sort');
const notificationController = require('./notification.controller');
const { pushSendEvent, deviceTokenInputType } = require('./notification.validations');
const generalInvalidFields = [
'createdAt', 'updatedAt',
];
routes.get('/admin/notifications',
isAdministratorUser,
FieldMiddleware.middleware({
invalidFields: generalInvalidFields
}),
SortMiddleware.middleware({ default: "-date" }),
PaginateMiddleware.middleware(),
notificationController.find({
scopes: ['defaultScope']
})
);
routes.get('/admin/notifications/:id',
isAdministratorUser,
FieldMiddleware.middleware({
invalidFields: generalInvalidFields
}),
notificationController.findOne({
scopes: ['defaultScope']
})
);
routes.post('/admin/notifications',
isAdministratorUser,
SchemaValidator(pushSendEvent, true),
notificationController.sendNotification({
scopes: ['defaultScope']
})
);
/*routes.post('/admin/notifications/event',
isAdministratorUser,
SchemaValidator(pushSendEvent, true),
notificationController.sendNotificationEvent
);*/
/* Borrar cuando ya no aparezca la versión 1.0.10 */
/*routes.post('/notifications/register',
isLoggedUser,
SchemaValidator(deviceTokenInputType, true),
notificationController.registerDevice()
);*/
routes.post('/notifications/devices',
isOptionalUser,
SchemaValidator(deviceTokenInputType, true),
notificationController.registerDevice()
);
module.exports = routes;