aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/client/sync/crdt
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/sync/crdt')
-rw-r--r--src/client/sync/crdt/concurrent-edits.test.ts1
-rw-r--r--src/client/sync/crdt/document-manager.test.ts9
-rw-r--r--src/client/sync/crdt/document-manager.ts3
-rw-r--r--src/client/sync/crdt/migration.test.ts1
-rw-r--r--src/client/sync/crdt/repositories.test.ts6
-rw-r--r--src/client/sync/crdt/types.test.ts2
-rw-r--r--src/client/sync/crdt/types.ts1
7 files changed, 23 insertions, 0 deletions
diff --git a/src/client/sync/crdt/concurrent-edits.test.ts b/src/client/sync/crdt/concurrent-edits.test.ts
index d55b233..e9d7b58 100644
--- a/src/client/sync/crdt/concurrent-edits.test.ts
+++ b/src/client/sync/crdt/concurrent-edits.test.ts
@@ -34,6 +34,7 @@ function createTestDeck(overrides: Partial<LocalDeck> = {}): LocalDeck {
userId: "user-1",
name: "Test Deck",
description: null,
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: now,
deletedAt: null,
diff --git a/src/client/sync/crdt/document-manager.test.ts b/src/client/sync/crdt/document-manager.test.ts
index b578c77..2da92a1 100644
--- a/src/client/sync/crdt/document-manager.test.ts
+++ b/src/client/sync/crdt/document-manager.test.ts
@@ -51,6 +51,7 @@ describe("createDocument", () => {
userId: "user-1",
name: "My Deck",
description: null,
+ defaultNoteTypeId: null,
createdAt: Date.now(),
deletedAt: null,
},
@@ -153,6 +154,7 @@ describe("saveDocument and loadDocument", () => {
userId: "user-1",
name: "Test Deck",
description: "A test deck",
+ defaultNoteTypeId: null,
createdAt: 1234567890,
deletedAt: null,
},
@@ -222,6 +224,7 @@ describe("deckToCrdtDocument and crdtDocumentToDeck", () => {
userId: "user-1",
name: "My Deck",
description: "A deck for testing",
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: now,
deletedAt: null,
@@ -246,6 +249,7 @@ describe("deckToCrdtDocument and crdtDocumentToDeck", () => {
userId: "user-1",
name: "Deleted Deck",
description: null,
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: deletedAt,
deletedAt: deletedAt,
@@ -271,6 +275,7 @@ describe("deckToCrdtDocument and crdtDocumentToDeck", () => {
userId: "user-2",
name: "Converted Deck",
description: "Converted from CRDT",
+ defaultNoteTypeId: null,
createdAt: now - 10000,
deletedAt: null,
},
@@ -456,6 +461,7 @@ describe("createDocumentFromEntity", () => {
userId: "user-1",
name: "Test",
description: null,
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: now,
deletedAt: null,
@@ -536,6 +542,7 @@ describe("getLastModified", () => {
userId: "user-1",
name: "Test",
description: null,
+ defaultNoteTypeId: null,
createdAt: timestamp,
deletedAt: null,
},
@@ -558,6 +565,7 @@ describe("isDeleted", () => {
userId: "user-1",
name: "Test",
description: null,
+ defaultNoteTypeId: null,
createdAt: Date.now(),
deletedAt: null,
},
@@ -578,6 +586,7 @@ describe("isDeleted", () => {
userId: "user-1",
name: "Test",
description: null,
+ defaultNoteTypeId: null,
createdAt: Date.now(),
deletedAt: Date.now(),
},
diff --git a/src/client/sync/crdt/document-manager.ts b/src/client/sync/crdt/document-manager.ts
index b753d88..ab121ec 100644
--- a/src/client/sync/crdt/document-manager.ts
+++ b/src/client/sync/crdt/document-manager.ts
@@ -187,6 +187,7 @@ function getEmptyDocumentData(
userId: "",
name: "",
description: null,
+ defaultNoteTypeId: null,
createdAt: 0,
deletedAt: null,
},
@@ -300,6 +301,7 @@ export function deckToCrdtDocument(deck: LocalDeck): CrdtDeckDocument {
userId: deck.userId,
name: deck.name,
description: deck.description,
+ defaultNoteTypeId: deck.defaultNoteTypeId,
createdAt: deck.createdAt.getTime(),
deletedAt: deck.deletedAt?.getTime() ?? null,
},
@@ -317,6 +319,7 @@ export function crdtDocumentToDeck(
userId: doc.data.userId,
name: doc.data.name,
description: doc.data.description,
+ defaultNoteTypeId: doc.data.defaultNoteTypeId ?? null,
createdAt: new Date(doc.data.createdAt),
updatedAt: new Date(doc.meta.lastModified),
deletedAt: doc.data.deletedAt ? new Date(doc.data.deletedAt) : null,
diff --git a/src/client/sync/crdt/migration.test.ts b/src/client/sync/crdt/migration.test.ts
index ba90be2..531e8fe 100644
--- a/src/client/sync/crdt/migration.test.ts
+++ b/src/client/sync/crdt/migration.test.ts
@@ -109,6 +109,7 @@ describe("migration", () => {
userId: "user-1",
name: "Test Deck",
description: null,
+ defaultNoteTypeId: null,
createdAt: new Date(),
updatedAt: new Date(),
deletedAt: null,
diff --git a/src/client/sync/crdt/repositories.test.ts b/src/client/sync/crdt/repositories.test.ts
index f7b75b3..c400b22 100644
--- a/src/client/sync/crdt/repositories.test.ts
+++ b/src/client/sync/crdt/repositories.test.ts
@@ -35,6 +35,7 @@ describe("crdtDeckRepository", () => {
userId: "user-1",
name: "Test Deck",
description: "A test deck",
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: now,
deletedAt: null,
@@ -378,6 +379,7 @@ describe("entitiesToCrdtDocuments", () => {
userId: "user-1",
name: "Deck 1",
description: null,
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: now,
deletedAt: null,
@@ -389,6 +391,7 @@ describe("entitiesToCrdtDocuments", () => {
userId: "user-1",
name: "Deck 2",
description: "Second deck",
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: now,
deletedAt: null,
@@ -415,6 +418,7 @@ describe("mergeAndConvert", () => {
userId: "user-1",
name: "Remote Deck",
description: null,
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: now,
deletedAt: null,
@@ -436,6 +440,7 @@ describe("mergeAndConvert", () => {
userId: "user-1",
name: "Original",
description: null,
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: now,
deletedAt: null,
@@ -476,6 +481,7 @@ describe("mergeAndConvert", () => {
userId: "user-1",
name: "Same",
description: null,
+ defaultNoteTypeId: null,
createdAt: now,
updatedAt: now,
deletedAt: null,
diff --git a/src/client/sync/crdt/types.test.ts b/src/client/sync/crdt/types.test.ts
index 07ae0f2..7a501b2 100644
--- a/src/client/sync/crdt/types.test.ts
+++ b/src/client/sync/crdt/types.test.ts
@@ -149,6 +149,7 @@ describe("CRDT Document type structures", () => {
userId: "user-1",
name: "My Deck",
description: "A test deck",
+ defaultNoteTypeId: null,
createdAt: now,
deletedAt: null,
},
@@ -303,6 +304,7 @@ describe("CRDT Document type structures", () => {
userId: "user-1",
name: "Deleted Deck",
description: null,
+ defaultNoteTypeId: null,
createdAt: now - 86400000,
deletedAt: now,
},
diff --git a/src/client/sync/crdt/types.ts b/src/client/sync/crdt/types.ts
index e2f5d4c..434f3b0 100644
--- a/src/client/sync/crdt/types.ts
+++ b/src/client/sync/crdt/types.ts
@@ -36,6 +36,7 @@ export interface CrdtDeckDocument {
userId: string;
name: string;
description: string | null;
+ defaultNoteTypeId: string | null;
createdAt: number; // Unix timestamp in ms
deletedAt: number | null;
};