From af78b6f4f04222c96be5befa3422055db379ea6e Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 27 Mar 2024 10:37:04 +0800 Subject: [PATCH] append newsletter labels to avoid labels attached by rules being replaced --- packages/api/src/services/save_email.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/api/src/services/save_email.ts b/packages/api/src/services/save_email.ts index ef8add223..67792eb33 100644 --- a/packages/api/src/services/save_email.ts +++ b/packages/api/src/services/save_email.ts @@ -15,7 +15,7 @@ import { parsePreparedContent, parseUrlMetadata, } from '../utils/parser' -import { createAndSaveLabelsInLibraryItem } from './labels' +import { createAndAddLabelsToLibraryItem } from './labels' import { createOrUpdateLibraryItem, findLibraryItemByUrl, @@ -79,6 +79,8 @@ export const saveEmail = async ( return updatedLibraryItem } + const labels = [{ name: 'Newsletter' }] + // start a transaction to create the library item and update the received email const newLibraryItem = await createOrUpdateLibraryItem( { @@ -105,6 +107,7 @@ export const saveEmail = async ( wordCount: wordsCount(content), subscription: input.author, folder: input.folder, + labelNames: labels.map((label) => label.name), }, input.userId ) @@ -120,11 +123,11 @@ export const saveEmail = async ( }) } - // save newsletter label in the item - await createAndSaveLabelsInLibraryItem( + // add newsletter label to the item + await createAndAddLabelsToLibraryItem( newLibraryItem.id, input.userId, - [{ name: 'Newsletter' }], + labels, undefined, 'system' )