From 93cf2f9045e4af485a29690313b7d74b0f54cab6 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 13 Oct 2024 18:11:16 -0400 Subject: factor out latest_note logic into LatestNoteService --- packages/backend/src/models/LatestNote.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'packages/backend/src/models/LatestNote.ts') diff --git a/packages/backend/src/models/LatestNote.ts b/packages/backend/src/models/LatestNote.ts index d36a4d568a..ff8815bd42 100644 --- a/packages/backend/src/models/LatestNote.ts +++ b/packages/backend/src/models/LatestNote.ts @@ -82,4 +82,16 @@ export class SkLatestNote { isQuote: isRenote(note) && isQuote(note), }; } + + /** + * Checks if two notes would produce equivalent compound keys. + */ + static areEquivalent(first: MiNote, second: MiNote): boolean { + return ( + first.userId === second.userId && + first.visibility === second.visibility && + (first.replyId != null) === (second.replyId != null) && + (isRenote(first) && isQuote(first)) === (isRenote(second) && isQuote(second)) + ); + } } -- cgit v1.2.3-freya