Module
src/modules/module/schemas/module.schemas.ts · колекція academy_modules
Розділ всередині курсу. Групує уроки в логічну тему.
Поля
- name — назва модуля
- courseId — посилання на курс
- isHidden —
trueприховує модуль від Trainee (Mentor бачить завжди) - lessonPositions:
string[]— впорядкований список ID уроків (порядок у UI)
Нюанси
isHiddenвпливає на доступність, не на видалення. Уроки і відповіді залишаються в БД. Зміна тригерить перерахунокcurrentLessonусіх Trainee курсу.- Видалення модуля — каскад: уроки + відповіді (
answerModel.deleteMany({moduleId})) + сам модуль + видалення зcourse.modulePositions. Після — переоцінкаcurrentLessonвсіх Trainee. lessonPositions— впорядкований список ID уроків (порядок у UI).- Edit-доступ —
directorабо Mentor курсу зallowEdit:true.