This commit is contained in:
David Arranz 2019-07-26 11:13:33 +02:00
parent 479c65578b
commit 19bd691ce0
8 changed files with 62 additions and 27 deletions

View File

@ -95,7 +95,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 = []

View File

@ -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;

View File

@ -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;
};

View File

@ -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('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<valores de la inscripcion');
date: moment().utc(),
userId: userId,
type: type,
code_ticket: ('ENT-' + (Date.now() + Math.random()).toString()),
code_ticket: ('ENT-' + (Date.now() + (Math.floor(Math.random()) * (9 - 1) + 1))),
source: source,
validated: validated,
reservationId: reservationId,

View File

@ -1,5 +1,7 @@
'use strict';
const cdnHelper = require('../../helpers/cdn.helper');
module.exports = function (sequelize, DataTypes) {
const Venue = sequelize.define('Venue', {
id: {
@ -44,6 +46,13 @@ module.exports = function (sequelize, DataTypes) {
},
longitude: {
type: DataTypes.DECIMAL(11, 8),
},
image_url: {
type: DataTypes.VIRTUAL,
get: function () {
const city = this.get('city');
return cdnHelper.getCDNCityMediaUrl(city)
}
}
}, {
tableName: 'venues',

View File

@ -10,9 +10,11 @@ const FieldMiddleware = require('../../middlewares/fields');*/
const VenueValidation = require('./venue.validations');
const venueController = require('./venue.controller');
routes.get('/venues',
//SortMiddleware.middleware({ default: "name" }),
venueController.find({})
);
//routes.get('/venues', true, SortMiddleware.middleware({ default: "name" }), venueController.find);
//routes.get('/venues', isLoggedUser, SortMiddleware.middleware({ default: "name" }), venueController.find);
//routes.get('/venues/:id', isLoggedUser, venueController.findOne);

View File

@ -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"

View File

@ -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"