import { NextRequest, NextResponse } from 'next/server'; import type { ApiResponse } from '@/lib/types'; import { getTimeSeriesData } from '@/lib/analytics'; export async function GET(request: NextRequest) { try { const searchParams = request.nextUrl.searchParams; const startTime = searchParams.get('startTime'); const endTime = searchParams.get('endTime'); if (!startTime || !endTime) { return NextResponse.json({ success: false, error: 'startTime and endTime are required' }, { status: 400 }); } // 获取团队、项目和标签筛选参数 const teamIds = searchParams.getAll('teamId'); const projectIds = searchParams.getAll('projectId'); const tagIds = searchParams.getAll('tagId'); const data = await getTimeSeriesData({ startTime, endTime, linkId: searchParams.get('linkId') || undefined, granularity: (searchParams.get('granularity') || 'day') as 'hour' | 'day' | 'week' | 'month', // 添加团队、项目和标签筛选 teamIds: teamIds.length > 0 ? teamIds : undefined, projectIds: projectIds.length > 0 ? projectIds : undefined, tagIds: tagIds.length > 0 ? tagIds : undefined }); const response: ApiResponse = { success: true, data }; return NextResponse.json(response); } catch (error) { const response: ApiResponse = { success: false, error: error instanceof Error ? error.message : 'Unknown error occurred' }; return NextResponse.json(response, { status: 500 }); } }