aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/server/repositories/note.ts
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-12-31 20:34:27 +0900
committernsfisis <nsfisis@gmail.com>2025-12-31 20:34:27 +0900
commite3a84df9fcae8f25c8ea1d527638c2bfaafb942e (patch)
tree605f909c78e8b4510b7110d57749c1c0fe566360 /src/server/repositories/note.ts
parentb69fd1353c449baa3262016c2bb8f653932bd932 (diff)
downloadkioku-e3a84df9fcae8f25c8ea1d527638c2bfaafb942e.tar.gz
kioku-e3a84df9fcae8f25c8ea1d527638c2bfaafb942e.tar.zst
kioku-e3a84df9fcae8f25c8ea1d527638c2bfaafb942e.zip
feat(db): add ORDER BY to repository SELECT queries
Ensures deterministic ordering for all multi-row SELECT queries: - deck/note/noteType findByUserId/findByDeckId: order by createdAt - card findByNoteId: order by isReversed (normal card first) - note field values: order by noteFieldTypeId - sync pull queries: order by id This guarantees consistent UI display and sync results regardless of PostgreSQL's internal row ordering. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/server/repositories/note.ts')
-rw-r--r--src/server/repositories/note.ts9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/repositories/note.ts b/src/server/repositories/note.ts
index 52cbf9b..eb1aa28 100644
--- a/src/server/repositories/note.ts
+++ b/src/server/repositories/note.ts
@@ -22,7 +22,8 @@ export const noteRepository: NoteRepository = {
const result = await db
.select()
.from(notes)
- .where(and(eq(notes.deckId, deckId), isNull(notes.deletedAt)));
+ .where(and(eq(notes.deckId, deckId), isNull(notes.deletedAt)))
+ .orderBy(notes.createdAt);
return result;
},
@@ -52,7 +53,8 @@ export const noteRepository: NoteRepository = {
const fieldValuesResult = await db
.select()
.from(noteFieldValues)
- .where(eq(noteFieldValues.noteId, id));
+ .where(eq(noteFieldValues.noteId, id))
+ .orderBy(noteFieldValues.noteFieldTypeId);
return {
...note,
@@ -219,7 +221,8 @@ export const noteRepository: NoteRepository = {
const allFieldValues = await db
.select()
.from(noteFieldValues)
- .where(eq(noteFieldValues.noteId, id));
+ .where(eq(noteFieldValues.noteId, id))
+ .orderBy(noteFieldValues.noteFieldTypeId);
return {
...updatedNote,