This commit is contained in:
David Arranz 2019-07-29 18:27:38 +02:00
parent 48941ae125
commit 1373b3ab05
2 changed files with 22 additions and 18 deletions

View File

@ -343,11 +343,21 @@ module.exports = function (sequelize, DataTypes) {
Event.addScope('CitiesOfEvents', () => { Event.addScope('CitiesOfEvents', () => {
return { return {
attributes: [[sequelize.fn('DISTINCT', sequelize.col('city')), 'city']] group: ['city'],
attributes: ['city', [sequelize.fn('COUNT', sequelize.col('id')), 'ediciones']]
}
});
Event.addScope('onlyOfCity', (city) => {
return {
where: {
city: {
[Sequelize.Op.eq]: city
}
},
} }
}); });
return Event; return Event;
}; };

View File

@ -19,19 +19,6 @@ const generalInvalidFields = [
'multiple_limit', 'allow_overflow', 'marketing_list', 'multiple_limit', 'allow_overflow', 'marketing_list',
]; ];
//Da todas las ciudades en las que ha habido congresos
routes.get('/cities', cacheSuccesses('24 hours'),
// isLoggedUser,
// FieldMiddleware.middleware({
// invalidFields: generalInvalidFields
// }),
// PaginateMiddleware.middleware(),
// SortMiddleware.middleware({ default: "-init_date" }),
// eventController.find({
// scopes: ['defaultScope', 'includeVenue', 'includeMultimedias'],
// }),
);
routes.get('/events', routes.get('/events',
isLoggedUser, isLoggedUser,
FieldMiddleware.middleware({ FieldMiddleware.middleware({
@ -39,9 +26,16 @@ routes.get('/events',
}), }),
PaginateMiddleware.middleware(), PaginateMiddleware.middleware(),
SortMiddleware.middleware({ default: "-init_date" }), SortMiddleware.middleware({ default: "-init_date" }),
eventController.find({ (req, res, next) => {
scopes: ['defaultScope', 'includeVenue', 'includeMultimedias'], if (!req.body.city)
}), return eventController.find({
scopes: ['defaultScope', 'includeVenue', 'includeMultimedias', 'includeSpeakers'],
})(req, res, next)
else
return eventController.find({
scopes: ['defaultScope', 'includeVenue', 'includeMultimedias', 'includeSpeakers', { method: ['onlyOfCity', req.body.city] }]
})(req, res, next);
}
); );
routes.get('/events/cities', routes.get('/events/cities',