summaryrefslogtreecommitdiffstats
path: root/server/models
diff options
context:
space:
mode:
authorUdo Walter2018-11-21 23:56:39 +0100
committerUdo Walter2018-11-21 23:56:39 +0100
commit32eeac573d0fb9910b6c5063f6526d67715c622a (patch)
tree680282a0266e357ba3e372cff21e1f05e0174b94 /server/models
parent[server/registration] bugfix (diff)
downloadbas-32eeac573d0fb9910b6c5063f6526d67715c622a.tar.gz
bas-32eeac573d0fb9910b6c5063f6526d67715c622a.tar.xz
bas-32eeac573d0fb9910b6c5063f6526d67715c622a.zip
[server/models] fix backend model primary keys
Diffstat (limited to 'server/models')
-rw-r--r--server/models/backend.js16
1 files changed, 14 insertions, 2 deletions
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
}