feat: Add GET /api/v1/analytics/advanced/dashboard/:childId endpoint
Some checks failed
ParentFlow CI/CD Pipeline / Backend Tests (push) Has been cancelled
ParentFlow CI/CD Pipeline / Frontend Tests (push) Has been cancelled
ParentFlow CI/CD Pipeline / Security Scanning (push) Has been cancelled
ParentFlow CI/CD Pipeline / Build Docker Images (map[context:maternal-app/maternal-app-backend dockerfile:Dockerfile.production name:backend]) (push) Has been cancelled
ParentFlow CI/CD Pipeline / Build Docker Images (map[context:maternal-web dockerfile:Dockerfile.production name:frontend]) (push) Has been cancelled
ParentFlow CI/CD Pipeline / Deploy to Development (push) Has been cancelled
ParentFlow CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Lint and Test (push) Has been cancelled
CI/CD Pipeline / E2E Tests (push) Has been cancelled
CI/CD Pipeline / Build Application (push) Has been cancelled
Some checks failed
ParentFlow CI/CD Pipeline / Backend Tests (push) Has been cancelled
ParentFlow CI/CD Pipeline / Frontend Tests (push) Has been cancelled
ParentFlow CI/CD Pipeline / Security Scanning (push) Has been cancelled
ParentFlow CI/CD Pipeline / Build Docker Images (map[context:maternal-app/maternal-app-backend dockerfile:Dockerfile.production name:backend]) (push) Has been cancelled
ParentFlow CI/CD Pipeline / Build Docker Images (map[context:maternal-web dockerfile:Dockerfile.production name:frontend]) (push) Has been cancelled
ParentFlow CI/CD Pipeline / Deploy to Development (push) Has been cancelled
ParentFlow CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Lint and Test (push) Has been cancelled
CI/CD Pipeline / E2E Tests (push) Has been cancelled
CI/CD Pipeline / Build Application (push) Has been cancelled
- Implements comprehensive analytics dashboard aggregating multiple data sources - Fetches circadian rhythm, anomalies, correlations, growth analysis in parallel - Includes sleep and feeding trends and clusters - Provides complete AdvancedAnalyticsDashboard response expected by frontend - Resolves 404 error on frontend analytics dashboard Endpoint analysis: 98.8% coverage (81/82 endpoints now implemented) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -392,6 +392,62 @@ export class AnalyticsController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Advanced Analytics Dashboard - Aggregates all advanced analytics
|
||||
* GET /api/v1/analytics/advanced/dashboard/:childId
|
||||
*/
|
||||
@Get('advanced/dashboard/:childId')
|
||||
async getAdvancedDashboard(
|
||||
@CurrentUser() user: any,
|
||||
@Param('childId') childId: string,
|
||||
) {
|
||||
try {
|
||||
// Fetch all analytics data in parallel for better performance
|
||||
const [
|
||||
circadianRhythm,
|
||||
anomalies,
|
||||
correlations,
|
||||
growthAnalysis,
|
||||
sleepTrends,
|
||||
feedingTrends,
|
||||
sleepClusters,
|
||||
feedingClusters,
|
||||
] = await Promise.all([
|
||||
this.advancedPatternService.analyzeCircadianRhythm(childId, 14),
|
||||
this.advancedPatternService.detectAnomalies(childId, 30),
|
||||
this.advancedPatternService.analyzeCorrelations(childId, 14),
|
||||
this.growthPercentileService.analyzeGrowth(childId),
|
||||
this.advancedPatternService.analyzeTrends(childId, ActivityType.SLEEP),
|
||||
this.advancedPatternService.analyzeTrends(childId, ActivityType.FEEDING),
|
||||
this.advancedPatternService.clusterActivities(childId, ActivityType.SLEEP, 30),
|
||||
this.advancedPatternService.clusterActivities(childId, ActivityType.FEEDING, 30),
|
||||
]);
|
||||
|
||||
// Combine all analytics into a comprehensive dashboard
|
||||
const dashboard = {
|
||||
circadianRhythm,
|
||||
anomalies,
|
||||
correlations,
|
||||
growthAnalysis,
|
||||
trends: {
|
||||
sleep: sleepTrends,
|
||||
feeding: feedingTrends,
|
||||
},
|
||||
clusters: {
|
||||
sleep: sleepClusters,
|
||||
feeding: feedingClusters,
|
||||
},
|
||||
};
|
||||
|
||||
return {
|
||||
success: true,
|
||||
data: dashboard,
|
||||
};
|
||||
} catch (error) {
|
||||
throw new BadRequestException(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Comprehensive Analytics Dashboard Endpoint
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user