import { Injectable } from '@nestjs/common'; import { UserRoleMappingRepository } from 'src/module/user/repository/user-role-mapping.repository'; import { AppMasterRespository } from '../repository/app-master.repository'; @Injectable() export class AppMasterService { constructor( private readonly appMasterRepository: AppMasterRespository, private readonly userRoleMappingRepository: UserRoleMappingRepository, ) {} async getAppMasterDataByAppCode(userId: number) { const app_code = await this.userRoleMappingRepository.findDistinctAppcodeByUserId(userId); const finalResult: any[] = []; if (app_code.appcode.length > 0) { const resolvedData = await Promise.all( app_code.appcode.map(async (element) => { const data = await this.appMasterRepository.getAppMasterDataByAppCode(element); return data || []; }), ); resolvedData.flat().forEach((item) => { finalResult.push({ key: item.name, details: item, }); }); } return finalResult; } }