From ed93dd099f43dd6746276a72953485de91b49c8c Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 31 Dec 2025 02:15:17 +0900 Subject: feat(sync): add sync support for note-related entities MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extend the sync system to handle NoteType, NoteFieldType, Note, and NoteFieldValue entities. This includes: - Server sync repository and routes for push/pull of new entities - Client sync queue, push, pull, and conflict resolution for notes - Update Card sync to include noteId and isReversed fields - Add comprehensive tests for all sync functionality 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/client/sync/queue.test.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/client/sync/queue.test.ts') diff --git a/src/client/sync/queue.test.ts b/src/client/sync/queue.test.ts index b62ece2..2038e0d 100644 --- a/src/client/sync/queue.test.ts +++ b/src/client/sync/queue.test.ts @@ -303,6 +303,10 @@ describe("SyncQueue", () => { decks: [{ id: deck.id, syncVersion: 5 }], cards: [], reviewLogs: [], + noteTypes: [], + noteFieldTypes: [], + notes: [], + noteFieldValues: [], }); const found = await localDeckRepository.findById(deck.id); @@ -327,6 +331,10 @@ describe("SyncQueue", () => { decks: [], cards: [{ id: card.id, syncVersion: 3 }], reviewLogs: [], + noteTypes: [], + noteFieldTypes: [], + notes: [], + noteFieldValues: [], }); const found = await localCardRepository.findById(card.id); @@ -361,6 +369,10 @@ describe("SyncQueue", () => { decks: [], cards: [], reviewLogs: [{ id: reviewLog.id, syncVersion: 2 }], + noteTypes: [], + noteFieldTypes: [], + notes: [], + noteFieldValues: [], }); const found = await localReviewLogRepository.findById(reviewLog.id); @@ -376,6 +388,10 @@ describe("SyncQueue", () => { decks: [], cards: [], reviewLogs: [], + noteTypes: [], + noteFieldTypes: [], + notes: [], + noteFieldValues: [], }); expect(listener).toHaveBeenCalled(); @@ -401,6 +417,10 @@ describe("SyncQueue", () => { decks: [serverDeck], cards: [], reviewLogs: [], + noteTypes: [], + noteFieldTypes: [], + notes: [], + noteFieldValues: [], }); const found = await localDeckRepository.findById("server-deck-1"); @@ -444,6 +464,10 @@ describe("SyncQueue", () => { decks: [], cards: [serverCard], reviewLogs: [], + noteTypes: [], + noteFieldTypes: [], + notes: [], + noteFieldValues: [], }); const found = await localCardRepository.findById("server-card-1"); @@ -482,6 +506,10 @@ describe("SyncQueue", () => { decks: [], cards: [], reviewLogs: [serverLog], + noteTypes: [], + noteFieldTypes: [], + notes: [], + noteFieldValues: [], }); const found = await localReviewLogRepository.findById("server-log-1"); @@ -497,6 +525,10 @@ describe("SyncQueue", () => { decks: [], cards: [], reviewLogs: [], + noteTypes: [], + noteFieldTypes: [], + notes: [], + noteFieldValues: [], }); expect(listener).toHaveBeenCalled(); -- cgit v1.2.3-70-g09d2