summaryrefslogtreecommitdiffstats
path: root/server/migrations
diff options
context:
space:
mode:
authorJannik Schönartz2018-10-10 17:00:56 +0200
committerJannik Schönartz2018-10-10 17:00:56 +0200
commit353761b07015a26841549cc259ae0687bc8e4865 (patch)
tree4df55e5d5990a2d0bc150dd5d1c768915f2d3dff /server/migrations
parent[webapp/configurator] fix deleted configs/entries still being selected after ... (diff)
downloadbas-353761b07015a26841549cc259ae0687bc8e4865.tar.gz
bas-353761b07015a26841549cc259ae0687bc8e4865.tar.xz
bas-353761b07015a26841549cc259ae0687bc8e4865.zip
[registration] Add dbs and code for the registration scripts
Add Table for the registration hooks. Add Table for the hooks - groups association. Add nexthook for the minilinux to pull the next bash script. Add state for setting the new script after completing the current one.
Diffstat (limited to 'server/migrations')
-rw-r--r--server/migrations/20181008151633-create-registrationhook.js21
-rw-r--r--server/migrations/20181009154133-create-registrationhook_x_group.js30
-rw-r--r--server/migrations/20181009162133-add-registrationState-client.js16
3 files changed, 67 insertions, 0 deletions
diff --git a/server/migrations/20181008151633-create-registrationhook.js b/server/migrations/20181008151633-create-registrationhook.js
new file mode 100644
index 0000000..59692c5
--- /dev/null
+++ b/server/migrations/20181008151633-create-registrationhook.js
@@ -0,0 +1,21 @@
+'use strict'
+module.exports = {
+ up: (queryInterface, Sequelize) => {
+ return queryInterface.createTable('registrationhooks', {
+ id: {
+ primaryKey: true,
+ allowNull: false,
+ type: Sequelize.INTEGER,
+ },
+ sortvalue: Sequelize.INTEGER,
+ type: Sequelize.STRING,
+ script: {
+ allowNull: true,
+ type: Sequelize.BLOB
+ }
+ })
+ },
+ down: (queryInterface, Sequelize) => {
+ return queryInterface.dropTable('registrationhook')
+ }
+}
diff --git a/server/migrations/20181009154133-create-registrationhook_x_group.js b/server/migrations/20181009154133-create-registrationhook_x_group.js
new file mode 100644
index 0000000..5d52a5b
--- /dev/null
+++ b/server/migrations/20181009154133-create-registrationhook_x_group.js
@@ -0,0 +1,30 @@
+'use strict'
+module.exports = {
+ up: (queryInterface, Sequelize) => {
+ return queryInterface.createTable('registrationhook_x_group', {
+ registrationhookId: {
+ primaryKey: true,
+ allowNull: false,
+ type: Sequelize.INTEGER,
+ onDelete: 'cascade',
+ references: {
+ model: 'registrationhooks',
+ key: 'id'
+ }
+ },
+ groupId: {
+ primaryKey: true,
+ allowNull: false,
+ type: Sequelize.INTEGER,
+ onDelete: 'cascade',
+ references: {
+ model: 'groups',
+ key: 'id'
+ }
+ }
+ })
+ },
+ down: (queryInterface, Sequelize) => {
+ return queryInterface.dropTable('registrationhook_x_group')
+ }
+}
diff --git a/server/migrations/20181009162133-add-registrationState-client.js b/server/migrations/20181009162133-add-registrationState-client.js
new file mode 100644
index 0000000..59e90cd
--- /dev/null
+++ b/server/migrations/20181009162133-add-registrationState-client.js
@@ -0,0 +1,16 @@
+'use strict'
+module.exports = {
+ up: (queryInterface, Sequelize) => {
+ return queryInterface.addColumn('clients', 'registrationState', {
+ type: Sequelize.INTEGER,
+ onDelete: 'SET NULL',
+ references: {
+ model: 'registrationhooks',
+ key: 'id'
+ }
+ })
+ },
+ down: (queryInterface, Sequelize) => {
+ return queryInterface.removeColumn('clients', 'registrationState')
+ }
+} \ No newline at end of file