diff --git a/src/space-model/services/space-model.service.ts b/src/space-model/services/space-model.service.ts index 3071b16..2162c38 100644 --- a/src/space-model/services/space-model.service.ts +++ b/src/space-model/services/space-model.service.ts @@ -211,7 +211,6 @@ export class SpaceModelService { ); if (dto.subspaceModels) { - console.log(JSON.stringify(modifiedSubspaces)); modifiedSubspaceModels = await this.subSpaceModelService.modifySubSpaceModels( modifiedSubspaces, diff --git a/src/space-model/services/tag-model.service.ts b/src/space-model/services/tag-model.service.ts index 3f6a493..7394ed8 100644 --- a/src/space-model/services/tag-model.service.ts +++ b/src/space-model/services/tag-model.service.ts @@ -146,7 +146,7 @@ export class TagModelService { tag.subspaceModel = subspaceModel; } - if (subspaceModel === null && spaceModel) { + if (!subspaceModel && spaceModel) { await queryRunner.manager.update( this.tagModelRepository.target, { uuid: tag.uuid }, diff --git a/src/space/services/space.service.ts b/src/space/services/space.service.ts index 2072758..c1e21c6 100644 --- a/src/space/services/space.service.ts +++ b/src/space/services/space.service.ts @@ -172,8 +172,6 @@ export class SpaceService { ): Promise { const { communityUuid, projectUuid } = params; const { onlyWithDevices } = getSpaceDto; - console.log('onlyWithDevices', onlyWithDevices); - await this.validationService.validateCommunityAndProject( communityUuid, projectUuid, @@ -244,12 +242,53 @@ export class SpaceService { async findOne(params: GetSpaceParam): Promise { const { communityUuid, spaceUuid, projectUuid } = params; try { - const space = - await this.validationService.validateSpaceWithinCommunityAndProject( - communityUuid, - projectUuid, - spaceUuid, - ); + await this.validationService.validateCommunityAndProject( + communityUuid, + projectUuid, + ); + + const queryBuilder = this.spaceRepository + .createQueryBuilder('space') + .leftJoinAndSelect('space.parent', 'parent') + .leftJoinAndSelect( + 'space.children', + 'children', + 'children.disabled = :disabled', + { disabled: false }, + ) + .leftJoinAndSelect( + 'space.incomingConnections', + 'incomingConnections', + 'incomingConnections.disabled = :incomingConnectionDisabled', + { incomingConnectionDisabled: false }, + ) + .leftJoinAndSelect( + 'space.tags', + 'tags', + 'tags.disabled = :tagDisabled', + { tagDisabled: false }, + ) + .leftJoinAndSelect('tags.product', 'tagProduct') + .leftJoinAndSelect( + 'space.subspaces', + 'subspaces', + 'subspaces.disabled = :subspaceDisabled', + { subspaceDisabled: false }, + ) + .leftJoinAndSelect( + 'subspaces.tags', + 'subspaceTags', + 'subspaceTags.disabled = :subspaceTagsDisabled', + { subspaceTagsDisabled: false }, + ) + .leftJoinAndSelect('subspaceTags.product', 'subspaceTagProduct') + .where('space.community_id = :communityUuid', { communityUuid }) + .andWhere('space.spaceName != :orphanSpaceName', { + orphanSpaceName: ORPHAN_SPACE_NAME, + }) + .andWhere('space.disabled = :disabled', { disabled: false }); + + const space = await queryBuilder.getOne(); return new SuccessResponseDto({ message: `Space with ID ${spaceUuid} successfully fetched`, @@ -323,8 +362,7 @@ export class SpaceService { updateSpaceDto: UpdateSpaceDto, ): Promise { const { communityUuid, spaceUuid, projectUuid } = params; - console.log(communityUuid, spaceUuid, projectUuid); - console.log(updateSpaceDto); + const queryRunner = this.dataSource.createQueryRunner(); try { diff --git a/src/space/services/subspace/subspace-device.service.ts b/src/space/services/subspace/subspace-device.service.ts index 97b6080..6ad6ef3 100644 --- a/src/space/services/subspace/subspace-device.service.ts +++ b/src/space/services/subspace/subspace-device.service.ts @@ -82,34 +82,12 @@ export class SubspaceDeviceService { const subspace = await this.findSubspace(subSpaceUuid); const device = await this.findDevice(deviceUuid); - console.log(device); - if (device.tag) { - console.log(device.tag); - const tag = device.tag; - if (tag.subspace !== null && tag.subspace.uuid === subspace.uuid) { - //do nothing - } - if (tag.subspace !== null && tag.subspace.uuid !== subspace.uuid) { - await this.tagRepository.update( - { - uuid: tag.uuid, - }, - { - subspace: subspace, - }, - ); - } - if (tag.subspace === null) { - await this.tagRepository.update( - { - uuid: tag.uuid, - }, - { - subspace: subspace, - }, - ); - } + if (device.tag?.subspace?.uuid !== subspace.uuid) { + await this.tagRepository.update( + { uuid: device.tag.uuid }, + { subspace }, + ); } device.subspace = subspace; @@ -154,24 +132,13 @@ export class SubspaceDeviceService { ); } - if (device.tag) { - console.log(device.tag); - const tag = device.tag; - if (tag.subspace === null) { - //do nothing - } - if (tag.subspace !== null) { - await this.tagRepository.update( - { - uuid: tag.uuid, - }, - { - subspace: null, - space: device.subspace, - }, - ); - } + if (device.tag?.subspace !== null) { + await this.tagRepository.update( + { uuid: device.tag.uuid }, + { subspace: null, space: device.subspace }, + ); } + device.subspace = null; const updatedDevice = await this.deviceRepository.save(device); diff --git a/src/space/services/tag/tag.service.ts b/src/space/services/tag/tag.service.ts index c4bc34c..f5059e6 100644 --- a/src/space/services/tag/tag.service.ts +++ b/src/space/services/tag/tag.service.ts @@ -31,13 +31,10 @@ export class TagService { const combinedTags = this.combineTags(tags, additionalTags); this.ensureNoDuplicateTags(combinedTags); - console.log(tags); const tagEntitiesToCreate = tags.filter((tagDto) => !tagDto.uuid); const tagEntitiesToUpdate = tags.filter((tagDto) => tagDto.uuid !== null); - console.log(tagEntitiesToCreate); - try { const createdTags = await this.bulkSaveTags( tagEntitiesToCreate, @@ -81,8 +78,7 @@ export class TagService { ), ), ); - console.log('here'); - console.log(JSON.stringify(tags)); + try { return await queryRunner.manager.save(tagEntities); } catch (error) { @@ -128,7 +124,7 @@ export class TagService { tag.subspace = subspace; } - if (subspace === null && space) { + if (!subspace && space) { await queryRunner.manager.update( this.tagRepository.target, { uuid: tag.uuid }, @@ -187,7 +183,7 @@ export class TagService { const contextSpace = space ?? subspace?.space; - if (contextSpace) { + if (contextSpace && tag.tag !== existingTag.tag) { await this.checkTagReuse( tag.tag, existingTag.product.uuid,