From ae2589c04f4ace756587e61027c8bee5162de620 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 26 Jul 2019 20:12:00 +0200 Subject: [PATCH] a --- modules/events/event.controller.js | 2 +- modules/{events => venues}/venue.controller.js | 0 modules/{events => venues}/venue.model.js | 13 +++++++++++++ modules/{events => venues}/venue.routes.js | 4 +++- modules/{events => venues}/venue.service.js | 0 modules/{events => venues}/venue.validations.js | 0 6 files changed, 17 insertions(+), 2 deletions(-) rename modules/{events => venues}/venue.controller.js (100%) rename modules/{events => venues}/venue.model.js (83%) rename modules/{events => venues}/venue.routes.js (94%) rename modules/{events => venues}/venue.service.js (100%) rename modules/{events => venues}/venue.validations.js (100%) 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