@@ -3,31 +3,31 @@ import { ListAllApplicationsResponseDto } from "@dto/list-all-applications-respo
33import { ListAllApplicationsDto } from "@dto/list-all-applications.dto" ;
44import { ListAllEntitiesDto } from "@dto/list-all-entities.dto" ;
55import { ListAllIoTDevicesResponseDto } from "@dto/list-all-iot-devices-response.dto" ;
6+ import { IoTDevicesListToMapResponseDto } from "@dto/list-all-iot-devices-to-map-response.dto" ;
67import { LoRaWANDeviceWithChirpstackDataDto } from "@dto/lorawan-device-with-chirpstack-data.dto" ;
8+ import { UpdateApplicationOrganizationDto } from "@dto/update-application-organization.dto" ;
79import { UpdateApplicationDto } from "@dto/update-application.dto" ;
810import { ApplicationDeviceType } from "@entities/application-device-type.entity" ;
911import { Application } from "@entities/application.entity" ;
1012import { ControlledProperty } from "@entities/controlled-property.entity" ;
1113import { IoTDevice } from "@entities/iot-device.entity" ;
1214import { LoRaWANDevice } from "@entities/lorawan-device.entity" ;
15+ import { Permission } from "@entities/permissions/permission.entity" ;
1316import { ControlledPropertyTypes } from "@enum/controlled-property.enum" ;
17+ import { DataTargetType } from "@enum/data-target-type.enum" ;
1418import { ApplicationDeviceTypes , ApplicationDeviceTypeUnion , IoTDeviceType } from "@enum/device-type.enum" ;
1519import { ErrorCodes } from "@enum/error-codes.enum" ;
1620import { findValuesInRecord } from "@helpers/record.helper" ;
1721import { nameof } from "@helpers/type-helper" ;
1822import { BadRequestException , ConflictException , forwardRef , Inject , Injectable } from "@nestjs/common" ;
1923import { InjectRepository } from "@nestjs/typeorm" ;
24+ import { ApplicationChirpstackService } from "@services/chirpstack/chirpstack-application.service" ;
2025import { ChirpstackDeviceService } from "@services/chirpstack/chirpstack-device.service" ;
26+ import { MulticastService } from "@services/chirpstack/multicast.service" ;
27+ import { DataTargetService } from "@services/data-targets/data-target.service" ;
2128import { OrganizationService } from "@services/user-management/organization.service" ;
2229import { PermissionService } from "@services/user-management/permission.service" ;
2330import { DeleteResult , In , Repository } from "typeorm" ;
24- import { DataTargetService } from "@services/data-targets/data-target.service" ;
25- import { DataTargetType } from "@enum/data-target-type.enum" ;
26- import { MulticastService } from "@services/chirpstack/multicast.service" ;
27- import { ApplicationChirpstackService } from "@services/chirpstack/chirpstack-application.service" ;
28- import { IoTDevicesListToMapResponseDto } from "@dto/list-all-iot-devices-to-map-response.dto" ;
29- import { UpdateApplicationOrganizationDto } from "@dto/update-application-organization.dto" ;
30- import { Permission } from "@entities/permissions/permission.entity" ;
3131
3232@Injectable ( )
3333export class ApplicationService {
@@ -172,6 +172,23 @@ export class ApplicationService {
172172 return await this . applicationRepository . findOneByOrFail ( { id } ) ;
173173 }
174174
175+ async findFilterInformation ( applicationIds : number [ ] | "admin" , organizationId : number ) {
176+ console . log ( applicationIds ) ;
177+
178+ const query = this . applicationRepository
179+ . createQueryBuilder ( "application" )
180+ . leftJoinAndSelect ( "application.belongsTo" , "organization" )
181+ . where ( "organization.id = :organizationId" , { organizationId } ) ;
182+
183+ if ( applicationIds !== "admin" ) {
184+ query . where ( "application.id IN (:...applicationIds)" , { applicationIds } ) ;
185+ }
186+
187+ const result = await query . getMany ( ) ;
188+
189+ return [ ...new Set ( result . map ( app => app . owner ) ) ] ;
190+ }
191+
175192 async findOneWithOrganisation ( id : number ) : Promise < Application > {
176193 return await this . applicationRepository . findOneOrFail ( {
177194 where : { id } ,
0 commit comments