import { NextResponse } from "next/server"; import { auth } from "@/lib/auth"; import { eventFeedbackService } from "@/services/events/event-feedback.service"; import { Role } from "@/prisma/generated/prisma/client"; export async function GET() { try { const session = await auth(); if (!session?.user?.id) { return NextResponse.json({ error: "Non authentifié" }, { status: 401 }); } if (session.user.role !== Role.ADMIN) { return NextResponse.json({ error: "Accès refusé" }, { status: 403 }); } // Récupérer tous les feedbacks avec les détails de l'événement et de l'utilisateur const feedbacks = await eventFeedbackService.getAllFeedbacks(); // Calculer les statistiques par événement const statistics = await eventFeedbackService.getFeedbackStatistics(); return NextResponse.json({ feedbacks, statistics, }); } catch (error) { console.error("Error fetching feedbacks:", error); return NextResponse.json( { error: "Erreur lors de la récupération des feedbacks" }, { status: 500 } ); } }