mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-26 07:57:17 +00:00
* create migrations for group permissions setup * define new entities and relationships * revise migrations * rename columns * add migration to populate permission groups for existing users * Feature: User access permission group usage (#883) * create migrations for group permissions setup * define new entities and relationships * revise migrations * rename columns * add migration to populate permission groups for existing users * revise migrations * hide roles usage * setup group permissions for apps and users * fix defaultChecked * fix update permission checkbox * fix casl ability check to have params passed * fix casl apps abilities to check with app specific permission * add ability to delete groups * conditionally render edit and delete options for all and admin users * fix user role to group migration * revise group management pages to disallow updating default group * move manage users and groups to navbar dropdown * show only addable apps and users on dropdowns * rename header as profile settings * scope addable apps and users by organization * scope viewable apps on homepage * hide manage groups link from non admins * make permissions to be used with radio input * add loading state for add apps/users buttons * revise unit tests * revise migrations * fix e2e tests * comment out dead code * fix seeds script * handle folder count * captalize error toast * hide manage users dropdown for non admins * show fobidden error on blank homepage * fix folder app count * fix invalid state set * make group name clickable for edit instead * users with edit permission can deploy apps * not show edit link on homepage if user dont have update permission * remove unused entity from merge * remove roles usage from manage org users page * fix folder count and blank slate on homepage * disable add buttons if there is no selections * humanize default groups on view * make app added onto groups have read permission by default * not show app menu if user is not admin * remove admin users from group user addition dropdown * create default permissions for app cloned * fix querying index page without page params * fix admin scoped out from group add * remove apps from header * fix invitation url not shown * scope admin deletion check by org * scope public apps by organization * add specs for group permissions e2e * removed unused entity and add group permissions spec * remove console logs * remove unused permission * scope public app count by org * remove console log * refactor manage group permission resources component * update group permssion in org scope
74 lines
1.7 KiB
TypeScript
74 lines
1.7 KiB
TypeScript
import {
|
|
MigrationInterface,
|
|
QueryRunner,
|
|
Table,
|
|
TableForeignKey,
|
|
} from "typeorm";
|
|
|
|
export class CreateUserGroupPermissions1632383798339
|
|
implements MigrationInterface
|
|
{
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.createTable(
|
|
new Table({
|
|
name: "user_group_permissions",
|
|
columns: [
|
|
{
|
|
name: "id",
|
|
type: "uuid",
|
|
isGenerated: true,
|
|
default: "gen_random_uuid()",
|
|
isPrimary: true,
|
|
},
|
|
{
|
|
name: "user_id",
|
|
type: "uuid",
|
|
isNullable: false,
|
|
},
|
|
{
|
|
name: "group_permission_id",
|
|
type: "uuid",
|
|
isNullable: false,
|
|
},
|
|
{
|
|
name: "created_at",
|
|
type: "timestamp",
|
|
isNullable: false,
|
|
default: "now()",
|
|
},
|
|
{
|
|
name: "updated_at",
|
|
type: "timestamp",
|
|
isNullable: false,
|
|
default: "now()",
|
|
},
|
|
],
|
|
}),
|
|
true
|
|
);
|
|
|
|
await queryRunner.createForeignKey(
|
|
"user_group_permissions",
|
|
new TableForeignKey({
|
|
columnNames: ["user_id"],
|
|
referencedColumnNames: ["id"],
|
|
referencedTableName: "users",
|
|
onDelete: "CASCADE",
|
|
})
|
|
);
|
|
|
|
await queryRunner.createForeignKey(
|
|
"user_group_permissions",
|
|
new TableForeignKey({
|
|
columnNames: ["group_permission_id"],
|
|
referencedColumnNames: ["id"],
|
|
referencedTableName: "group_permissions",
|
|
onDelete: "CASCADE",
|
|
})
|
|
);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.dropTable("user_group_permissions");
|
|
}
|
|
}
|