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

56 lines
1.5 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;
try {
// 1. 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 empty array for mock/missing businesses instead of error
return NextResponse.json([]);
}
const businessId = business.id;
// 2. Fetch all approved ratings with user info
const ratings = await prisma.rating.findMany({
where: {
businessId,
status: 'APPROVED'
},
include: {
user: {
select: {
id: true,
name: true,
avatar: true
}
}
},
orderBy: {
createdAt: 'desc'
}
});
return NextResponse.json(ratings);
} catch (error: any) {
console.error('Error fetching ratings:', error);
return NextResponse.json({ error: 'Erreur serveur lors de la récupération des avis' }, { status: 500 });
}
}