Commit Graph
6 Commits
Author SHA1 Message Date
asepharyana 7a5c560347 docs: materi + AI agent RAG (finding #6) 2026-08-05 17:26:48 +07:00
asepharyana b4a9972ad7 docs: payment lifecycle complete (auto-paid refresh + dashboards) 2026-08-05 15:58:47 +07:00
asepharyana aa0b659b48 docs: SMTP fixed + Midtrans provider status in audit findings 2026-08-05 13:38:02 +07:00
asepharyana 2ea6cd3d17 docs: payment flow status in audit findings 2026-08-05 09:32:37 +07:00
asepharyana c6ed5c5c19 fix(dimentorin): verify-email validates OTP before activating user
- new app_otp_cache table + OtpCache entity (ResourceEnum::OtpCache)
- PostgresOtpRepository upsert/find/delete keyed by email
- register/resend persist otp_hash+expiry after email sent (no orphan OTP)
- verify_email validates via OtpManager::validate_otp_hash, single-use delete
- 8 unit tests pass, e2e verified: wrong OTP 400, correct OTP 200
2026-08-04 23:35:34 +07:00
asepharyana 3692b81324 feat(dimentorin): mentor stats endpoint public - total sessions, unique mentees, avg rating
- GET /mentors/{id}/stats (public, no auth)
- resolve mentor profile id -> user id in get_mentor_sessions (FK uses app_users.id)
2026-08-04 23:09:08 +07:00