F1Manager-Calc/pages/api/report.js

37 lines
1.0 KiB
JavaScript
Raw Normal View History

2023-04-11 18:06:01 +02:00
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
2023-04-18 07:40:11 +02:00
import {databasePromise} from "../../libs/cloud/mongodb";
2023-04-11 18:06:01 +02:00
export default async (req, res) => {
let db = await databasePromise;
let objectDate = new Date();
let month = objectDate.getMonth();
let year = objectDate.getFullYear();
if (month < 10) {
month = `0${month}`;
}
const { uid, track, value, feedback, index } = req.body;
if (feedback === "optimal" && value >= 0.00 && value <= 1.00) {
await db.collection('reports').updateOne(
{ track },
2023-04-11 18:17:11 +02:00
{
$inc: { [`feedback_cnt_${index}`]: 1 },
$push: { [`params_${index}`]: value },
},
2023-04-11 18:06:01 +02:00
{ upsert: true },
);
await db.collection(`reports_${year}${month}`).updateOne(
{ track },
2023-04-11 18:14:44 +02:00
{
2023-04-11 18:17:11 +02:00
$inc: { [`feedback_cnt_${index}`]: 1 },
2023-04-11 18:14:44 +02:00
$push: {
[`params_${index}`]: value,
[`feedbacks_${index}`]: { uid, track, value, feedback, index }
}
},
2023-04-11 18:06:01 +02:00
{ upsert: true },
);
}
res.status(200).json({status: "ok"});
};