diff --git a/helpers/composes.helper.js b/helpers/composes.helper.js index 7007370..a280c05 100644 --- a/helpers/composes.helper.js +++ b/helpers/composes.helper.js @@ -114,7 +114,7 @@ const eventComposer = (event, context) => { if ((context.scopes) && (context.scopes.includes('includeVenue'))){ delete event.venue.updatedAt; delete event.venue.createdAt; - event.venue.image_url = cdnHelper.getCDNCityMediaUrl(event.venue.city); + //event.venue.image_url = cdnHelper.getCDNCityMediaUrl(event.venue.city); <-- se hace en el modelo }; let multimedias = [] diff --git a/helpers/controller.helper.js b/helpers/controller.helper.js index 5f28b74..e9e4377 100644 --- a/helpers/controller.helper.js +++ b/helpers/controller.helper.js @@ -125,7 +125,7 @@ function extractParamsFromRequest(req, res, extraParams = {}) { function handleErrorResponse(controllerName, methodName, error, res) { - + console.error(error); const jsonResultFailed = buildErrorResponse(controllerName, methodName, error); res.status(jsonResultFailed.statusCode).send(jsonResultFailed); } diff --git a/modules/events/event.controller.js b/modules/events/event.controller.js index f381e8b..2675f64 100644 --- a/modules/events/event.controller.js +++ b/modules/events/event.controller.js @@ -39,7 +39,7 @@ const extraControllers = { //1. Todas las inscripciones de un evento, cuando el usuario es administrador (SIN HACER) //2. Todas las inscripciones de un usuario, cuando no nos llega ningun param con id getInscriptions: async (req, res, next) => { -console.log('aaaaaaaaaaaaaaaaaaaaaaaa'); + const params = extractParamsFromRequest(req, res, {}); const eventId = params.params.id; const userId = req.user.id; diff --git a/modules/events/events_inscriptions.model.js b/modules/events/events_inscriptions.model.js index ac3ca29..84d183f 100644 --- a/modules/events/events_inscriptions.model.js +++ b/modules/events/events_inscriptions.model.js @@ -61,6 +61,12 @@ module.exports = function (sequelize, DataTypes) { freezeTableName: true, timestamps: true, + defaultScope: { + order: [ + ['date', 'DESC'] + ] + }, + }); EventInscription.associate = function (models) { @@ -70,5 +76,22 @@ module.exports = function (sequelize, DataTypes) { EventInscription.UserValidate = EventInscription.belongsTo(models.User, { foreignKey: 'validateUserId' }); }; + EventInscription.addScope('includeEventAndVenue', () => { + return { + include: [{ + model: sequelize.models.Event, + as: 'event', + attributes: ['id', 'name', 'description', 'campaign_text', 'init_date'], + include: [{ + model: sequelize.models.Venue, + as: 'venue', + attributes: { + exclude: ['createdAt', 'updatedAt'], + } + }] + }], + } + }); + return EventInscription; }; \ No newline at end of file diff --git a/modules/events/events_inscriptions.service.js b/modules/events/events_inscriptions.service.js index eda031f..0d598ac 100644 --- a/modules/events/events_inscriptions.service.js +++ b/modules/events/events_inscriptions.service.js @@ -17,7 +17,7 @@ const extraMethods = { }, _getInscriptionByEventAndUser: (eventId, userId) => { - return models.EventInscription.findOne({ + return models.EventInscription.scope('includeEventAndVenue').findOne({ where: { eventId: eventId, userId: userId @@ -26,15 +26,13 @@ const extraMethods = { }, _getInscriptionsUser: (userId) => { - return models.EventInscription.findAll({ + return models.EventInscription.scope('includeEventAndVenue').findAll({ + attributes: { + exclude: ['marketing_memberId', 'overflowEventId', 'createdAt', 'updatedAt', 'userId', 'eventId', 'validateUserId'] + }, where: { userId: userId }, - include: [{ - model: models.Event, - as: 'event', - attributes: ['name', 'description', 'init_date', 'campaign_text'], - }], }) }, @@ -86,7 +84,7 @@ console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>> 19bd691ce0c9520deed4151d3252735a652b53c7 routes.post('/venues/', SchemaValidator(VenueValidation.VenueInputType, true), venueController.create); //routes.put('/venues/:id', isAdministratorUser, venueController.update); diff --git a/package.json b/package.json index 6e39c7a..357850a 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "rand-token": "^0.4.0", "redis": "^2.8.0", "response-time": "^2.3.2", - "sequelize": "^5.3.5", + "sequelize": "^5.6.1", "vimeo": "^2.1.1", "vm": "^0.1.0", "winston": "^3.2.1" diff --git a/yarn.lock b/yarn.lock index 674711f..afccafe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -487,7 +487,7 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -bluebird@^3.5.0, bluebird@^3.5.3: +bluebird@^3.5.0: version "3.5.4" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.4.tgz#d6cc661595de30d5b3af5fcedd3c0b3ef6ec5714" integrity sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw== @@ -3619,7 +3619,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: +semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== @@ -3629,6 +3629,11 @@ semver@^6.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== +semver@^6.1.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -3653,17 +3658,15 @@ seq-queue@^0.0.5: resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e" integrity sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4= -sequelize-pool@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-1.0.2.tgz#89c767882bbdb8a41dac66922ed9820939a5401e" - integrity sha512-VMKl/gCCdIvB1gFZ7p+oqLFEyZEz3oMMYjkKvfEC7GoO9bBcxmfOOU9RdkoltfXGgBZFigSChihRly2gKtsh2w== - dependencies: - bluebird "^3.5.3" +sequelize-pool@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-2.3.0.tgz#64f1fe8744228172c474f530604b6133be64993d" + integrity sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA== -sequelize@^5.3.5: - version "5.3.5" - resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.3.5.tgz#2fffe8fbb28029d93a6f132e29b6a09ace15721f" - integrity sha512-eE9cq0XwDMb8hSRTfgx3r98ZstSLXvx5o3G6bhXG24uF4udXcooAv/23v9Jk170ohcI7KqnWgtmEslxCxsYWdQ== +sequelize@^5.6.1: + version "5.10.3" + resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.10.3.tgz#a4bafc3c540f1fa1a28752b9f8cdfacbba025715" + integrity sha512-Eabksjfb2kuX/a/7Mt2iHneos0PZxP5f74bdm1ktiG3Y9utfevNr+nIZ0sCvQW6jbJFwNtiLndTxUsNgYK8qpg== dependencies: bluebird "^3.5.0" cls-bluebird "^2.1.0" @@ -3674,8 +3677,8 @@ sequelize@^5.3.5: moment "^2.24.0" moment-timezone "^0.5.21" retry-as-promised "^3.1.0" - semver "^5.6.0" - sequelize-pool "^1.0.2" + semver "^6.1.1" + sequelize-pool "^2.3.0" toposort-class "^1.0.1" uuid "^3.2.1" validator "^10.11.0"