module

Module

src/modules/module/schemas/module.schemas.ts · колекція academy_modules

Розділ всередині курсу. Групує уроки в логічну тему.

Поля

  • name — назва модуля
  • courseId — посилання на курс
  • isHiddentrue приховує модуль від Trainee (Mentor бачить завжди)
  • lessonPositions: string[] — впорядкований список ID уроків (порядок у UI)

Нюанси

  • isHidden впливає на доступність, не на видалення. Уроки і відповіді залишаються в БД. Зміна тригерить перерахунок currentLesson усіх Trainee курсу.
  • Видалення модуля — каскад: уроки + відповіді (answerModel.deleteMany({moduleId})) + сам модуль + видалення з course.modulePositions. Після — переоцінка currentLesson всіх Trainee.
  • lessonPositions — впорядкований список ID уроків (порядок у UI).
  • Edit-доступdirector або Mentor курсу з allowEdit:true.