diff --git a/apps/api/src/app/import/import.service.ts b/apps/api/src/app/import/import.service.ts index 02f3e935f..d70305502 100644 --- a/apps/api/src/app/import/import.service.ts +++ b/apps/api/src/app/import/import.service.ts @@ -302,6 +302,15 @@ export class ImportService { if (tagsDto?.length) { const existingTags = await this.tagService.getTagsForUser(user.id); + const canCreateTag = hasPermission( + user.permissions, + permissions.createTag + ); + const canCreateOwnTag = hasPermission( + user.permissions, + permissions.createOwnTag + ); + for (const tag of tagsDto) { // Check if there is any existing tag const existingTag = existingTags.find(({ name }) => { @@ -309,19 +318,7 @@ export class ImportService { }); // If there is no tag or if the tag belongs to a different user, then create a new tag - if ( - !existingTag || - (existingTag.userId && existingTag.userId !== user.id) - ) { - const canCreateTag = hasPermission( - user.permissions, - permissions.createTag - ); - const canCreateOwnTag = hasPermission( - user.permissions, - permissions.createOwnTag - ); - + if (!existingTag || existingTag.userId !== user.id) { if (!canCreateTag && !canCreateOwnTag) { throw new Error('User does not have permission to create tags'); }