fix
This commit is contained in:
parent
cc2dc0aa74
commit
873ff3d5ae
|
@ -8,15 +8,11 @@ interface IBody {
|
|||
|
||||
export async function POST(req: Request){
|
||||
const body = await req.json() as IBody
|
||||
await prisma.grade.findFirst({where: {key: body.key}}).then(async (grade) => {
|
||||
if (grade) {
|
||||
await prisma.grade.create({data: {test: 1, grade: body.grade, key: body.key}})
|
||||
return NextResponse.json({message: 'Grade updated', cookie: 'voted=true'}, {status: 200})
|
||||
} else {
|
||||
return NextResponse.json(
|
||||
JSON.stringify({message: 'Key not found'}), {status: 404}
|
||||
)
|
||||
}
|
||||
});
|
||||
const grade = await prisma.grade.findFirst({ select: { id: true}, where: { oral: 1, key: { key: body.key } } });
|
||||
if(grade) return NextResponse.json({message: 'Deja vote'}, {status: 403});
|
||||
|
||||
const gradeCreated = await prisma.grade.create({ data: { key: { connect: { key: body.key } }, grade: body.grade, oral: 1 } });
|
||||
if(gradeCreated) return NextResponse.json({message: 'Vote enregistré'}, {status: 200});
|
||||
|
||||
return NextResponse.json({message: 'Server error'}, {status: 500})
|
||||
}
|
||||
|
|
|
@ -3,11 +3,6 @@ import { Inter } from 'next/font/google';
|
|||
|
||||
const inter = Inter({ subsets: ['latin'] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Create Next App',
|
||||
description: 'Generated by create next app',
|
||||
};
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<html lang="en">
|
||||
|
|
|
@ -22,9 +22,6 @@ export default function play() {
|
|||
|
||||
const response = await fetch('/api/grade', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify({ grade, key: password }),
|
||||
});
|
||||
const data = await response.json();
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
"use server";
|
||||
import {
|
||||
Chart as ChartJS,
|
||||
CategoryScale,
|
||||
LinearScale,
|
||||
Tooltip,
|
||||
PointElement,
|
||||
LineElement,
|
||||
} from "chart.js";
|
||||
import { Line } from "react-chartjs-2";
|
||||
|
||||
// Register ChartJS components using ChartJS.register
|
||||
ChartJS.register(
|
||||
CategoryScale,
|
||||
LinearScale,
|
||||
PointElement,
|
||||
LineElement,
|
||||
Tooltip
|
||||
);
|
||||
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
function getGrades() {
|
||||
return prisma.grade.findMany()
|
||||
}
|
||||
|
||||
|
||||
const results = async () => {
|
||||
const grades = await getGrades()
|
||||
const gradesArray = grades.map(grade => grade.grade.toString())
|
||||
const allGrades = ["1", "1,5", "2", "2,5", "3", "3,5", "4", "4,5", "5", "5,5", "6"]
|
||||
const gradesCount = allGrades.map(grade => gradesArray.filter(g => g === grade).length)
|
||||
console.log(grades)
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Line
|
||||
data={{
|
||||
labels: allGrades,
|
||||
datasets: [
|
||||
{
|
||||
data: gradesCount,
|
||||
backgroundColor: "purple",
|
||||
},
|
||||
],
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
export default results;
|
|
@ -16,7 +16,7 @@ model Keys {
|
|||
|
||||
model Grade {
|
||||
id Int @id @default(autoincrement())
|
||||
test Int
|
||||
oral Int
|
||||
grade Float
|
||||
key Keys @relation(fields: [keyId], references: [id])
|
||||
keyId Int
|
||||
|
|
Loading…
Reference in New Issue