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:
Rudhra Deep Biswas 2025-04-16 13:33:14 +05:30 committed by GitHub
parent e395d7a834
commit b73437991d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 16 additions and 3 deletions

View file

@ -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)

View file

@ -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) {

View file

@ -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 {

View file

@ -19,6 +19,7 @@ export interface GranularPermissionQuerySearchParam {
name?: SearchParamItem;
type?: string;
groupId?: string;
filterDataSource?: boolean;
}
interface SearchParamItem {
value: string;