import { NextResponse } from "next/server"; import { auth } from "@/lib/auth"; import { challengeService } from "@/services/challenges/challenge.service"; import { Role } from "@/prisma/generated/prisma/client"; export async function GET() { try { const session = await auth(); if (!session?.user || session.user.role !== Role.ADMIN) { return NextResponse.json({ error: "Accès refusé" }, { status: 403 }); } // Récupérer tous les défis pour l'admin (PENDING, ACCEPTED, CANCELLED, COMPLETED, REJECTED) const challenges = await challengeService.getAllChallenges(); return NextResponse.json(challenges); } catch (error) { console.error("Error fetching challenges:", error); return NextResponse.json( { error: "Erreur lors de la récupération des défis" }, { status: 500 } ); } }