meta(tasks): create [books-bookva-user-whitelist-gathering] in OpeItcLoc03/admin
This commit is contained in:
@@ -151,3 +151,34 @@ _Updated: 2026-05-24 (Cleanup: 25 🟢 closed blocks → [ARCHIVE.md](ARCHIVE.md
|
|||||||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-24T12:02:58.941Z -->
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-24T12:02:58.941Z -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## ⚪ [books-bookva-user-whitelist-gathering] — **Процессная** ops-таска для Фазы 3, шаг 1 дизайна `tenant-split` из victor/books. Получить от учредителя Bookva письменный список пользователей, которые допущены к Bookva-инсталляции. Без этого списка cutover не возможен — иначе утечка доступа: либо лишние юзеры получат доступ к Bookva (через копирование «всех users»), либо легитимные юзеры заблокированы (через пустой whitelist).
|
||||||
|
|
||||||
|
**Direction:** Bookva — новая инсталляция, начинается с whitelist'а (закрытый список). Slovo — остаётся на текущем стеке, получает копию всех текущих users (статус-кво).
|
||||||
|
|
||||||
|
**Контекст dev-source:** дизайн в victor/books `.wiki/concepts/tenant-split.md` § «Двухуровневая изоляция пользователей → App-level» и § «Фаза 3, шаг 1».
|
||||||
|
|
||||||
|
**Не блокируется ничем** — можно начинать gathering сразу, лаг до cutover'а может быть значительным.
|
||||||
|
|
||||||
|
**Acceptance:**
|
||||||
|
- Письменный список от учредителя Bookva (email или подписанный документ): ФИО + role (если знают).
|
||||||
|
- Список зафиксирован в `OpeItcLoc03/admin/.wiki/concepts/books-bookva-whitelist.md` или в отдельной таблице.
|
||||||
|
- Для каждой строки списка сверка с текущей `users`-таблицей shared БД: user существует / роль соответствует / email актуален.
|
||||||
|
- Любые расхождения (запрошенный user не существует в shared / роль другая) — обработаны: создать новый user в Bookva-БД post-cutover ИЛИ скорректировать список с учредителем.
|
||||||
|
|
||||||
|
**Status:** ready
|
||||||
|
**Where I stopped:** (not started)
|
||||||
|
**Next action:** 1. Отправить учредителю Bookva формальный запрос (email/мессенджер): «Для tenant-split нужен список пользователей, которые останутся в Bookva после разделения. Формат: ФИО + роль + email/login. Список будет применён на cutover'е как whitelist».
|
||||||
|
2. Дождаться ответа (это может занять дни/недели — нормально).
|
||||||
|
3. Получив список — сверить с `users`-таблицей shared БД:
|
||||||
|
```sql
|
||||||
|
SELECT id, login, email, role FROM users WHERE email IN (<list>) AND deleted_at IS NULL;
|
||||||
|
```
|
||||||
|
4. Разобрать расхождения с учредителем (missing / role mismatch / inactive).
|
||||||
|
5. Зафиксировать финальный список в `OpeItcLoc03/admin/.wiki/concepts/books-bookva-whitelist.md` (или в local-only encrypted file если NDA-чувствительно).
|
||||||
|
6. Финальный список становится input'ом для Фазы 3, шаг 1: при настройке Bookva-БД в неё попадают **только** эти users.
|
||||||
|
7. Закрыть с note: «whitelist (N users) подтверждён учредителем, готов к применению на cutover'е».
|
||||||
|
**Branch:** n/a
|
||||||
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-24T12:03:18.548Z -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user