import { NextRequest, NextResponse } from "next/server"; import prisma from "@/lib/prisma"; const questions = [ "Quelle est votre plus grande peur ?", "Quel est votre meilleur souvenir d'enfance ?", "Si vous pouviez voyager n'importe où, où iriez-vous ?", "Quel est votre plat préféré ?", "Quelle est votre activité préférée le week-end ?", "Quel super-pouvoir voudriez-vous avoir ?", "Quel est votre film préféré ?", "Si vous pouviez rencontrer une célébrité, qui serait-ce ?", "Quelle est votre plus grande ambition ?", "Quel talent aimeriez-vous avoir ?", ]; export async function GET( request: NextRequest, { params }: { params: { inviteCode: string } } ) { try { const { inviteCode } = await params; // Récupérer le groupe et son état de jeu const group = await prisma.group.findUnique({ where: { inviteCode }, include: { members: { include: { user: true, }, }, gameState: { include: { rounds: { include: { guesses: true, }, orderBy: { roundNumber: "desc", }, take: 1, }, }, }, }, }); if (!group) { return NextResponse.json({ error: "Groupe non trouvé" }, { status: 404 }); } if (!group.gameState) { return NextResponse.json( { error: "Partie non commencée" }, { status: 400 } ); } const currentRound = group.gameState.rounds[0]; const roundNumber = currentRound?.roundNumber || 0; // Formater les données pour le frontend const players = group.members.map((member) => ({ id: member.userId, name: member.user.name, voiceId: member.user.voiceId, hasAnswered: false, // À implémenter hasVoted: currentRound?.guesses.some((g) => g.guesserId === member.userId) || false, isEliminated: false, // À implémenter })); // Déterminer le joueur actuel const currentPlayerIndex = roundNumber % players.length; const currentSpeaker = players[currentPlayerIndex]; return NextResponse.json({ phase: group.gameState.status, currentQuestion: questions[roundNumber % questions.length], currentSpeaker, players, votes: {}, // À implémenter roundNumber: roundNumber + 1, }); } catch (error) { console.error("Erreur lors de la récupération de l'état du jeu:", error); return NextResponse.json({ error: "Erreur serveur" }, { status: 500 }); } }