Files
2026-04-18 22:10:19 +02:00

50 lines
1.4 KiB
TypeScript

import { NextRequest, NextResponse } from 'next/server';
import prisma from '@/lib/prisma';
export async function GET(
req: NextRequest,
context: { params: Promise<{ id: string }> }
) {
const { id: paramId } = await context.params;
const userId = req.headers.get('x-user-id');
if (!userId) {
return NextResponse.json({ rating: null });
}
try {
// Resolve actual Business UUID if paramId is a slug
const business = await prisma.business.findFirst({
where: {
OR: [
{ id: paramId },
{ slug: paramId }
]
},
select: { id: true }
});
if (!business) {
return NextResponse.json({ rating: null });
}
const rating = await prisma.rating.findUnique({
where: {
userId_businessId: {
userId,
businessId: business.id
}
}
});
return NextResponse.json({
rating: rating ? rating.value : null,
status: rating ? rating.status : null,
comment: rating ? rating.comment : null
});
} catch (error: any) {
console.error('Error fetching user rating:', error);
return NextResponse.json({ error: 'Erreur lors de la récupération de votre note' }, { status: 500 });
}
}