From 954605a804da399317ca62afa2fb9244afa11ebf Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 27 Oct 2017 16:55:03 +0200 Subject: Support roles with rights and add moderator role --- server/initializers/migrations/0085-user-role.ts | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 server/initializers/migrations/0085-user-role.ts (limited to 'server/initializers/migrations') diff --git a/server/initializers/migrations/0085-user-role.ts b/server/initializers/migrations/0085-user-role.ts new file mode 100644 index 000000000..e67c5ca24 --- /dev/null +++ b/server/initializers/migrations/0085-user-role.ts @@ -0,0 +1,39 @@ +import * as Sequelize from 'sequelize' +import * as uuidv4 from 'uuid/v4' + +async function up (utils: { + transaction: Sequelize.Transaction, + queryInterface: Sequelize.QueryInterface, + sequelize: Sequelize.Sequelize, + db: any +}): Promise { + const q = utils.queryInterface + + await q.renameColumn('Users', 'role', 'oldRole') + + const data = { + type: Sequelize.INTEGER, + allowNull: true + } + await q.addColumn('Users', 'role', data) + + let query = 'UPDATE "Users" SET "role" = 0 WHERE "oldRole" = \'admin\'' + await utils.sequelize.query(query) + + query = 'UPDATE "Users" SET "role" = 2 WHERE "oldRole" = \'user\'' + await utils.sequelize.query(query) + + data.allowNull = false + await q.changeColumn('Users', 'role', data) + + await q.removeColumn('Users', 'oldRole') +} + +function down (options) { + throw new Error('Not implemented.') +} + +export { + up, + down +} -- cgit v1.2.3