const routes = require('express').Router(); const { isAdministratorUser, 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 { deviceTokenInputType, notificationSendType } = 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(notificationSendType, true), notificationController.sendNotification({ scopes: ['defaultScope'] }) ); routes.post('/admin/notifications/event', isAdministratorUser, // SchemaValidator(notificationSendType, 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', isLoggedUser, SchemaValidator(deviceTokenInputType, true), notificationController.registerDevice() ); module.exports = routes;