Add column id to user_permissions and group_permissions (#6181)

* fix: add column id to user_permissions and group_permissions

* fix: don't drop ext

* fix: put back default value
This commit is contained in:
Apoorv Mishra
2023-11-21 13:16:57 +05:30
committed by GitHub
parent e2ad3f9e73
commit a891b6b604
4 changed files with 66 additions and 4 deletions

View File

@@ -0,0 +1,31 @@
"use strict";
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.sequelize.transaction(async (transaction) => {
await queryInterface.sequelize.query(
`CREATE EXTENSION IF NOT EXISTS "uuid-ossp";`,
{ transaction }
);
await queryInterface.addColumn(
"user_permissions",
"id",
{
type: Sequelize.UUID,
defaultValue: Sequelize.literal("uuid_generate_v4()"),
allowNull: false,
},
{ transaction }
);
await queryInterface.addConstraint("user_permissions", {
type: "PRIMARY KEY",
fields: ["id"],
transaction,
});
});
},
async down(queryInterface, Sequelize) {
await queryInterface.removeColumn("user_permissions", "id");
},
};

View File

@@ -0,0 +1,31 @@
"use strict";
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.sequelize.transaction(async (transaction) => {
await queryInterface.sequelize.query(
`CREATE EXTENSION IF NOT EXISTS "uuid-ossp";`,
{ transaction }
);
await queryInterface.addColumn(
"group_permissions",
"id",
{
type: Sequelize.UUID,
defaultValue: Sequelize.literal("uuid_generate_v4()"),
allowNull: false,
},
{ transaction }
);
await queryInterface.addConstraint("group_permissions", {
type: "PRIMARY KEY",
fields: ["id"],
transaction,
});
});
},
async down(queryInterface, Sequelize) {
await queryInterface.removeColumn("group_permissions", "id");
},
};

View File

@@ -14,7 +14,7 @@ import Collection from "./Collection";
import Document from "./Document";
import Group from "./Group";
import User from "./User";
import Model from "./base/Model";
import ParanoidModel from "./base/ParanoidModel";
import Fix from "./decorators/Fix";
@Scopes(() => ({
@@ -40,7 +40,7 @@ import Fix from "./decorators/Fix";
}))
@Table({ tableName: "group_permissions", modelName: "group_permission" })
@Fix
class GroupPermission extends Model {
class GroupPermission extends ParanoidModel {
@Default(CollectionPermission.ReadWrite)
@IsIn([Object.values(CollectionPermission)])
@Column(DataType.STRING)

View File

@@ -13,7 +13,7 @@ import { CollectionPermission } from "@shared/types";
import Collection from "./Collection";
import Document from "./Document";
import User from "./User";
import Model from "./base/Model";
import IdModel from "./base/IdModel";
import Fix from "./decorators/Fix";
@Scopes(() => ({
@@ -39,7 +39,7 @@ import Fix from "./decorators/Fix";
}))
@Table({ tableName: "user_permissions", modelName: "user_permission" })
@Fix
class UserPermission extends Model {
class UserPermission extends IdModel {
@Default(CollectionPermission.ReadWrite)
@IsIn([Object.values(CollectionPermission)])
@Column(DataType.STRING)