'use server'; import { MetricsService, WeeklyMetricsOverview, VelocityTrend } from '@/services/analytics/metrics'; import { getToday } from '@/lib/date-utils'; /** * Récupère les métriques hebdomadaires pour une date donnée */ export async function getWeeklyMetrics(date?: Date): Promise<{ success: boolean; data?: WeeklyMetricsOverview; error?: string; }> { try { const targetDate = date || getToday(); const metrics = await MetricsService.getWeeklyMetrics(targetDate); return { success: true, data: metrics }; } catch (error) { console.error('Error fetching weekly metrics:', error); return { success: false, error: error instanceof Error ? error.message : 'Failed to fetch weekly metrics' }; } } /** * Récupère les tendances de vélocité sur plusieurs semaines */ export async function getVelocityTrends(weeksBack: number = 4): Promise<{ success: boolean; data?: VelocityTrend[]; error?: string; }> { try { if (weeksBack < 1 || weeksBack > 12) { return { success: false, error: 'Invalid weeksBack parameter (must be 1-12)' }; } const trends = await MetricsService.getVelocityTrends(weeksBack); return { success: true, data: trends }; } catch (error) { console.error('Error fetching velocity trends:', error); return { success: false, error: error instanceof Error ? error.message : 'Failed to fetch velocity trends' }; } }