blob: c8950d65b4416a0bdb7cc586ef99bd49984a0aee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import { db } from "../db/index.js";
import { reviewLogs } from "../db/schema.js";
import type { ReviewLog, ReviewLogRepository } from "./types.js";
export const reviewLogRepository: ReviewLogRepository = {
async create(data: {
cardId: string;
userId: string;
rating: number;
state: number;
scheduledDays: number;
elapsedDays: number;
durationMs?: number | null;
}): Promise<ReviewLog> {
const [reviewLog] = await db
.insert(reviewLogs)
.values({
cardId: data.cardId,
userId: data.userId,
rating: data.rating,
state: data.state,
scheduledDays: data.scheduledDays,
elapsedDays: data.elapsedDays,
durationMs: data.durationMs ?? null,
})
.returning();
if (!reviewLog) {
throw new Error("Failed to create review log");
}
return reviewLog;
},
};
|