mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-24 09:28:31 +00:00
Migration fix for custom groups
This commit is contained in:
parent
a95253153b
commit
2bc01dfc55
4 changed files with 50 additions and 12 deletions
|
|
@ -6,7 +6,7 @@ import {
|
||||||
} from '@module/user_resource_permissions/constants/granular-permissions.constant';
|
} from '@module/user_resource_permissions/constants/granular-permissions.constant';
|
||||||
import {
|
import {
|
||||||
USER_ROLE,
|
USER_ROLE,
|
||||||
DEFAULT_GROUP_PERMISSIONS,
|
DEFAULT_GROUP_PERMISSIONS_MIGRATIONS,
|
||||||
} from '@module/user_resource_permissions/constants/group-permissions.constant';
|
} from '@module/user_resource_permissions/constants/group-permissions.constant';
|
||||||
import {
|
import {
|
||||||
CreateResourcePermissionObject,
|
CreateResourcePermissionObject,
|
||||||
|
|
@ -30,7 +30,7 @@ export class CreateDefaultGroupInExistingWorkspace1720352990850 implements Migra
|
||||||
|
|
||||||
for (const organizationId of organizationIds) {
|
for (const organizationId of organizationIds) {
|
||||||
for (const defaultGroup of Object.keys(USER_ROLE)) {
|
for (const defaultGroup of Object.keys(USER_ROLE)) {
|
||||||
const groupPermissions = DEFAULT_GROUP_PERMISSIONS[defaultGroup];
|
const groupPermissions = DEFAULT_GROUP_PERMISSIONS_MIGRATIONS[defaultGroup];
|
||||||
const query = `
|
const query = `
|
||||||
INSERT INTO permission_groups (
|
INSERT INTO permission_groups (
|
||||||
organization_id,
|
organization_id,
|
||||||
|
|
@ -67,12 +67,14 @@ export class CreateDefaultGroupInExistingWorkspace1720352990850 implements Migra
|
||||||
isAll: true,
|
isAll: true,
|
||||||
createAppsPermissionsObject: {},
|
createAppsPermissionsObject: {},
|
||||||
};
|
};
|
||||||
const granularPermissions = await this.createGranularPermission(manager, dtoObject);
|
if (group.name === USER_ROLE.ADMIN) {
|
||||||
await this.createAppsResourcePermission(
|
const granularPermissions = await this.createGranularPermission(manager, dtoObject);
|
||||||
manager,
|
await this.createAppsResourcePermission(
|
||||||
{ granularPermissions, organizationId },
|
manager,
|
||||||
createResourcePermissionObj
|
{ granularPermissions, organizationId },
|
||||||
);
|
createResourcePermissionObj
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//Migrating Admins to new Admins
|
//Migrating Admins to new Admins
|
||||||
if (group.name === USER_ROLE.ADMIN) {
|
if (group.name === USER_ROLE.ADMIN) {
|
||||||
|
|
|
||||||
|
|
@ -33,12 +33,13 @@ export class MigrateCustomGroupToNewUserGroup1720434737529 implements MigrationI
|
||||||
.where('groupPermission.organizationId = :organizationId', {
|
.where('groupPermission.organizationId = :organizationId', {
|
||||||
organizationId,
|
organizationId,
|
||||||
})
|
})
|
||||||
.innerJoinAndSelect('groupPermission.appGroupPermission', 'appGroupPermission')
|
.leftJoinAndSelect('groupPermission.appGroupPermission', 'appGroupPermission')
|
||||||
.innerJoinAndSelect('groupPermission.userGroupPermission', 'userGroupPermission')
|
.leftJoinAndSelect('groupPermission.userGroupPermission', 'userGroupPermission')
|
||||||
.andWhere('groupPermission.group != :admin', {
|
.andWhere('groupPermission.group != :admin', {
|
||||||
admin: 'admin',
|
admin: 'admin',
|
||||||
})
|
})
|
||||||
.getMany();
|
.getMany();
|
||||||
|
|
||||||
for (const groupPermissions of groups) {
|
for (const groupPermissions of groups) {
|
||||||
const query = `
|
const query = `
|
||||||
INSERT INTO permission_groups (
|
INSERT INTO permission_groups (
|
||||||
|
|
@ -51,7 +52,6 @@ export class MigrateCustomGroupToNewUserGroup1720434737529 implements MigrationI
|
||||||
org_constant_crud,
|
org_constant_crud,
|
||||||
data_source_create,
|
data_source_create,
|
||||||
data_source_delete,
|
data_source_delete,
|
||||||
|
|
||||||
) VALUES (
|
) VALUES (
|
||||||
${organizationId} , ${groupPermissions.group} , ${GROUP_PERMISSIONS_TYPE.CUSTOM_GROUP},${groupPermissions.appCreate}, ${groupPermissions.appDelete}
|
${organizationId} , ${groupPermissions.group} , ${GROUP_PERMISSIONS_TYPE.CUSTOM_GROUP},${groupPermissions.appCreate}, ${groupPermissions.appDelete}
|
||||||
, ${groupPermissions.folderCreate}, ${groupPermissions.orgEnvironmentConstantCreate}, false , false
|
, ${groupPermissions.folderCreate}, ${groupPermissions.orgEnvironmentConstantCreate}, false , false
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ export const DEFAULT_RESOURCE_PERMISSIONS = {
|
||||||
[USER_ROLE.END_USER]: {
|
[USER_ROLE.END_USER]: {
|
||||||
[ResourceType.APP]: {
|
[ResourceType.APP]: {
|
||||||
canEdit: false,
|
canEdit: false,
|
||||||
canView: false,
|
canView: true,
|
||||||
hideFromDashboard: false,
|
hideFromDashboard: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,42 @@ export const DEFAULT_GROUP_PERMISSIONS = {
|
||||||
},
|
},
|
||||||
} as Record<string, CreateDefaultGroupObject>;
|
} as Record<string, CreateDefaultGroupObject>;
|
||||||
|
|
||||||
|
export const DEFAULT_GROUP_PERMISSIONS_MIGRATIONS = {
|
||||||
|
ADMIN: {
|
||||||
|
name: USER_ROLE.ADMIN,
|
||||||
|
type: GROUP_PERMISSIONS_TYPE.DEFAULT,
|
||||||
|
appCreate: true,
|
||||||
|
appDelete: true,
|
||||||
|
folderCRUD: true,
|
||||||
|
orgConstantCRUD: true,
|
||||||
|
dataSourceCreate: true,
|
||||||
|
dataSourceDelete: true,
|
||||||
|
isBuilderLevel: true,
|
||||||
|
},
|
||||||
|
BUILDER: {
|
||||||
|
name: USER_ROLE.BUILDER,
|
||||||
|
type: GROUP_PERMISSIONS_TYPE.DEFAULT,
|
||||||
|
appCreate: false,
|
||||||
|
appDelete: false,
|
||||||
|
folderCRUD: false,
|
||||||
|
orgConstantCRUD: false,
|
||||||
|
dataSourceCreate: false,
|
||||||
|
dataSourceDelete: false,
|
||||||
|
isBuilderLevel: false,
|
||||||
|
},
|
||||||
|
END_USER: {
|
||||||
|
name: USER_ROLE.END_USER,
|
||||||
|
type: GROUP_PERMISSIONS_TYPE.DEFAULT,
|
||||||
|
appCreate: false,
|
||||||
|
appDelete: false,
|
||||||
|
folderCRUD: false,
|
||||||
|
orgConstantCRUD: false,
|
||||||
|
dataSourceCreate: false,
|
||||||
|
dataSourceDelete: false,
|
||||||
|
isBuilderLevel: false,
|
||||||
|
},
|
||||||
|
} as Record<string, CreateDefaultGroupObject>;
|
||||||
|
|
||||||
export const ERROR_HANDLER = {
|
export const ERROR_HANDLER = {
|
||||||
GROUP_NOT_EXIST: "Group doesn't exist",
|
GROUP_NOT_EXIST: "Group doesn't exist",
|
||||||
DEFAULT_GROUP_NAME: 'Name cannot be same as user default group',
|
DEFAULT_GROUP_NAME: 'Name cannot be same as user default group',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue