diff --git a/modules/events/event.controller.js b/modules/events/event.controller.js index 2675f64..813e910 100644 --- a/modules/events/event.controller.js +++ b/modules/events/event.controller.js @@ -25,7 +25,7 @@ const extraControllers = { const eventId = params.params.id; const encodedInvitationCode = params.params.encodedInvitationCode; - const registrationCode = encodedInvitationCode; //Buffer.from(req.params.encodedInvitationCode, 'base64').toString('ascii'); + const registrationCode = Buffer.from(req.params.encodedInvitationCode, 'base64').toString('ascii'); try { const result = await eventReservationService._getReservaByCode(eventId, registrationCode); diff --git a/modules/events/venue.controller.js b/modules/venues/venue.controller.js similarity index 100% rename from modules/events/venue.controller.js rename to modules/venues/venue.controller.js diff --git a/modules/events/venue.model.js b/modules/venues/venue.model.js similarity index 83% rename from modules/events/venue.model.js rename to modules/venues/venue.model.js index 160eee4..cbb61c2 100644 --- a/modules/events/venue.model.js +++ b/modules/venues/venue.model.js @@ -60,6 +60,19 @@ module.exports = function (sequelize, DataTypes) { timestamps: true, }); + Venue.addScope('includeCountEvents', () => { + return { + include: [ + { model: sequelize.models.Event, + as: 'events', + attributes:[[sequelize.fn('COUNT', sequelize.col('id')), 'num_editions']], + required: false + } + ] + } + }); + + Venue.associate = function (models) { Venue.Events = Venue.hasMany(models.Event, { foreignKey: 'venueId', as: 'events' }); }; diff --git a/modules/events/venue.routes.js b/modules/venues/venue.routes.js similarity index 94% rename from modules/events/venue.routes.js rename to modules/venues/venue.routes.js index 0a364ec..a961d71 100644 --- a/modules/events/venue.routes.js +++ b/modules/venues/venue.routes.js @@ -12,7 +12,9 @@ const venueController = require('./venue.controller'); routes.get('/venues', //SortMiddleware.middleware({ default: "name" }), - venueController.find({}) + venueController.find({ + scopes: ['includeCountEvents'] + }) ); routes.get('/venues', diff --git a/modules/events/venue.service.js b/modules/venues/venue.service.js similarity index 100% rename from modules/events/venue.service.js rename to modules/venues/venue.service.js diff --git a/modules/events/venue.validations.js b/modules/venues/venue.validations.js similarity index 100% rename from modules/events/venue.validations.js rename to modules/venues/venue.validations.js