diff --git a/src/space-model/services/tag-model.service.ts b/src/space-model/services/tag-model.service.ts index c364816..14f2cf2 100644 --- a/src/space-model/services/tag-model.service.ts +++ b/src/space-model/services/tag-model.service.ts @@ -67,20 +67,25 @@ export class TagModelService { try { const existingTag = await this.getTagByUuid(tag.uuid); - if (spaceModel) { - await this.checkTagReuse(tag.tag, existingTag.product.uuid, spaceModel); - } else { - await this.checkTagReuse( - tag.tag, - existingTag.product.uuid, - subspaceModel.spaceModel, - ); - } + if (tag.tag !== existingTag.tag) { + if (spaceModel) { + await this.checkTagReuse( + tag.tag, + existingTag.product.uuid, + spaceModel, + ); + } else { + await this.checkTagReuse( + tag.tag, + existingTag.product.uuid, + subspaceModel.spaceModel, + ); + } - if (tag.tag) { - existingTag.tag = tag.tag; + if (tag.tag) { + existingTag.tag = tag.tag; + } } - return await queryRunner.manager.save(existingTag); } catch (error) { if (error instanceof HttpException) { @@ -217,7 +222,10 @@ export class TagModelService { }); if (tagExists) { - throw new HttpException(`Tag can't be reused`, HttpStatus.CONFLICT); + throw new HttpException( + `Tag ${tag} can't be reused`, + HttpStatus.CONFLICT, + ); } } catch (error) { if (error instanceof HttpException) {