diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-25 23:02:35 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-25 23:02:35 +0900 |
| commit | 38b8fc0e9927c4146b4c8b309b2bcc644abd63d0 (patch) | |
| tree | f76ba23251645e552fccd201362064b06de50bdd /src/server/routes | |
| parent | 7a77e72bb49ed3990a0c4581292a37a8a4f35231 (diff) | |
| download | kioku-38b8fc0e9927c4146b4c8b309b2bcc644abd63d0.tar.gz kioku-38b8fc0e9927c4146b4c8b309b2bcc644abd63d0.tar.zst kioku-38b8fc0e9927c4146b4c8b309b2bcc644abd63d0.zip | |
Allow each deck to specify a default note type that is auto-selected
when creating new notes. Includes DB schema migration, server API
updates, sync layer support, and UI for editing the default in the
deck settings modal.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/server/routes')
| -rw-r--r-- | src/server/routes/cards.test.ts | 1 | ||||
| -rw-r--r-- | src/server/routes/decks.test.ts | 1 | ||||
| -rw-r--r-- | src/server/routes/decks.ts | 1 | ||||
| -rw-r--r-- | src/server/routes/notes.test.ts | 1 | ||||
| -rw-r--r-- | src/server/routes/study.test.ts | 1 | ||||
| -rw-r--r-- | src/server/routes/sync.test.ts | 8 | ||||
| -rw-r--r-- | src/server/routes/sync.ts | 1 |
7 files changed, 14 insertions, 0 deletions
diff --git a/src/server/routes/cards.test.ts b/src/server/routes/cards.test.ts index 57df729..2032b0a 100644 --- a/src/server/routes/cards.test.ts +++ b/src/server/routes/cards.test.ts @@ -65,6 +65,7 @@ function createMockDeck(overrides: Partial<Deck> = {}): Deck { userId: "user-uuid-123", name: "Test Deck", description: "Test description", + defaultNoteTypeId: null, createdAt: new Date("2024-01-01"), updatedAt: new Date("2024-01-01"), deletedAt: null, diff --git a/src/server/routes/decks.test.ts b/src/server/routes/decks.test.ts index 009c8a5..c92cd99 100644 --- a/src/server/routes/decks.test.ts +++ b/src/server/routes/decks.test.ts @@ -60,6 +60,7 @@ function createMockDeck(overrides: Partial<Deck> = {}): Deck { userId: "user-uuid-123", name: "Test Deck", description: "Test description", + defaultNoteTypeId: null, createdAt: new Date("2024-01-01"), updatedAt: new Date("2024-01-01"), deletedAt: null, diff --git a/src/server/routes/decks.ts b/src/server/routes/decks.ts index 069b933..06b4eb7 100644 --- a/src/server/routes/decks.ts +++ b/src/server/routes/decks.ts @@ -56,6 +56,7 @@ export function createDecksRouter(deps: DeckDependencies) { userId: user.id, name: data.name, description: data.description, + defaultNoteTypeId: data.defaultNoteTypeId, }); return c.json({ deck }, 201); diff --git a/src/server/routes/notes.test.ts b/src/server/routes/notes.test.ts index 116a57f..d7cba49 100644 --- a/src/server/routes/notes.test.ts +++ b/src/server/routes/notes.test.ts @@ -57,6 +57,7 @@ function createMockDeck(overrides: Partial<Deck> = {}): Deck { userId: "user-uuid-123", name: "Test Deck", description: "Test description", + defaultNoteTypeId: null, createdAt: new Date("2024-01-01"), updatedAt: new Date("2024-01-01"), deletedAt: null, diff --git a/src/server/routes/study.test.ts b/src/server/routes/study.test.ts index 0f2fbe7..65702ff 100644 --- a/src/server/routes/study.test.ts +++ b/src/server/routes/study.test.ts @@ -71,6 +71,7 @@ function createMockDeck(overrides: Partial<Deck> = {}): Deck { userId: "user-uuid-123", name: "Test Deck", description: "Test description", + defaultNoteTypeId: null, createdAt: new Date("2024-01-01"), updatedAt: new Date("2024-01-01"), deletedAt: null, diff --git a/src/server/routes/sync.test.ts b/src/server/routes/sync.test.ts index 4c0d8d8..7458475 100644 --- a/src/server/routes/sync.test.ts +++ b/src/server/routes/sync.test.ts @@ -143,6 +143,7 @@ describe("POST /api/sync/push", () => { id: "550e8400-e29b-41d4-a716-446655440000", name: "Test Deck", description: "A test deck", + defaultNoteTypeId: null, createdAt: "2024-01-01T00:00:00.000Z", updatedAt: "2024-01-02T00:00:00.000Z", deletedAt: null, @@ -301,6 +302,7 @@ describe("POST /api/sync/push", () => { id: "550e8400-e29b-41d4-a716-446655440003", name: "Test Deck", description: null, + defaultNoteTypeId: null, createdAt: "2024-01-01T00:00:00.000Z", updatedAt: "2024-01-02T00:00:00.000Z", deletedAt: null, @@ -429,6 +431,7 @@ describe("POST /api/sync/push", () => { id: "550e8400-e29b-41d4-a716-446655440004", name: "Test Deck", description: null, + defaultNoteTypeId: null, createdAt: "2024-01-01T00:00:00.000Z", updatedAt: "2024-01-01T00:00:00.000Z", deletedAt: null, @@ -630,6 +633,7 @@ describe("POST /api/sync/push", () => { id: "550e8400-e29b-41d4-a716-446655440007", name: "Deleted Deck", description: null, + defaultNoteTypeId: null, createdAt: "2024-01-01T00:00:00.000Z", updatedAt: "2024-01-02T00:00:00.000Z", deletedAt: "2024-01-02T00:00:00.000Z", @@ -825,6 +829,7 @@ describe("GET /api/sync/pull", () => { userId, name: "Test Deck", description: null, + defaultNoteTypeId: null, createdAt: new Date("2024-01-01T00:00:00.000Z"), updatedAt: new Date("2024-01-02T00:00:00.000Z"), deletedAt: null, @@ -900,6 +905,7 @@ describe("GET /api/sync/pull", () => { userId, name: "Test Deck", description: "A test description", + defaultNoteTypeId: null, createdAt: new Date("2024-01-01T00:00:00.000Z"), updatedAt: new Date("2024-01-02T00:00:00.000Z"), deletedAt: null, @@ -1034,6 +1040,7 @@ describe("GET /api/sync/pull", () => { userId, name: "Test Deck", description: null, + defaultNoteTypeId: null, createdAt: new Date("2024-01-01T00:00:00.000Z"), updatedAt: new Date("2024-01-01T00:00:00.000Z"), deletedAt: null, @@ -1207,6 +1214,7 @@ describe("GET /api/sync/pull", () => { userId, name: "Deleted Deck", description: null, + defaultNoteTypeId: null, createdAt: new Date("2024-01-01T00:00:00.000Z"), updatedAt: new Date("2024-01-02T00:00:00.000Z"), deletedAt: new Date("2024-01-02T00:00:00.000Z"), diff --git a/src/server/routes/sync.ts b/src/server/routes/sync.ts index a9ea3b3..0c74c22 100644 --- a/src/server/routes/sync.ts +++ b/src/server/routes/sync.ts @@ -18,6 +18,7 @@ const syncDeckSchema = z.object({ id: z.uuid(), name: z.string().min(1).max(255), description: z.string().nullable(), + defaultNoteTypeId: z.uuid().nullable(), createdAt: z.string().datetime(), updatedAt: z.string().datetime(), deletedAt: z.string().datetime().nullable(), |
