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;
|