import { NextResponse } from 'next/server'; import { getSession } from '@/lib/auth'; import { prisma } from '@/lib/prisma'; export async function GET(req: Request) { const session = await getSession(); if (!session) return NextResponse.json({ message: 'Unauthorized' }, { status: 401 }); const { searchParams } = new URL(req.url); const carId = searchParams.get('carId'); const fillUps = await prisma.fillUp.findMany({ where: { car: { id: carId || '', user: { email: session.user?.email! }, }, }, orderBy: { date: 'desc' }, }); return NextResponse.json(fillUps); } export async function POST(req: Request) { const session = await getSession(); if (!session) return NextResponse.json({ message: 'Unauthorized' }, { status: 401 }); const { carId, mileage, liters, cost, currency } = await req.json(); if (!carId || !mileage || !liters || !cost || !currency) { return NextResponse.json({ message: 'Missing fields' }, { status: 400 }); } const car = await prisma.car.findFirst({ where: { id: carId, user: { email: session.user?.email! }, }, }); if (!car) return NextResponse.json({ message: 'Car not found' }, { status: 404 }); const fillUp = await prisma.fillUp.create({ data: { mileage: parseInt(mileage), liters: parseFloat(liters), cost: parseFloat(cost), currency, carId, }, }); return NextResponse.json(fillUp); }