From 16d0f91622fd7ab6e6585537a663ff94bc567944 Mon Sep 17 00:00:00 2001 From: Maxim Dolgolyov Date: Wed, 3 Jun 2026 13:08:19 +0300 Subject: [PATCH] =?UTF-8?q?docs(access):=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80?= =?UTF-8?q?=D0=B5=D1=81=D1=81=20(=D0=A4=D0=B0=D0=B7=D1=8B=200/2a/2b=20done?= =?UTF-8?q?)=20+=20=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BE=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=20=D0=A4=D0=B0=D0=B7=D0=B5=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Фаза 1 — модель ДОБАВОЧНАЯ: ролевой simulations.access = «модуль включён для роли», видимость конкретных sim/курсов — дополнительно по классам через content_access (roleHasModule AND classAllowsItem). Миграция-мост открывает всё всем классам → поведение не меняется. Co-Authored-By: Claude Opus 4.8 (1M context) --- plans/access-redesign/PLAN.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/plans/access-redesign/PLAN.md b/plans/access-redesign/PLAN.md index 7bfcbe1..29cffbd 100644 --- a/plans/access-redesign/PLAN.md +++ b/plans/access-redesign/PLAN.md @@ -81,6 +81,16 @@ allow IN (0,1) --- +## Прогресс (2026-06-03) +- ✅ **Фаза 0** — `purgeAccessFor` + рефактор удалений + confirm bulk-close + тест content-access (commit 1bbddc0). +- ✅ **Фаза 2a** — режим «Матрица» класс×контент + `GET /api/access/matrix` + поиск (commit 67a70c6). +- ✅ **Фаза 2b** — поиск/группировка по предмету в левой колонке + бейдж «эффективный доступ» у ученика (commit 596e8d8). +- ⏳ **Фаза 1** — РЕШЕНО (пользователь): модель **ДОБАВОЧНАЯ** — ролевой `simulations.access` остаётся + «модуль включён для роли», а видимость конкретных sim/курсов — дополнительно по классам через + content_access. Эффективно: `roleHasModule AND classAllowsItem`. Миграция-мост открывает все + sim/курсы всем классам → текущее поведение не меняется. Начинать с чтения подсистем lab/courses + (где список симуляций/курсов отдаётся — туда вешать фильтр; refs: sim id/slug, course slug). + ## 5. Фазы ### Фаза 0 — Целостность и быстрые победы (низкий риск, без смены модели)