diff --git a/app/api/grade/route.ts b/app/api/grade/route.ts deleted file mode 100644 index f5f264d..0000000 --- a/app/api/grade/route.ts +++ /dev/null @@ -1,93 +0,0 @@ -import {NextRequest, NextResponse} from "next/server"; - -import prisma from "@/lib/prisma"; -interface IBody { - key: string - grade: number - testId: number -} - -export async function POST(req: Request){ - const body: IBody = await req.json(); - - const test = await prisma.test.findFirst({ - select: { - id: true, - testOn: true, - testOf: { - select: { - id: true, - firstName: true, - lastName: true, - isTeacher: true - } - }, - grades: { - select: { - note: true, - grade: true, - createdAt: true, - }, - where: { - user: { - key: body.key - } - } - } - }, - where: { - id: body.testId - } - }); - - if(!test){ - return NextResponse.json({error: "Test not found"}, {status: 404}); - } - - if(test.grades.length > 0){ - return NextResponse.json({error: "You have already voted"}, {status: 403}); - } - - const grade = await prisma.grade.create({ - data: { - note: "", - grade: body.grade, - user: { - connect: { - key: body.key - } - }, - test: { - connect: { - id: test.id - } - } - } - }); - - return NextResponse.json({ - id: test.id, - testOn: test.testOn, - testOf: { - firstName: test.testOf.firstName, - lastName: test.testOf.lastName, - isTeacher: test.testOf.isTeacher - }, - vote: { - hasVoted: test.grades?.length > 0, - grade: grade.grade, - note: grade.note, - createdAt: grade.createdAt - } - }); -} - -export async function GET(req: NextRequest){ - const key = req.nextUrl.searchParams.get("key"); - - if(!key) return NextResponse.json({error: "No key provided"}, {status: 400}); - - const grades = await prisma.grade.findMany({}) - - return NextResponse.json(grades, {status: 200}); -} diff --git a/app/api/me/route.ts b/app/api/me/route.ts deleted file mode 100644 index ef79a32..0000000 --- a/app/api/me/route.ts +++ /dev/null @@ -1,36 +0,0 @@ -import {NextRequest, NextResponse} from "next/server"; -import prisma from "@/lib/prisma"; - -export async function GET(req: NextRequest){ - const key = req.nextUrl.searchParams.get("key"); - - if(!key) return NextResponse.json({error: "No key provided"}, {status: 400}); - - const user = await prisma.users.findUnique({ - select: { - id: true, - firstName: true, - lastName: true, - isTeacher: true, - test: { - select: { - testOn: true - } - } - }, - where: { - key - } - }); - - if(!user) return NextResponse.json({error: "Key not found"}, {status: 404}); - - return NextResponse.json({ - id: user.id, - firstName: user.firstName, - lastName: user.lastName, - isTeacher: user.isTeacher, - testOn: user.test?.testOn - }); - -} diff --git a/app/api/test/route.ts b/app/api/test/route.ts deleted file mode 100644 index 2a8d7fe..0000000 --- a/app/api/test/route.ts +++ /dev/null @@ -1,59 +0,0 @@ -import {NextRequest, NextResponse} from "next/server"; -import prisma from "@/lib/prisma"; - -export async function GET(req: NextRequest){ - const date = req.nextUrl.searchParams.get("date"); - const key = req.nextUrl.searchParams.get("key"); - - const usableDate = new Date(date || new Date()); - - const test = await prisma.test.findFirst({ - select: { - id: true, - testOn: true, - testOf: { - select: { - id: true, - firstName: true, - lastName: true, - isTeacher: true - } - }, - grades: { - select: { - note: true, - grade: true, - createdAt: true, - }, - where: { - user: { - key: key || "" - } - } - } - }, - where: { - testOn: new Date(usableDate.getFullYear() + "-" + (usableDate.getMonth() + 1) + "-" + (usableDate.getDate().toString().length === 1 ? "0" + usableDate.getDate() : usableDate.getDate())) - } - }); - - if(!test){ - return NextResponse.json({error: "Test not found"}, {status: 404}); - } - - return NextResponse.json({ - id: test.id, - testOn: test.testOn, - testOf: { - firstName: test.testOf.firstName, - lastName: test.testOf.lastName, - isTeacher: test.testOf.isTeacher - }, - vote: { - hasVoted: test.grades?.length > 0, - grade: test.grades[0]?.grade, - note: test.grades[0]?.note, - createdAt: test.grades[0]?.createdAt - } - }); -}