import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs'; import { cookies } from 'next/headers'; import { NextResponse } from 'next/server'; export async function GET() { try { const supabase = createRouteHandlerClient({ cookies }); // 获取当前用户 const { data: { user }, error: userError } = await supabase.auth.getUser(); if (userError || !user) { return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); } // 获取用户所属的所有团队 const { data: teams, error: teamsError } = await supabase .from('teams') .select(` id, name, description, avatar_url `) .innerJoin('team_membership', 'teams.id = team_membership.team_id') .eq('team_membership.user_id', user.id) .is('teams.deleted_at', null); if (teamsError) { console.error('Error fetching teams:', teamsError); return NextResponse.json({ error: 'Failed to fetch teams' }, { status: 500 }); } return NextResponse.json(teams); } catch (error) { console.error('Error in /api/teams/list:', error); return NextResponse.json( { error: 'Internal server error' }, { status: 500 } ); } }