From 4afbf3b91e058554f80768d198ab203e43c5ff6b Mon Sep 17 00:00:00 2001 From: dakkar Date: Thu, 22 Feb 2024 18:23:46 +0000 Subject: some fixes for note edits --- packages/backend/src/core/NoteReadService.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'packages/backend/src/core/NoteReadService.ts') diff --git a/packages/backend/src/core/NoteReadService.ts b/packages/backend/src/core/NoteReadService.ts index feef024602..45f9c454e9 100644 --- a/packages/backend/src/core/NoteReadService.ts +++ b/packages/backend/src/core/NoteReadService.ts @@ -66,7 +66,11 @@ export class NoteReadService implements OnApplicationShutdown { noteUserId: note.userId, }; - await this.noteUnreadsRepository.insert(unread); + /* we may be called from NoteEditService, for a note that's + already present in the `note_unread` table: `upsert` makes sure + we don't throw a "duplicate key" error, while still updating + the other columns if they've changed */ + await this.noteUnreadsRepository.upsert(unread,['userId', 'noteId']); // 2秒経っても既読にならなかったら「未読の投稿がありますよ」イベントを発行する setTimeout(2000, 'unread note', { signal: this.#shutdownController.signal }).then(async () => { -- cgit v1.2.3-freya