'use strict'; module.exports = function (sequelize, DataTypes) { const Multimedia = sequelize.define('Multimedia', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true, }, name: { type: DataTypes.STRING, }, description: { type: DataTypes.STRING, }, typeId: { type: DataTypes.UUID, foreignKey: true, }, provider: { type: DataTypes.STRING, }, code: { type: DataTypes.STRING, }, url: { type: DataTypes.STRING, }, userId: { type: DataTypes.UUID, foreignKey: true, }, }, { tableName: 'multimedias', freezeTableName: true, timestamps: true, }); Multimedia.associate = function (models) { Multimedia.MultimediaType = Multimedia.belongsTo(models.MultimediaType, { foreignKey: 'typeId' }); Multimedia.UserCreate = Multimedia.belongsTo(models.User, { foreignKey: 'userId' }); Multimedia.Events = Multimedia.belongsToMany(models.Event, { through: models.MultimediaEvent, foreignKey: 'multimediaId' }); }; return Multimedia; };