diff --git a/server/src/services/asset.service.spec.ts b/server/src/services/asset.service.spec.ts index bf36c181fc602..8ff846d39d022 100755 --- a/server/src/services/asset.service.spec.ts +++ b/server/src/services/asset.service.spec.ts @@ -416,6 +416,34 @@ describe(AssetService.name, () => { await sut.updateAll(authStub.admin, { ids: ['asset-1', 'asset-2'], isArchived: true }); expect(assetMock.updateAll).toHaveBeenCalledWith(['asset-1', 'asset-2'], { isArchived: true }); }); + + it('should not update Assets table if no relevant fields are provided', async () => { + accessMock.asset.checkOwnerAccess.mockResolvedValue(new Set(['asset-1'])); + await sut.updateAll(authStub.admin, { + ids: ['asset-1'], + latitude: 0, + longitude: 0, + isArchived: undefined, + isFavorite: undefined, + duplicateId: undefined, + rating: undefined, + }); + expect(assetMock.updateAll).not.toHaveBeenCalled(); + }); + + it('should update Assets table if isArchived field is provided', async () => { + accessMock.asset.checkOwnerAccess.mockResolvedValue(new Set(['asset-1'])); + await sut.updateAll(authStub.admin, { + ids: ['asset-1'], + latitude: 0, + longitude: 0, + isArchived: undefined, + isFavorite: false, + duplicateId: undefined, + rating: undefined, + }); + expect(assetMock.updateAll).toHaveBeenCalled(); + }); }); describe('deleteAll', () => { diff --git a/server/src/services/asset.service.ts b/server/src/services/asset.service.ts index 3913c0ce4cb44..99ddbb29cc9da 100644 --- a/server/src/services/asset.service.ts +++ b/server/src/services/asset.service.ts @@ -142,7 +142,14 @@ export class AssetService extends BaseService { await this.updateMetadata({ id, dateTimeOriginal, latitude, longitude }); } - await this.assetRepository.updateAll(ids, options); + if ( + options.isArchived != undefined || + options.isFavorite != undefined || + options.duplicateId != undefined || + options.rating != undefined + ) { + await this.assetRepository.updateAll(ids, options); + } } @OnJob({ name: JobName.ASSET_DELETION_CHECK, queue: QueueName.BACKGROUND_TASK })