Updated the evaluation to work recursively when failing

This commit is contained in:
Tiago Ribeiro
2024-01-03 15:32:51 +00:00
parent 35d1157b0c
commit 026730c077
4 changed files with 26 additions and 16 deletions

View File

@@ -3,7 +3,7 @@ import type {NextApiRequest, NextApiResponse} from "next";
import {getFirestore, doc, getDoc} from "firebase/firestore";
import {withIronSessionApiRoute} from "iron-session/next";
import {sessionOptions} from "@/lib/session";
import axios from "axios";
import axios, {AxiosResponse} from "axios";
interface Body {
question: string;
@@ -18,11 +18,18 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
return;
}
const backendRequest = await axios.post(`${process.env.BACKEND_URL}/writing_task2`, req.body as Body, {
const backendRequest = await evaluate(req.body as Body);
res.status(backendRequest.status).json(backendRequest.data);
}
async function evaluate(body: Body): Promise<AxiosResponse> {
const backendRequest = await axios.post(`${process.env.BACKEND_URL}/writing_task2`, body as Body, {
headers: {
Authorization: `Bearer ${process.env.BACKEND_JWT}`,
},
});
res.status(backendRequest.status).json(backendRequest.data);
if (typeof backendRequest.data === "string") return evaluate(body);
return backendRequest;
}