diff --git a/src/pages/(exam)/ExamPage.tsx b/src/pages/(exam)/ExamPage.tsx index 34359ae3..fa6b9f5e 100644 --- a/src/pages/(exam)/ExamPage.tsx +++ b/src/pages/(exam)/ExamPage.tsx @@ -286,10 +286,10 @@ export default function ExamPage({page}: Props) { const responses: UserSolution[] = ( await Promise.all( - exam.exercises.map(async (exercise) => { + exam.exercises.map(async (exercise, index) => { const evaluationID = uuidv4(); if (exercise.type === "writing") - return await evaluateWritingAnswer(exercise, solutions.find((x) => x.exercise === exercise.id)!, evaluationID); + return await evaluateWritingAnswer(exercise, index + 1, solutions.find((x) => x.exercise === exercise.id)!, evaluationID); if (exercise.type === "interactiveSpeaking" || exercise.type === "speaking") return await evaluateSpeakingAnswer(exercise, solutions.find((x) => x.exercise === exercise.id)!, evaluationID); diff --git a/src/pages/api/evaluate/writing.ts b/src/pages/api/evaluate/writing.ts index 30ef34ec..7f60eb06 100644 --- a/src/pages/api/evaluate/writing.ts +++ b/src/pages/api/evaluate/writing.ts @@ -11,6 +11,7 @@ import {writingReverseMarking} from "@/utils/score"; interface Body { question: string; answer: string; + task: 1 | 2; id: string; } @@ -62,7 +63,7 @@ async function getCorrespondingStat(id: string, index: number): Promise { } async function evaluate(body: Body): Promise { - const backendRequest = await axios.post(`${process.env.BACKEND_URL}/writing_task2`, body as Body, { + const backendRequest = await axios.post(`${process.env.BACKEND_URL}/writing_task${body.task.toString() || "1"}`, body as Body, { headers: { Authorization: `Bearer ${process.env.BACKEND_JWT}`, }, diff --git a/src/utils/evaluation.ts b/src/utils/evaluation.ts index f9a8abc4..cbcc9fae 100644 --- a/src/utils/evaluation.ts +++ b/src/utils/evaluation.ts @@ -11,10 +11,16 @@ import { import axios from "axios"; import {speakingReverseMarking, writingReverseMarking} from "./score"; -export const evaluateWritingAnswer = async (exercise: WritingExercise, solution: UserSolution, id: string): Promise => { +export const evaluateWritingAnswer = async ( + exercise: WritingExercise, + task: number, + solution: UserSolution, + id: string, +): Promise => { const response = await axios.post("/api/evaluate/writing", { question: `${exercise.prompt} ${exercise.attachment ? exercise.attachment.description : ""}`.replaceAll("\n", ""), answer: solution.solutions[0].solution.trim().replaceAll("\n", " "), + task, id, });