app2-api/modules/venues/venue.routes.js
2019-09-03 16:16:28 +02:00

69 lines
1.8 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 VenueValidation = require('./venue.validations');
const venueController = require('./venue.controller');
routes.get('/venues',
isLoggedUser,
cacheSuccesses('24 hours'),
SortMiddleware.middleware({ default: "city" }),
venueController.find()
);
routes.get('/venues/:id',
isLoggedUser,
cacheSuccesses('24 hours'),
venueController.findOne()
);
/*
routes.get('/venues/:id/events',
//isLoggedUser,
//SortMiddleware.middleware({ default: "name" }),
(req, res, next) => {
req.params.association = 'Events';
next();
},
venueController.find());
*/
routes.get('/venues/count',
isLoggedUser,
cacheSuccesses('24 hours'),
venueController.count()
);
/********************************************************************************************************
* ADMINISTRACIÓN
*********************************************************************************************************
*/
// Nuevo
routes.post('/admin/venues/',
//isAdministratorUser,
SchemaValidator(VenueValidation.VenueInputType, true),
venueController.create()
);
// Update
routes.put('/admin/venues/:id',
//isAdministratorUser,
venueController.update()
);
// Delete
routes.delete('/admin/venues/:id',
//isAdministratorUser,
venueController.delete()
);
module.exports = routes;