Skip to content

feat(analytics): add churn risk route validation, export support, and… - #597

Merged
A6dulmalik merged 2 commits into
MindBlockLabs:mainfrom
sublime247:feat/analytics-churn-risk-route
Jul 25, 2026
Merged

feat(analytics): add churn risk route validation, export support, and…#597
A6dulmalik merged 2 commits into
MindBlockLabs:mainfrom
sublime247:feat/analytics-churn-risk-route

Conversation

@sublime247

Copy link
Copy Markdown
Contributor

Closes #528

Description

Implements the GET /analytics/users/churn-risk controller route to expose the current churn-risk user list for admin/staff callers. Updates query parameter DTOs, connects the route to GetChurnRiskProvider, adds CSV/JSON export support for churn risk metrics, and provides end-to-end (e2e) test coverage.

Key Changes

  • Controller & Authorization: Configured GET /analytics/users/churn-risk in AnalyticsController guarded by AnalyticsAdminGuard and decorated with Swagger metadata.
  • DTOs: Added CHURN_RISK = 'churn_risk' to ExportMetric in analytics-query.dto.ts. Query params are validated with DateRangeDto (class-validator).
  • Export Provider: Updated ExportCsvProvider to handle exporting churn risk metrics as CSV or JSON.
  • E2E Test Coverage: Added describe('GET /analytics/users/churn-risk (e2e)') test suite to backend/test/analytics.e2e-spec.ts.

Acceptance Criteria Checklist

  • GET /analytics/users/churn-risk returns 200 OK with the documented response shape for admin callers.
  • Invalid query parameters return 400 Bad Request with clear validation error messages.
  • Route requires an authenticated admin role via AnalyticsAdminGuard (returns 403 otherwise).
  • Route is fully covered by e2e tests in backend/test/analytics.e2e-spec.ts.

Verification & Testing Performed

Unit Tests (24/24 Passed)

npx jest src/analytics/providers/get-churn-risk.provider.spec.ts src/analytics/providers/export-csv.provider.spec.ts

@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
mind-block-app-frontend Skipped Skipped Jul 25, 2026 2:01pm

@sublime247

sublime247 commented Jul 25, 2026

Copy link
Copy Markdown
Contributor Author

@A6dulmalik kindly review, I sent you message on telegram please check

@A6dulmalik
A6dulmalik merged commit cb0a44f into MindBlockLabs:main Jul 25, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add GET /analytics/users/churn-risk endpoint

2 participants