import { NextResponse } from 'next/server'; import { supabaseAdmin } from '@/lib/supabase'; // GET /api/admin/jobs/[id] - Get a single service record export async function GET( request: Request, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params; const serviceRecordId = parseInt(id); const { data, error } = await supabaseAdmin .from('ServiceRecords') .select(` *, Vehicles (*) `) .eq('id', serviceRecordId) .single(); if (error) { console.error('Supabase error:', error); return NextResponse.json( { error: 'Failed to fetch service record', details: error.message }, { status: 500 } ); } return NextResponse.json(data); } catch (error) { console.error('Error fetching service record:', error); return NextResponse.json( { error: 'Failed to fetch service record' }, { status: 500 } ); } } // PUT /api/admin/jobs/[id] - Update service record export async function PUT( request: Request, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params; const serviceRecordId = parseInt(id); const body = await request.json(); const { status, metadata, mileage } = body; const updateData: any = {}; if (status !== undefined) updateData.status = status; if (metadata !== undefined) updateData.metadata = metadata || null; if (mileage !== undefined) updateData.mileage = mileage || null; const { data, error } = await supabaseAdmin .from('ServiceRecords') .update(updateData) .eq('id', serviceRecordId) .select() .single(); if (error) { console.error('Supabase error:', error); return NextResponse.json( { error: 'Failed to update service record', details: error.message }, { status: 500 } ); } return NextResponse.json({ message: 'Service record updated successfully', data }); } catch (error) { console.error('Error updating service record:', error); return NextResponse.json( { error: 'Failed to update service record' }, { status: 500 } ); } }