diff --git a/server/src/modules/app-permissions/interfaces/IService.ts b/server/src/modules/app-permissions/interfaces/IService.ts index 6f072faef9..750b33ea9f 100644 --- a/server/src/modules/app-permissions/interfaces/IService.ts +++ b/server/src/modules/app-permissions/interfaces/IService.ts @@ -1,3 +1,5 @@ +import { User } from '@entities/user.entity'; + export interface IAppPermissionsService { - fetchUsers(appId: string): Promise; + fetchUsers(appId: string, user: User): Promise; } diff --git a/server/src/modules/app-permissions/interfaces/IUtilService.ts b/server/src/modules/app-permissions/interfaces/IUtilService.ts new file mode 100644 index 0000000000..12cacfe06e --- /dev/null +++ b/server/src/modules/app-permissions/interfaces/IUtilService.ts @@ -0,0 +1,5 @@ +import { User } from '@entities/user.entity'; + +export interface IUtilService { + getUsersWithViewAccess(appId: string, organizationId: string, endUserIds: string[]): Promise; +} diff --git a/server/src/modules/app-permissions/module.ts b/server/src/modules/app-permissions/module.ts index 40011b0292..aadb998dc6 100644 --- a/server/src/modules/app-permissions/module.ts +++ b/server/src/modules/app-permissions/module.ts @@ -1,19 +1,23 @@ import { getImportPath } from '@modules/app/constants'; import { DynamicModule } from '@nestjs/common'; import { FeatureAbilityFactory } from './ability'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { User } from '@entities/user.entity'; +import { RolesRepository } from '@modules/roles/repository'; export class AppPermissionsModule { static async register(configs: { IS_GET_CONTEXT: boolean }): Promise { const importPath = await getImportPath(configs.IS_GET_CONTEXT); const { AppPermissionsController } = await import(`${importPath}/app-permissions/controller`); const { AppPermissionsService } = await import(`${importPath}/app-permissions/service`); + const { AppPermissionsUtilService } = await import(`${importPath}/app-permissions/util.service`); return { module: AppPermissionsModule, - imports: [], + imports: [TypeOrmModule.forFeature([User])], controllers: [AppPermissionsController], - providers: [AppPermissionsService, FeatureAbilityFactory], - exports: [], + providers: [AppPermissionsService, AppPermissionsUtilService, RolesRepository, FeatureAbilityFactory], + exports: [AppPermissionsUtilService], }; } } diff --git a/server/src/modules/app-permissions/repositories/repository.ts b/server/src/modules/app-permissions/repositories/repository.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/server/src/modules/app-permissions/service.ts b/server/src/modules/app-permissions/service.ts index 7744982418..db7a61d98b 100644 --- a/server/src/modules/app-permissions/service.ts +++ b/server/src/modules/app-permissions/service.ts @@ -5,7 +5,7 @@ import { IAppPermissionsService } from './interfaces/IService'; export class AppPermissionsService implements IAppPermissionsService { constructor() {} - async fetchUsers(appId) { + async fetchUsers(appId, user) { throw new Error('Method not implemented.'); } } diff --git a/server/src/modules/app-permissions/util.service.ts b/server/src/modules/app-permissions/util.service.ts new file mode 100644 index 0000000000..bb07699714 --- /dev/null +++ b/server/src/modules/app-permissions/util.service.ts @@ -0,0 +1,12 @@ +import { User } from '@entities/user.entity'; +import { IUtilService } from './interfaces/IUtilService'; +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class AppPermissionsUtilService implements IUtilService { + constructor() {} + + async getUsersWithViewAccess(appId: string, organizationId: string, endUserIds: string[]): Promise { + throw new Error('Method not implemented.'); + } +}