mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-23 17:08:34 +00:00
Fix - Fetching DataSource granular permissions CE (#12573)
* Fix Fetch DataSource granular permission CE * license check for ee * search param * await fix
This commit is contained in:
parent
e395d7a834
commit
b73437991d
4 changed files with 16 additions and 3 deletions
|
|
@ -54,7 +54,7 @@ export class GranularPermissionsController implements IGranularPermissionsContro
|
|||
@User() user: UserEntity,
|
||||
@Param('id') groupId: string
|
||||
): Promise<GranularPermissions[]> {
|
||||
return await this.granularPermissionsService.getAll(groupId, user.organizationId);
|
||||
return await this.granularPermissionsService.getAll(groupId, user.organizationId, { filterDataSource: true });
|
||||
}
|
||||
|
||||
@InitFeature(FEATURE_KEY.UPDATE_GRANULAR_PERMISSIONS)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import { Injectable } from '@nestjs/common';
|
|||
import {
|
||||
DataSource,
|
||||
EntityManager,
|
||||
Equal,
|
||||
FindManyOptions,
|
||||
FindOptionsWhere,
|
||||
ILike,
|
||||
|
|
@ -94,8 +95,19 @@ export class GroupPermissionsRepository extends Repository<GroupPermissions> {
|
|||
},
|
||||
};
|
||||
|
||||
// Only apply the data source filter if filterDataSource is true
|
||||
if (searchParam?.filterDataSource) {
|
||||
findOptions.where = {
|
||||
...findOptions.where,
|
||||
type: Not(Equal(ResourceType.DATA_SOURCE)),
|
||||
};
|
||||
}
|
||||
|
||||
if (groupId) {
|
||||
findOptions.where = { groupId };
|
||||
findOptions.where = {
|
||||
...findOptions.where,
|
||||
groupId,
|
||||
};
|
||||
}
|
||||
|
||||
if (name) {
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ import { GroupPermissionsRepository } from '../repository';
|
|||
import { GranularPermissionsUtilService } from '../util-services/granular-permissions.util.service';
|
||||
import { LicenseUserService } from '@modules/licensing/services/user.service';
|
||||
import { GranularPermissions } from '@entities/granular_permissions.entity';
|
||||
import { USER_ROLE } from '../constants';
|
||||
import { GranularPermissionQuerySearchParam } from '../types';
|
||||
import { IGranularPermissionsService } from '../interfaces/IService';
|
||||
import { GroupPermissionLicenseUtilService } from '../util-services/license.util.service';
|
||||
import { USER_ROLE } from '../constants';
|
||||
|
||||
@Injectable()
|
||||
export class GranularPermissionsService implements IGranularPermissionsService {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ export interface GranularPermissionQuerySearchParam {
|
|||
name?: SearchParamItem;
|
||||
type?: string;
|
||||
groupId?: string;
|
||||
filterDataSource?: boolean;
|
||||
}
|
||||
interface SearchParamItem {
|
||||
value: string;
|
||||
|
|
|
|||
Loading…
Reference in a new issue