/** * 工作空间团队列表API路由 * 作者: 阿瑞 * 功能: 获取当前工作空间下的所有团队 * 版本: 1.7 */ import { NextRequest, NextResponse } from 'next/server'; import { connectSystemDB, RequestWithDB } from '@/lib/db'; /** * 获取工作空间的团队列表 */ export async function GET(req: NextRequest) { try { console.log('API: 接收到获取团队列表请求'); // 获取查询参数 const url = new URL(req.url); const workspaceId = url.searchParams.get('workspaceId'); console.log('API: 获取工作空间ID:', workspaceId); // 验证参数 if (!workspaceId) { console.log('API: 缺少工作空间ID参数'); return NextResponse.json({ success: false, error: '缺少工作空间ID参数' }, { status: 400 }); } // 使用数据库连接模式 const handler = async (dbReq: RequestWithDB) => { // 查询工作空间下的所有团队 const [rows] = await dbReq.db.query( `SELECT id, team_code as teamCode, name, status FROM teams WHERE workspace_id = ? ORDER BY name ASC`, [workspaceId] ); // 转换为纯JavaScript对象 const teams = JSON.parse(JSON.stringify(rows)); console.log('API: 查询到团队数量:', teams.length); // 返回团队列表 return NextResponse.json({ success: true, teams: teams }); }; // 执行处理函数 const wrappedHandler = connectSystemDB(handler); return await wrappedHandler(req); } catch (error: unknown) { const err = error as Error; console.error('API: 获取团队列表失败:', err); // 其他错误 return NextResponse.json( { success: false, error: '获取团队列表失败: ' + err.message }, { status: 500 } ); } }