Model data
Alur admin
UI admin
Hook data:
views/admin/hooks/useManageKelas.ts
API admin (contoh)
Role: admin untuk write; peserta read dengan cek akses.
Kaitkan kursus ke tier batch
Saat admin mengatur tier di batch:- Buka tier management → pilih tier (Platinum, Master, …)
- Set
courseIds— array UUID course yang dibuka untuk tier itu - Atau kosongkan → peserta tier tersebut dapat semua kursus aktif
apps/api/src/enrollment/resolve-course-access.ts
Alur peserta belajar
Progress lesson
Status:belum-mulai → sedang-diproses → selesaiField
videoProgress 0–100; selesai = 100%.
Endpoint: PATCH /api/kelas/:courseId/lesson/:lessonId/progress
Cek akses di kode
Peserta tanpa enrollment paid ke course yang diminta mendapat403 COURSE_FORBIDDEN:
getCourseDetailupdateLessonProgressgetPlaybackToken
pesertaId → bypass cek (preview).
Kode: apps/api/src/kelas/kelas.service.ts