2025-05-28 00:41:23 +02:00

57 lines
1.4 KiB
TypeScript

import { NextRequest, NextResponse } from 'next/server'
import { prisma } from '@/app/lib/prisma'
export async function GET(req: NextRequest) {
const teamId = req.nextUrl.searchParams.get('id')
if (!teamId) {
return NextResponse.json({ message: 'Team-ID fehlt.' }, { status: 400 })
}
try {
const team = await prisma.team.findUnique({
where: { id: teamId },
include: {
leader: {
select: {
steamId: true,
name: true,
avatar: true,
location: true,
},
},
},
})
if (!team) {
return NextResponse.json({ message: 'Team nicht gefunden.' }, { status: 404 })
}
const steamIds = [...team.activePlayers, ...team.inactivePlayers]
const players = await prisma.user.findMany({
where: { steamId: { in: steamIds } },
select: {
steamId: true,
name: true,
avatar: true,
location: true,
},
})
return NextResponse.json({
team: {
id: team.id,
teamname: team.name,
logo: team.logo,
leader: team.leader,
activePlayers: players.filter(p => team.activePlayers.includes(p.steamId)),
inactivePlayers: players.filter(p => team.inactivePlayers.includes(p.steamId)),
},
})
} catch (err) {
console.error('[GET /api/team/get] Fehler:', err)
return NextResponse.json({ message: 'Interner Serverfehler' }, { status: 500 })
}
}