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/migrations/20180715193710-create-backend.js | 4 +-- .../20180805054700-create-backend_x_client.js | 38 ++++++++++++++++++++++ .../20180805054700-create-backend_x_group.js | 38 ++++++++++++++++++++++ 3 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 server/migrations/20180805054700-create-backend_x_client.js create mode 100644 server/migrations/20180805054700-create-backend_x_group.js (limited to 'server/migrations') diff --git a/server/migrations/20180715193710-create-backend.js b/server/migrations/20180715193710-create-backend.js index 98f5476..18b324b 100644 --- a/server/migrations/20180715193710-create-backend.js +++ b/server/migrations/20180715193710-create-backend.js @@ -19,12 +19,12 @@ module.exports = { type: Sequelize.STRING(2048), defaultValue: '[]' }, - groups: { + groupTypes: { allowNull: false, type: Sequelize.STRING(4096), defaultValue: '[]' }, - clients: { + clientTypes: { allowNull: false, type: Sequelize.STRING(4096), defaultValue: '[]' diff --git a/server/migrations/20180805054700-create-backend_x_client.js b/server/migrations/20180805054700-create-backend_x_client.js new file mode 100644 index 0000000..ce2c3fe --- /dev/null +++ b/server/migrations/20180805054700-create-backend_x_client.js @@ -0,0 +1,38 @@ +'use strict' +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.createTable('backend_x_client', { + backendId: { + primaryKey: true, + allowNull: false, + type: Sequelize.INTEGER, + onDelete: 'cascade', + references: { + model: 'backends', + key: 'id' + } + }, + clientId: { + allowNull: true, + type: Sequelize.INTEGER, + onDelete: 'SET NULL', + references: { + model: 'clients', + key: 'id' + } + }, + externalId: { + primaryKey: true, + allowNull: true, + type: Sequelize.INTEGER + }, + externalType: { + allowNull: true, + type: Sequelize.STRING + } + }) + }, + down: (queryInterface, Sequelize) => { + return queryInterface.dropTable('backend_x_client') + } +} diff --git a/server/migrations/20180805054700-create-backend_x_group.js b/server/migrations/20180805054700-create-backend_x_group.js new file mode 100644 index 0000000..d187e24 --- /dev/null +++ b/server/migrations/20180805054700-create-backend_x_group.js @@ -0,0 +1,38 @@ +'use strict' +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.createTable('backend_x_group', { + backendId: { + primaryKey: true, + allowNull: false, + type: Sequelize.INTEGER, + onDelete: 'cascade', + references: { + model: 'backends', + key: 'id' + } + }, + groupId: { + allowNull: true, + type: Sequelize.INTEGER, + onDelete: 'SET NULL', + references: { + model: 'groups', + key: 'id' + } + }, + externalId: { + primaryKey: true, + allowNull: true, + type: Sequelize.INTEGER + }, + externalType: { + allowNull: true, + type: Sequelize.STRING + } + }) + }, + down: (queryInterface, Sequelize) => { + return queryInterface.dropTable('backend_x_group') + } +} -- cgit v1.2.3-55-g7522