import { redirect } from "next/navigation"; import { query, queryOne } from "@/lib/db"; import { cookies } from "next/headers"; import { verifyToken } from "@/app/api/auth/[...nextauth]/route"; export async function GET(_, context) { try { // Use our custom token verification instead of getServerSession const cookieStore = await cookies(); const sessionToken = cookieStore.get("next-auth.session-token")?.value; if (!sessionToken) { return redirect("/login"); } const userData = verifyToken(sessionToken); if (!userData) { return redirect("/login"); } const params = await context.params; const teamId = params.teamId; const team = await queryOne("SELECT * FROM teams WHERE id = ?", [teamId]); if (!team) { return new Response( JSON.stringify({ success: false, error: "Team not found" }), { status: 404 } ); } const members = await query( "SELECT id, username FROM users WHERE team_id = ?", [teamId] ); return new Response(JSON.stringify({ success: true, team, members }), { status: 200, }); } catch (error) { console.error("Team fetch error:", error); return new Response( JSON.stringify({ success: false, error: "Failed to fetch team" }), { status: 500 } ); } }