26cf7d2908
feat: scope subscriptions by content type and make Duolingo plans lifetime
...
LEARN_ENGLISH plans unlock LMS only; IELTS and DUOLINGO unlock matching exam-prep catalog courses. Enable category subscription gating, restrict programs to Learn English, and treat Duolingo subscriptions as non-expiring one-time purchases.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 03:59:26 -07:00
5c6cb1b8d3
feat: send in-app and push learner notifications for key milestones
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 05:11:16 -07:00
79fb95ce36
Add category-based subscription controls for LMS and exam prep.
...
Introduce plan and content categories across programs and exam-prep catalog roots, wire category-aware checkout and access checks, and keep learner gating temporarily bypassed until data migration is ready.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 06:20:49 -07:00
49bcc22d0d
Expose subscription_status on user profile responses instead of active_subscription.
...
Users see ACTIVE, PENDING, or Unsubscribed via new batch and single SQL helpers; Swagger refreshed.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 00:28:19 -07:00
f824c16c64
user list response fix
2026-05-18 00:09:26 -07:00
10954d88b0
subscription management fix + duolingo hierarchy implementation
2026-05-04 10:44:18 -07:00
834a807edc
vimeo itegration + Google auth and fiberbase messaging minor fixes + profile completed status fix and profile progress (not course progress) tracker immplementation
2026-02-04 09:59:21 -08:00