UNPKG

@grouparoo/core

Version:
86 lines (85 loc) 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = { up: async (queryInterface, DataTypes) => { await queryInterface.createTable("apiKeys", { guid: { type: DataTypes.STRING(40), primaryKey: true, }, apiKey: { type: DataTypes.STRING(40), allowNull: false, }, name: { type: DataTypes.TEXT, allowNull: false, }, createdAt: { type: DataTypes.DATE, allowNull: false, }, updatedAt: { type: DataTypes.DATE, allowNull: false, }, }); await queryInterface.addIndex("apiKeys", ["name"], { unique: true, fields: ["name"], }); await queryInterface.addIndex("apiKeys", ["apiKey"], { unique: true, fields: ["apiKey"], }); await queryInterface.createTable("permissions", { guid: { type: DataTypes.STRING(40), primaryKey: true, }, ownerGuid: { type: DataTypes.STRING(40), allowNull: false, }, ownerType: { type: DataTypes.STRING(191), allowNull: false, }, topic: { type: DataTypes.STRING(191), allowNull: false, }, read: { type: DataTypes.BOOLEAN, allowNull: false, }, write: { type: DataTypes.BOOLEAN, allowNull: false, }, locked: { type: DataTypes.BOOLEAN, allowNull: false, }, createdAt: { type: DataTypes.DATE, allowNull: false, }, updatedAt: { type: DataTypes.DATE, allowNull: false, }, }); await queryInterface.addIndex("permissions", ["ownerGuid", "topic"], { unique: true, fields: ["ownerGuid", "topic"], }); await queryInterface.removeColumn("teams", "read"); await queryInterface.removeColumn("teams", "write"); await queryInterface.removeColumn("teams", "administer"); }, down: async (queryInterface) => { await queryInterface.dropTable("apiKeys"); await queryInterface.dropTable("permissions"); }, };