This commit is contained in:
David Arranz 2019-07-12 13:19:15 +02:00
parent 965a32a0e0
commit bd5e2b2c35
5 changed files with 33 additions and 14 deletions

View File

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

View File

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

View File

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

View File

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

View File

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