diff --git a/electron/main/ipc.ts b/electron/main/ipc.ts index 2df439a..0fb10a7 100644 --- a/electron/main/ipc.ts +++ b/electron/main/ipc.ts @@ -262,31 +262,21 @@ export function setupIpc(win: BrowserWindow): void { const q = questions[i] insert.run(q.questionTitle || '', q.maxScore ?? 100, q.referenceAnswer || '', q.rubric || '', i) } - rubricPayload = data }) ipcMain.handle('rubric:getData', () => { - function fromDb() { - const d = getDb() - const rows: any[] = d.prepare('SELECT * FROM rubric ORDER BY sort_order').all() - if (rows.length) { - return { - questions: rows.map(r => ({ - questionTitle: r.question_title, - maxScore: r.max_score, - referenceAnswer: r.reference_answer, - rubric: r.rubric - })), - currentIndex: 0 - } + const d = getDb() + const rows: any[] = d.prepare('SELECT * FROM rubric ORDER BY sort_order').all() + if (rows.length) { + return { + questions: rows.map(r => ({ + questionTitle: r.question_title, + maxScore: r.max_score, + referenceAnswer: r.reference_answer, + rubric: r.rubric + })), + currentIndex: 0 } - return null - } - if (rubricPayload && rubricPayload.questions?.length) return rubricPayload - const dbResult = fromDb() - if (dbResult) { - rubricPayload = dbResult - return dbResult } return null }) @@ -300,7 +290,6 @@ export function setupIpc(win: BrowserWindow): void { } const dialogPayloads: Record = {} -let rubricPayload: any = null let gradingPayload: any = null async function callAiApi(imageBase64: string, rubric: string, config: { apiKey: string; baseUrl: string; model: string }, extras?: { maxScore?: number; referenceAnswer?: string; questionTitle?: string }): Promise<{