From 07c9074d1536dbf1cb899125d017897d33ca4661 Mon Sep 17 00:00:00 2001 From: Carlos Mesquita Date: Mon, 23 Sep 2024 01:09:34 +0100 Subject: [PATCH] More bugs, some updates where not using set --- src/pages/api/evaluate/writing.ts | 42 ++++++++++++++++--------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/pages/api/evaluate/writing.ts b/src/pages/api/evaluate/writing.ts index af1850d8..1645e8a1 100644 --- a/src/pages/api/evaluate/writing.ts +++ b/src/pages/api/evaluate/writing.ts @@ -1,11 +1,11 @@ // Next.js API route support: https://nextjs.org/docs/api-routes/introduction -import type {NextApiRequest, NextApiResponse} from "next"; +import type { NextApiRequest, NextApiResponse } from "next"; import client from "@/lib/mongodb"; -import {withIronSessionApiRoute} from "iron-session/next"; -import {sessionOptions} from "@/lib/session"; -import axios, {AxiosResponse} from "axios"; -import {Stat} from "@/interfaces/user"; -import {writingReverseMarking} from "@/utils/score"; +import { withIronSessionApiRoute } from "iron-session/next"; +import { sessionOptions } from "@/lib/session"; +import axios, { AxiosResponse } from "axios"; +import { Stat } from "@/interfaces/user"; +import { writingReverseMarking } from "@/utils/score"; interface Body { question: string; @@ -24,7 +24,7 @@ export default withIronSessionApiRoute(handler, sessionOptions); async function handler(req: NextApiRequest, res: NextApiResponse) { if (!req.session.user) { - res.status(401).json({ok: false}); + res.status(401).json({ ok: false }); return; } @@ -36,27 +36,29 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { const correspondingStat = await getCorrespondingStat(req.body.id, 1); - const solutions = correspondingStat.solutions.map((x) => ({...x, evaluation: backendRequest.data})); + const solutions = correspondingStat.solutions.map((x) => ({ ...x, evaluation: backendRequest.data })); await db.collection("stats").updateOne( - { id: (req.body as Body).id}, - { - id: (req.body as Body).id, - solutions, - score: { - correct: writingReverseMarking[backendRequest.data.overall], - total: 100, - missing: 0, - }, - isDisabled: false, + { id: (req.body as Body).id }, + { + $set: { + id: (req.body as Body).id, + solutions, + score: { + correct: writingReverseMarking[backendRequest.data.overall], + total: 100, + missing: 0, + }, + isDisabled: false, + } }, - {upsert: true}, + { upsert: true }, ); console.log("🌱 - Updated the DB"); } async function getCorrespondingStat(id: string, index: number): Promise { console.log(`🌱 - Try number ${index} - ${id}`); - const correspondingStat = await db.collection("stats").findOne({ id: id}); + const correspondingStat = await db.collection("stats").findOne({ id: id }); if (correspondingStat) return correspondingStat;