aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/server/repositories/card.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/repositories/card.ts')
-rw-r--r--src/server/repositories/card.ts56
1 files changed, 15 insertions, 41 deletions
diff --git a/src/server/repositories/card.ts b/src/server/repositories/card.ts
index 7116642..4c4fc81 100644
--- a/src/server/repositories/card.ts
+++ b/src/server/repositories/card.ts
@@ -47,20 +47,15 @@ export const cardRepository: CardRepository = {
return undefined;
}
- if (!card.noteId) {
- return {
- ...card,
- note: null,
- fieldValues: [],
- };
- }
-
const noteResult = await db
.select()
.from(notes)
.where(and(eq(notes.id, card.noteId), isNull(notes.deletedAt)));
- const note = noteResult[0] ?? null;
+ const note = noteResult[0];
+ if (!note) {
+ return undefined;
+ }
const fieldValuesResult = await db
.select()
@@ -85,6 +80,8 @@ export const cardRepository: CardRepository = {
async create(
deckId: string,
data: {
+ noteId: string;
+ isReversed: boolean;
front: string;
back: string;
},
@@ -93,6 +90,8 @@ export const cardRepository: CardRepository = {
.insert(cards)
.values({
deckId,
+ noteId: data.noteId,
+ isReversed: data.isReversed,
front: data.front,
back: data.back,
state: CardState.New,
@@ -200,21 +199,16 @@ export const cardRepository: CardRepository = {
const cardsWithNoteData: CardWithNoteData[] = [];
for (const card of dueCards) {
- if (!card.noteId) {
- cardsWithNoteData.push({
- ...card,
- note: null,
- fieldValues: [],
- });
- continue;
- }
-
const noteResult = await db
.select()
.from(notes)
.where(and(eq(notes.id, card.noteId), isNull(notes.deletedAt)));
- const note = noteResult[0] ?? null;
+ const note = noteResult[0];
+ if (!note) {
+ // Note was deleted, skip this card
+ continue;
+ }
const fieldValuesResult = await db
.select()
@@ -241,16 +235,6 @@ export const cardRepository: CardRepository = {
const cardsForStudy: CardForStudy[] = [];
for (const card of dueCards) {
- // Legacy card (no note association)
- if (!card.noteId) {
- cardsForStudy.push({
- ...card,
- noteType: null,
- fieldValuesMap: {},
- });
- continue;
- }
-
// Fetch note to get noteTypeId
const noteResult = await db
.select()
@@ -259,12 +243,7 @@ export const cardRepository: CardRepository = {
const note = noteResult[0];
if (!note) {
- // Note was deleted, treat as legacy card
- cardsForStudy.push({
- ...card,
- noteType: null,
- fieldValuesMap: {},
- });
+ // Note was deleted, skip this card
continue;
}
@@ -281,12 +260,7 @@ export const cardRepository: CardRepository = {
const noteType = noteTypeResult[0];
if (!noteType) {
- // Note type was deleted, treat as legacy card
- cardsForStudy.push({
- ...card,
- noteType: null,
- fieldValuesMap: {},
- });
+ // Note type was deleted, skip this card
continue;
}