diff --git a/modules/comments/comment.model.js b/modules/comments/comment.model.js index b0ea2bc..ea48259 100644 --- a/modules/comments/comment.model.js +++ b/modules/comments/comment.model.js @@ -21,7 +21,7 @@ module.exports = function (sequelize, DataTypes) { type: DataTypes.STRING, allowNull: false }, - entity: { + /*entity: { type: DataTypes.VIRTUAL, get: function () { const name = this.get('entityName'); @@ -45,7 +45,7 @@ module.exports = function (sequelize, DataTypes) { return sequelize.models[modelName].findOne(id); } - } + }*/ }, { indexes: [{ unique: false, diff --git a/modules/events/event.model.js b/modules/events/event.model.js index a11b131..5e864e7 100644 --- a/modules/events/event.model.js +++ b/modules/events/event.model.js @@ -95,20 +95,23 @@ module.exports = function (sequelize, DataTypes) { Event.OverflowEvent = Event.belongsTo(models.Event, { as: 'EventToEvent', foreignKey: 'overflow_eventId' }); - Event.EventType = Event.belongsTo(models.EventType, { foreignKey: 'typeId' }); + Event.Type = Event.belongsTo(models.EventType, { foreignKey: 'typeId' }); Event.UserCreate = Event.belongsTo(models.User, { foreignKey: 'userId' }); Event.Venue = Event.belongsTo(models.Venue, { foreignKey: 'venueId' }); Event.Schedule = Event.hasMany(models.EventSchedule, { foreignKey: 'eventId' }); - + Event.Comments = Event.hasMany(models.Comment, { + foreignKey: 'entityId', + }); - Event.EventReservations = Event.hasMany(models.EventReservation, { foreignKey: 'eventId' }); - Event.EventInscriptions = Event.hasMany(models.EventInscription, { foreignKey: 'eventId' }); - Event.EventQuestions = Event.hasMany(models.EventQuestion, { foreignKey: 'eventId' }); - //No puede haber clave foranea con entityId ya que podrĂ­a repetirse ID con el caso de speakerId, un multimedia de un speaker - //Event.Multimedias = Event.hasMany(models.Multimedia, { foreignKey: 'eventId' }); + Event.Multimedias = Event.hasMany(models.Multimedia, { + foreignKey: 'entityId', + as: { singular: 'Multimedia', plural: 'Multimedias' }}); + Event.Reservations = Event.hasMany(models.EventReservation, { foreignKey: 'eventId' }); + Event.Inscriptions = Event.hasMany(models.EventInscription, { foreignKey: 'eventId' }); + Event.Questions = Event.hasMany(models.EventQuestion, { foreignKey: 'eventId' }); }; return Event; diff --git a/modules/events/event.routes.js b/modules/events/event.routes.js index 06c5cb5..a33d47b 100644 --- a/modules/events/event.routes.js +++ b/modules/events/event.routes.js @@ -57,7 +57,22 @@ routes.get('/events/:id', routes.get('/events/:id/comments', //isLoggedUser, - //eventController.findComments + (req, res, next) => { + req.params.association = 'Comments'; + next(); + }, + eventController.find, + +); + +// Multimedias +routes.get('/events/:id/multimedias', + //isLoggedUser, + (req, res, next) => { + req.params.association = 'Multimedias'; + next(); + }, + eventController.find, ); diff --git a/modules/multimedia/multimedia.model.js b/modules/multimedia/multimedia.model.js index 725c5b8..8384628 100644 --- a/modules/multimedia/multimedia.model.js +++ b/modules/multimedia/multimedia.model.js @@ -23,7 +23,7 @@ module.exports = function (sequelize, DataTypes) { type: DataTypes.STRING, allowNull: false, }, - entity: { + /*entity: { type: DataTypes.VIRTUAL, get: function() { const name = this.get('entityName'); @@ -46,9 +46,10 @@ module.exports = function (sequelize, DataTypes) { break; } - return sequelize.models[modelName].findByPk(id); + return sequelize.models[modelName].findByPk(id).then(function(result) { return result }); } - } + + }*/ }, { indexes: [{ unique: false, diff --git a/modules/values/value.routes.js b/modules/values/value.routes.js index be3e0ee..b407027 100644 --- a/modules/values/value.routes.js +++ b/modules/values/value.routes.js @@ -30,7 +30,7 @@ routes.get('/values/:id', routes.get('/values/:id/speakers', (req, res, next) => { - req.params.association = 'speakers'; + req.params.association = 'Speakers'; next(); }, valueController.find,