From 196abad8babd590bb9dcf89c53be6f4437d3d3b7 Mon Sep 17 00:00:00 2001 From: hannathkadher Date: Wed, 18 Dec 2024 10:13:42 +0400 Subject: [PATCH] fixed issue in getting device details from space --- src/space/services/space-device.service.ts | 14 ++++++++------ src/space/services/space.service.ts | 1 + 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/space/services/space-device.service.ts b/src/space/services/space-device.service.ts index 0a262a1..44880c2 100644 --- a/src/space/services/space-device.service.ts +++ b/src/space/services/space-device.service.ts @@ -1,22 +1,17 @@ import { TuyaService } from '@app/common/integrations/tuya/services/tuya.service'; -import { CommunityRepository } from '@app/common/modules/community/repositories'; -import { SpaceRepository } from '@app/common/modules/space/repositories'; + import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { GetDeviceDetailsInterface } from 'src/device/interfaces/get.device.interface'; import { GetSpaceParam } from '../dtos'; import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { SuccessResponseDto } from '@app/common/dto/success.response.dto'; import { convertKeysToCamelCase } from '@app/common/helper/camelCaseConverter'; -import { ProductRepository } from '@app/common/modules/product/repositories'; import { SpaceService } from './space.service'; @Injectable() export class SpaceDeviceService { constructor( - private readonly spaceRepository: SpaceRepository, private readonly tuyaService: TuyaService, - private readonly productRepository: ProductRepository, - private readonly communityRepository: CommunityRepository, private readonly spaceService: SpaceService, ) {} @@ -29,6 +24,13 @@ export class SpaceDeviceService { projectUuid, ); + if (!Array.isArray(space.devices)) { + throw new HttpException( + 'The space does not contain any devices or the devices property is invalid.', + HttpStatus.BAD_REQUEST, + ); + } + const safeFetch = async (device: any) => { try { const tuyaDetails = await this.getDeviceDetailsByDeviceIdTuya( diff --git a/src/space/services/space.service.ts b/src/space/services/space.service.ts index 8189f8c..b40723f 100644 --- a/src/space/services/space.service.ts +++ b/src/space/services/space.service.ts @@ -325,6 +325,7 @@ export class SpaceService { private async validateSpace(spaceUuid: string) { const space = await this.spaceRepository.findOne({ where: { uuid: spaceUuid }, + relations: ['devices'], }); if (!space) this.throwNotFound('Space', spaceUuid); return space;