const { DataTypes } = require('sequelize'); const { sequelize } = require('../db'); const Device = require('./Device'); const Business = require('./Business'); const DeviceBusiness = sequelize.define( 'DeviceBusiness', { id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true, }, deviceId: { type: DataTypes.STRING, allowNull: false, references: { model: Device, key: 'deviceId', }, }, businessId: { type: DataTypes.STRING, allowNull: false, references: { model: Business, key: 'businessId', }, }, isPrimary: { type: DataTypes.BOOLEAN, defaultValue: false, }, }, { tableName: 'device_business', timestamps: true, indexes: [ { fields: ['deviceId'] }, { fields: ['businessId'] }, { unique: true, fields: ['deviceId', 'businessId'] }, ], } ); Device.belongsToMany(Business, { through: DeviceBusiness, foreignKey: 'deviceId', otherKey: 'businessId', }); Business.belongsToMany(Device, { through: DeviceBusiness, foreignKey: 'businessId', otherKey: 'deviceId', }); DeviceBusiness.belongsTo(Business, { foreignKey: 'businessId' }); DeviceBusiness.belongsTo(Device, { foreignKey: 'deviceId' }); module.exports = DeviceBusiness;