Commit Graph

393 Commits

Author SHA1 Message Date
75353f8bdd Log FCM service account env value at startup.
Add a notification-service startup log to print FCM_SERVICE_ACCOUNT_KEY for runtime verification during push notification troubleshooting.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-11 09:54:22 -07:00
6a4fe68628 Add full FAQ management APIs and integration assets.
Implement public FAQ read endpoints and admin CRUD with RBAC, persistence, and migrations, then regenerate Swagger and add a complete Postman collection so frontend/admin teams can integrate and validate the feature end-to-end.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-11 07:58:17 -07:00
bc2357374b Add practice-existence flags and refresh API contracts.
Expose has_practice booleans for LMS and pre-exam hierarchy entities, wire SQL/repository mappings, and regenerate SQLC/Swagger artifacts. Also update the Resend sender display name for outbound emails.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 11:57:11 -07:00
0983589e36 extend full-payload direct proxy flow to MPESA
Align MPESA direct payment with TELEBIRR_USSD by routing it through the provider's full checkout payload proxy endpoint for consistent gateway behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-07 09:21:43 -07:00
21ce61b910 telebirr-ussd direct payment fix 2026-05-07 09:08:43 -07:00
f906862676 partly implemented dynamic question builder + payment routes fix 2026-05-07 08:10:21 -07:00
10954d88b0 subscription management fix + duolingo hierarchy implementation 2026-05-04 10:44:18 -07:00
9027b65011 Require lesson and practice completion for LMS rollups.
Update lesson and practice completion flows to cascade module/course/program progress only when both lesson completion and related published practice completion criteria are met, and align progress counters with the new rule.

Made-with: Cursor
2026-04-28 09:56:53 -07:00
0d02eb1a24 add MinIO media URL refresh endpoint
Add POST /api/v1/files/refresh-url to issue fresh presigned URLs from object keys, minio:// references, or stale presigned URLs so clients can refresh media links before render.

Made-with: Cursor
2026-04-27 05:25:16 -07:00
78f231f222 fix OTP verification by submitted code
Resolve false OTP already used/expired responses during registration by loading OTP rows using user_id plus submitted otp code and validating usage/expiry on the matched row.

Made-with: Cursor
2026-04-25 05:07:19 -07:00
5b53929d92 learning progress implementation 2026-04-23 03:58:27 -07:00
9db9c9899a module+lesson+practice implementations 2026-04-23 01:59:20 -07:00
152478a96c added program 2026-04-23 00:59:01 -07:00
ce1b827768 refresh token fix 2026-04-17 10:16:25 -07:00
69d3d440d0 permissions data seed fix 2026-04-14 00:39:42 -07:00
7613eb583a new course management hierarchy 2026-04-10 03:06:30 -07:00
43f79d34ea fetch practice pagination fix 2026-04-07 03:37:19 -07:00
cd8670d5a6 content filtering adjustment 2026-04-07 03:09:44 -07:00
0cb58b35f8 new reseed endpoint 2026-03-27 02:29:30 -07:00
94d6777c48 more seed data 2026-03-23 05:24:29 -07:00
800d2a4b3a MinIO integration + speaking implementation adjustment 2026-03-12 07:06:16 -07:00
180e63e975 account deletion API 2026-03-11 06:26:30 -07:00
d4b25a1167 self account deletion API 2026-03-10 08:59:06 -07:00
d558739097 preogress tracker fix 2026-03-10 02:35:13 -07:00
515573d56e course level progress tracker implementation 2026-03-09 11:20:16 -07:00
74efcd5ec2 learning flow + level + sublevel 2026-03-08 05:35:17 -07:00
3500db6435 learning flow fixes 2026-03-07 08:18:13 -08:00
f9da45da62 minor fixes 2026-03-06 06:03:05 -08:00
0226275d47 customer RBAC 2026-03-05 07:58:48 -08:00
d470b024b4 removed twilio 2026-03-05 01:30:33 -08:00
6e7b957551 Afro SMS integration fix 2026-03-04 10:53:01 -08:00
809ab90d30 bulk notification fix + custom role and permission feature implementation + activity log and user list filters 2026-03-04 09:10:28 -08:00
130421e971 added cloudconvert for thumbnails + added ratings service 2026-02-18 02:56:08 -08:00
7d626d059f inapp notification fix 2026-02-13 06:59:14 -08:00
0f44e63692 cloud convert integration + more advanced activity log + issue reporting + video file management fixes 2026-02-11 06:54:05 -08:00
97c4f3d28f team management + minor fixes 2026-02-06 10:47:42 -08: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
7f1bf0e7f1 profile picture, birthday format and refresh token expiry fixes 2026-01-28 09:24:31 -08:00
64c25699e9 course management and course data seed implementations 2026-01-24 06:29:42 -08:00
963cfbed29 changed web google auth to android google auth 2026-01-22 04:16:02 -08:00
d691edae8b assessment question domain fix 2026-01-21 13:05:18 -08:00
68472b09b1 google auth integration 2026-01-21 12:43:02 -08:00
9ee1d7f714 changed age to agegroup, added refresh route, token generation after otp verification 2026-01-18 03:12:28 -08:00
513927f48f data seed and authorization fixes 2026-01-14 02:27:26 -08:00
6002b594c6 minimal registeration implementation 2026-01-09 06:35:22 -08:00
19ac718526 initial assessment implementation 2026-01-08 04:42:39 -08:00
7309a2bc83 updated the authentication method from username to email/phone_numner 2026-01-03 06:52:38 -08:00
d94774c138 schema adjustment and profile management fixes 2025-12-31 07:53:59 -08:00
8ed0a5f1c6 course management service 2025-12-30 07:00:02 -08:00
2c907a34db added inittal assessment feature 2025-12-29 07:59:24 -08:00