From 311a686f3672a00c8def9190c874d6f83a006e35 Mon Sep 17 00:00:00 2001 From: Jannik Schönartz Date: Mon, 6 Aug 2018 01:04:54 +0000 Subject: [server/external-backends] Implemented import Objects from iDoIT renamed external-backends.js in index.js so its return when requireing the folder Added new tables for the external id mapping for clients / groups iDoIT method for importing Objects and adding them in the db with all neccessary constraints --- server/models/backend.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'server/models') diff --git a/server/models/backend.js b/server/models/backend.js index 62b936a..f08e6c0 100644 --- a/server/models/backend.js +++ b/server/models/backend.js @@ -14,12 +14,12 @@ module.exports = (sequelize, DataTypes) => { type: DataTypes.STRING(2048), defaultValue: '[]' }, - groups: { + groupTypes: { allowNull: false, type: DataTypes.STRING(4096), defaultValue: '[]' }, - clients: { + clientTypes: { allowNull: false, type: DataTypes.STRING(4096), defaultValue: '[]' @@ -31,7 +31,11 @@ module.exports = (sequelize, DataTypes) => { timestamps: false }) backend.associate = function (models) { - // associations can be defined here + 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 }) + + backend.belongsToMany(models.group, { as: 'mappedGroups', through: BackendXGroup, foreignKey: 'backendId', otherKey: 'groupId' }) + backend.belongsToMany(models.client, { as: 'mappedClients', through: BackendXClient, foreignKey: 'backendId', otherKey: 'clientId' }) } return backend } -- cgit v1.2.3-55-g7522