Stage 1.5: categories, enrollment expiry, access log, bulk grant, user page
This commit is contained in:
+5
-7
@@ -39,17 +39,15 @@
|
||||
|
||||
---
|
||||
|
||||
## Этап 1.5 — Расширенное управление доступом (из emdesell)
|
||||
**Цель:** способы выдачи доступа как в emdesell — ключи активации, срок доступа, категории.
|
||||
## Этап 1.5 — Расширенное управление доступом
|
||||
**Цель:** гибкое управление доступом: сроки, категории, пакеты, история.
|
||||
|
||||
- [ ] **Ключи активации:** генерировать N одноразовых кодов для курса → ученик вводит код и получает доступ
|
||||
- [ ] **Срок доступа:** поле `expiresAt` в `CourseEnrollment` + автоблокировка по дате
|
||||
- [ ] **Категории курсов:** таблица `Category`, поле `categoryId` в `Course`, фильтрация в списке
|
||||
- [ ] **Расширенный энролл:** Admin может дать доступ к нескольким курсам сразу (пакеты)
|
||||
- [ ] **История доступа:** лог выдачи/отзыва доступа (кто, когда, каким методом)
|
||||
- [ ] **Страница активации** для ученика: `/activate` — ввод кода → редирект на курс
|
||||
- [ ] **Расширенный энролл:** на странице ученика — дать доступ сразу к нескольким курсам
|
||||
- [ ] **История доступа:** лог выдачи/отзыва (кто, когда, метод, примечание)
|
||||
|
||||
**Критерий готовности:** генерирую 10 ключей, отдаю ученику, ученик вводит — получает доступ с датой истечения через 3 месяца.
|
||||
**Критерий готовности:** задаю ученику доступ к 3 курсам с разными сроками, в логе вижу все операции.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user