'use strict'; module.exports = function (sequelize, DataTypes) { const Speaker = sequelize.define('Speaker', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true, }, name: { type: DataTypes.STRING, allowNull: false, }, description: { type: DataTypes.STRING, }, short_description: { type: DataTypes.STRING, }, slogan: { type: DataTypes.STRING, }, twitter: { type: DataTypes.STRING, }, facebook: { type: DataTypes.STRING, }, youtube: { type: DataTypes.STRING, }, linkedlin: { type: DataTypes.STRING, }, instagram: { type: DataTypes.STRING, }, web: { type: DataTypes.STRING, }, state: { type: DataTypes.STRING, allowNull: false, defaultValue: 'borrador' }, typeId: { type: DataTypes.UUID, foreignKey: true, }, user_id: { type: DataTypes.UUID, foreignKey: true, }, }, { tableName: 'speakers', freezeTableName: true, timestamps: true, }); Speaker.associate = function (models) { Speaker.SpeakerType = Speaker.belongsTo(models.SpeakerType, { foreignKey: 'typeId' }); Speaker.UserCreate = Speaker.belongsTo(models.User, { foreignKey: 'userId' }); Speaker.Values = Speaker.belongsToMany(models.Value, { through: models.SpeakerValue, foreignKey: 'speakerId' }); Speaker.Events = Speaker.belongsToMany(models.Event, { through: models.EventSpeaker, foreignKey: 'speakerId' }); /* Speaker.Multimedias = Speaker.belongsToMany(models.MultimediaFile, { through: models.MultimediaSpeaker, foreignKey: 'speakerId' }); */ }; return Speaker; };