8a7091ddec
Копия пользовательской автопамяти (29 фактов + индекс MEMORY.md) в .claude/memory/, чтобы переносить между машинами через git. README.md — как восстановить в пользовательскую папку на другой машине. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.0 KiB
2.0 KiB
name, description, metadata
| name | description | metadata | ||||||
|---|---|---|---|---|---|---|---|---|
| reference_quick_lesson | «Быстрый урок» — одиночный урок без курса через скрытый личный курс-контейнер (is_personal) |
|
Одиночного урока без курса в системе нет: lessons.course_id NOT NULL, POST /api/lessons
требует courseId. Решено через личный курс-контейнер (сделано 2026-06-03, commit 6be8a50).
- Миграция 059:
courses.is_personal INTEGER DEFAULT 0(ADD COLUMN). POST /api/lessons/quick(teacher/admin,lessonController.quickLesson): get-or-create контейнерWHERE created_by=? AND is_personal=1(subject_slug='personal', title='Мои материалы', is_published=1, один на учителя) → создаёт урок →{lessonId, courseId}.- Фронт: кнопка «Быстрый урок» в каталоге
theory.html(рядом с «Новый курс», видна teacher/admin) → POST /quick → редирект/lesson-editor.html?id=<lessonId>. courseController.listСКРЫВАЕТis_personal=1из каталога для всех, кроме владельца (AND (c.is_personal=0 OR c.created_by=?); студентам — всегдаis_personal=0).- Учитель видит свои быстрые уроки как курс «Мои материалы» (открыв его в каталоге).
- Доступ ученикам: контейнер опубликован, но урок надо ОПУБЛИКОВАТЬ (per-lesson) + доступ к курсу-контейнеру идёт через обычный content_access/класс (см. project_content_access). Standalone-урок на уровне схемы (course_id NULL) — НЕ делали (был выбран этот лёгкий путь).