From c953c9f8f88a6f00ee33b348503638f50f668971 Mon Sep 17 00:00:00 2001 From: William Grant Date: Fri, 19 May 2023 14:01:23 +1000 Subject: [PATCH] fix: converting undefined to a string does not make an empty string so we have to make deleteData more robust MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit javascript ¯\_(ツ)_/¯ --- ts/types/attachments/migrations.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ts/types/attachments/migrations.ts b/ts/types/attachments/migrations.ts index ed6406b98..b543de274 100644 --- a/ts/types/attachments/migrations.ts +++ b/ts/types/attachments/migrations.ts @@ -166,7 +166,11 @@ const handleDiskDeletion = async (path: string) => { // deleteData :: (RelativePath -> IO Unit) // Attachment -> // IO Unit -export const deleteData = async (attachment: { path: string; thumbnail: any; screenshot: any }) => { +export const deleteData = async (attachment: { + path: string | undefined; + thumbnail: any; + screenshot: any; +}) => { if (!isValid(attachment)) { throw new TypeError('deleteData: attachment is not valid'); } @@ -174,15 +178,18 @@ export const deleteData = async (attachment: { path: string; thumbnail: any; scr const { path, thumbnail, screenshot } = attachment; if (path && isString(path)) { - attachment.path = String(await handleDiskDeletion(path)); + const pathAfterDelete = await handleDiskDeletion(path); + attachment.path = isString(pathAfterDelete) ? pathAfterDelete : undefined; } if (thumbnail && isString(thumbnail.path)) { - attachment.thumbnail = await handleDiskDeletion(thumbnail.path); + const pathAfterDelete = await handleDiskDeletion(thumbnail.path); + attachment.thumbnail = isString(pathAfterDelete) ? pathAfterDelete : undefined; } if (screenshot && isString(screenshot.path)) { - attachment.screenshot = await handleDiskDeletion(screenshot.path); + const pathAfterDelete = await handleDiskDeletion(screenshot.path); + attachment.screenshot = isString(pathAfterDelete) ? pathAfterDelete : undefined; } return attachment;