'use strict' module.exports = (sequelize, DataTypes) => { var event = sequelize.define('event', { id: { allowNull: false, autoIncrement: true, primaryKey: true, type: DataTypes.INTEGER }, name: DataTypes.STRING, description: DataTypes.STRING(2048), times: DataTypes.STRING(4096), important: DataTypes.BOOLEAN, wakeonlan: DataTypes.BOOLEAN }, { timestamps: false }) event.associate = function (models) { var ClientXEvent = sequelize.define('client_x_event', { blacklist: DataTypes.BOOLEAN }, { timestamps: false, freezeTableName: true }) event.belongsToMany(models.client, { as: 'clients', through: ClientXEvent, foreignKey: 'eventId', otherKey: 'clientId' }) var GroupXEvent = sequelize.define('group_x_event', { blacklist: DataTypes.BOOLEAN }, { timestamps: false, freezeTableName: true }) event.belongsToMany(models.group, { as: 'groups', through: GroupXEvent, foreignKey: 'eventId', otherKey: 'groupId' }) event.belongsTo(models.config, { as: 'config' }) } return event }