app2-api/modules/entities/entity.routes.js
2019-10-28 11:50:54 +01:00

85 lines
2.4 KiB
JavaScript

const routes = require('express').Router();
const { cacheSuccesses } = require('../../middlewares/cache');
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 entityValidation = require('./entity.validations');
const entityController = require('./entity.controller');
const entityTypeController = require('./entity_type.controller');
const generalInvalidFields = [
'state',, 'createdAt', 'updatedAt'
];
routes.get('/entities',
isLoggedUser,
cacheSuccesses('24 hours'),
FieldMiddleware.middleware({
invalidFields: generalInvalidFields
}),
// PaginateMiddleware.middleware(),
SortMiddleware.middleware({ default: "name" }),
entityController.find({
scopes: ['defaultScope'],
}),
);
routes.get ('/entities/colleges',
//cacheSuccesses('24 hours'),
// PaginateMiddleware.middleware(),
FieldMiddleware.middleware({
invalidFields: generalInvalidFields
}),
SortMiddleware.middleware({ default: "name" }),
entityController.find({
scopes: ['defaultScope', 'onlyColleges'],
}),
);
routes.get ('/entities/partners',
cacheSuccesses('24 hours'),
// PaginateMiddleware.middleware(),
FieldMiddleware.middleware({
invalidFields: generalInvalidFields
}),
SortMiddleware.middleware({ default: "name" }),
entityController.find({
scopes: ['defaultScope', 'onlyPartners'],
}),
);
/********************************************************************************************************
* ADMINISTRACIÓN
*********************************************************************************************************
*/
routes.get('/admin/entities/partners/:id',
//isAdministratorUser,
entityController.findOne(),
);
routes.get('/admin/entities/:id',
//isAdministratorUser,
entityController.findOne(),
);
routes.get('/admin/entitytypes/',
//isAdministratorUser,
entityTypeController.find(),
);
routes.put('/admin/entities',
isAdministratorUser,
//SchemaValidator(eventValidation.ReservationInputType, true),
entityController.update(),
);
module.exports = routes;