app2-api/modules/entities/entity.routes.js

98 lines
2.7 KiB
JavaScript
Raw Normal View History

2019-07-08 11:11:40 +00:00
const routes = require('express').Router();
2019-09-03 08:40:10 +00:00
const { cacheSuccesses } = require('../../middlewares/cache');
2019-07-08 11:11:40 +00:00
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
const SchemaValidator = require('../../middlewares/schemaValidator');
2019-07-10 17:26:22 +00:00
const PaginateMiddleware = require('../../middlewares/paginate');
const FieldMiddleware = require('../../middlewares/fields');
const SortMiddleware = require('../../middlewares/sort');
2019-07-08 11:11:40 +00:00
//const entityValidation = require('./entity.validations');
const entityController = require('./entity.controller');
2019-10-21 16:17:18 +00:00
const entityTypeController = require('./entity_type.controller');
2019-07-08 11:11:40 +00:00
2019-07-19 10:17:52 +00:00
const generalInvalidFields = [
2019-10-29 16:32:27 +00:00
'state', 'contact_person', 'contact_email', 'createdAt', 'updatedAt'
2019-07-19 10:17:52 +00:00
];
2019-07-10 17:26:22 +00:00
routes.get ('/entities/colleges',
2019-10-31 11:16:24 +00:00
cacheSuccesses('24 hours'),
2019-07-11 18:05:06 +00:00
// PaginateMiddleware.middleware(),
2019-07-10 17:26:22 +00:00
FieldMiddleware.middleware({
2019-07-19 10:17:52 +00:00
invalidFields: generalInvalidFields
2019-07-10 17:26:22 +00:00
}),
SortMiddleware.middleware({ default: "name" }),
2019-07-19 10:17:52 +00:00
entityController.find({
scopes: ['defaultScope', 'onlyColleges'],
}),
2019-07-10 17:26:22 +00:00
);
routes.get ('/entities/partners',
2019-09-03 08:40:10 +00:00
cacheSuccesses('24 hours'),
2019-07-11 18:05:06 +00:00
// PaginateMiddleware.middleware(),
2019-07-11 10:05:31 +00:00
FieldMiddleware.middleware({
2019-07-19 10:17:52 +00:00
invalidFields: generalInvalidFields
}),
SortMiddleware.middleware({ default: "name" }),
entityController.find({
scopes: ['defaultScope', 'onlyPartners'],
2019-07-11 10:05:31 +00:00
}),
2019-07-10 17:26:22 +00:00
);
2019-07-08 11:11:40 +00:00
2019-08-15 18:09:50 +00:00
/********************************************************************************************************
* ADMINISTRACIÓN
*********************************************************************************************************
*/
2019-10-29 16:32:27 +00:00
routes.get('/admin/entities',
isAdministratorUser,
// FieldMiddleware.middleware({
// invalidFields: generalInvalidFields
// }),
// PaginateMiddleware.middleware(),
SortMiddleware.middleware({ default: "name" }),
entityController.find(),
);
2019-08-15 18:09:50 +00:00
routes.get('/admin/entities/partners/:id',
//isAdministratorUser,
entityController.findOne(),
);
2019-07-08 11:11:40 +00:00
2019-10-21 15:05:09 +00:00
routes.get('/admin/entities/:id',
//isAdministratorUser,
2019-10-31 12:46:12 +00:00
entityController.findOne({
scopes: ['withEntityTypes'],
}),
2019-10-21 15:05:09 +00:00
);
2019-10-21 16:17:18 +00:00
routes.get('/admin/entitytypes/',
//isAdministratorUser,
entityTypeController.find(),
);
2019-10-30 10:35:02 +00:00
routes.put('/admin/entities/:id',
2019-10-28 10:50:54 +00:00
isAdministratorUser,
//SchemaValidator(eventValidation.ReservationInputType, true),
entityController.update(),
);
2019-10-30 10:35:02 +00:00
routes.post('/admin/entities',
isAdministratorUser,
//SchemaValidator(eventValidation.ReservationInputType, true),
entityController.create(),
);
routes.post('/admin/entities/:id',
isAdministratorUser,
//SchemaValidator(eventValidation.ReservationInputType, true),
entityController.delete(),
);
2019-07-08 11:11:40 +00:00
module.exports = routes;