From 32eeac573d0fb9910b6c5063f6526d67715c622a Mon Sep 17 00:00:00 2001 From: Udo Walter Date: Wed, 21 Nov 2018 22:56:39 +0000 Subject: [server/models] fix backend model primary keys --- server/models/backend.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'server/models') diff --git a/server/models/backend.js b/server/models/backend.js index f08e6c0..37203e6 100644 --- a/server/models/backend.js +++ b/server/models/backend.js @@ -31,11 +31,23 @@ module.exports = (sequelize, DataTypes) => { timestamps: false }) backend.associate = function (models) { - var BackendXGroup = sequelize.define('backend_x_group', { externalId: DataTypes.INTEGER, externalType: DataTypes.STRING }, { timestamps: false, freezeTableName: true }) - var BackendXClient = sequelize.define('backend_x_client', { externalId: DataTypes.INTEGER, externalType: DataTypes.STRING }, { timestamps: false, freezeTableName: true }) + var BackendXGroup = sequelize.define('backend_x_group', { + backendId: { type: DataTypes.INTEGER, primaryKey: true }, + groupId: { type: DataTypes.INTEGER, primaryKey: false }, + externalId: { type: DataTypes.INTEGER, primaryKey: true }, + externalType: DataTypes.STRING + }, { timestamps: false, freezeTableName: true }) + var BackendXClient = sequelize.define('backend_x_client', { + backendId: { type: DataTypes.INTEGER, primaryKey: true }, + clientId: { type: DataTypes.INTEGER, primaryKey: false }, + externalId: { type: DataTypes.INTEGER, primaryKey: true }, + externalType: DataTypes.STRING + }, { timestamps: false, freezeTableName: true }) backend.belongsToMany(models.group, { as: 'mappedGroups', through: BackendXGroup, foreignKey: 'backendId', otherKey: 'groupId' }) backend.belongsToMany(models.client, { as: 'mappedClients', through: BackendXClient, foreignKey: 'backendId', otherKey: 'clientId' }) + backend.hasMany(BackendXGroup, { as: 'groupMappings', foreignKey: 'backendId' }) + backend.hasMany(BackendXClient, { as: 'clientMappings', foreignKey: 'backendId' }) } return backend } -- cgit v1.2.3-55-g7522