import { NextResponse } from "next/server"; import { TeamsService } from "@/services"; import { Team } from "@/lib/types"; interface RouteParams { params: { teamId: string; }; } export async function GET(request: Request, { params }: RouteParams) { try { const team = await TeamsService.getTeamById(params.teamId); if (!team) { return NextResponse.json({ error: "Team not found" }, { status: 404 }); } return NextResponse.json(team); } catch (error) { console.error("Error loading team:", error); return NextResponse.json({ error: "Failed to load team" }, { status: 500 }); } } export async function PUT(request: Request, { params }: RouteParams) { try { const updates: Partial> = await request.json(); const team = await TeamsService.updateTeam(params.teamId, updates); if (!team) { return NextResponse.json({ error: "Team not found" }, { status: 404 }); } return NextResponse.json(team); } catch (error) { console.error("Error updating team:", error); return NextResponse.json( { error: "Failed to update team" }, { status: 500 } ); } } export async function DELETE(request: Request, { params }: RouteParams) { try { const deleted = await TeamsService.deleteTeam(params.teamId); if (!deleted) { return NextResponse.json({ error: "Team not found" }, { status: 404 }); } return NextResponse.json({ success: true }); } catch (error) { console.error("Error deleting team:", error); return NextResponse.json( { error: "Failed to delete team" }, { status: 500 } ); } }