From b65297523cb7195799857807f1377d45b034c522 Mon Sep 17 00:00:00 2001 From: Philip Molares Date: Thu, 1 Apr 2021 01:18:24 +0200 Subject: [PATCH] MediaService: Add removeNoteFromMediaUpload method This method replaces the associated note of a media upload with null. Signed-off-by: Philip Molares --- src/media/media.service.spec.ts | 23 +++++++++++++++++++++++ src/media/media.service.ts | 14 ++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/src/media/media.service.spec.ts b/src/media/media.service.spec.ts index e7acf22b0..8664ab8a7 100644 --- a/src/media/media.service.spec.ts +++ b/src/media/media.service.spec.ts @@ -265,4 +265,27 @@ describe('MediaService', () => { }); }); }); + + describe('removeNoteFromMediaUpload', () => { + it('works', async () => { + const mockMediaUploadEntry = { + id: 'testMediaUpload', + backendData: 'testBackendData', + note: { + alias: 'test', + } as Note, + user: { + userName: 'hardcoded', + } as User, + } as MediaUpload; + jest + .spyOn(mediaRepo, 'save') + .mockImplementationOnce(async (entry: MediaUpload) => { + expect(entry.note).toBeNull(); + return entry; + }); + await service.removeNoteFromMediaUpload(mockMediaUploadEntry); + expect(mediaRepo.save).toHaveBeenCalled(); + }); + }); }); diff --git a/src/media/media.service.ts b/src/media/media.service.ts index b0a25442d..259c94829 100644 --- a/src/media/media.service.ts +++ b/src/media/media.service.ts @@ -176,6 +176,20 @@ export class MediaService { return mediaUploads; } + /** + * @async + * Set the note of a mediaUpload to null + * @param {MediaUpload} mediaUpload - the media upload to be changed + */ + async removeNoteFromMediaUpload(mediaUpload: MediaUpload): Promise { + this.logger.debug( + 'Setting note to null for mediaUpload: ' + mediaUpload.id, + 'removeNoteFromMediaUpload', + ); + mediaUpload.note = null; + await this.mediaUploadRepository.save(mediaUpload); + } + private chooseBackendType(): BackendType { switch (this.mediaConfig.backend.use) { case 'filesystem':