v2: ARCHITECTURE.md — документ архитектуры
This commit is contained in:
@@ -0,0 +1,41 @@
|
|||||||
|
# V2 Unified Architecture — v0.5.105 (2026-06-15)
|
||||||
|
|
||||||
|
## Как устроено
|
||||||
|
|
||||||
|
```
|
||||||
|
/v2/app — единый интерфейс
|
||||||
|
│
|
||||||
|
├── Юзер (isAdmin=false)
|
||||||
|
│ └── dropdown: свои компании из IAM (profiles[])
|
||||||
|
│
|
||||||
|
├── Админ (WZ01112, isAdmin=true)
|
||||||
|
│ ├── dropdown: все компании из БД
|
||||||
|
│ ├── свои помечены (личное)
|
||||||
|
│ └── email помечен (админ)
|
||||||
|
│
|
||||||
|
└── CRUD — одинаковый для обоих
|
||||||
|
└── crud.list/add/edit/remove(clientId)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Слои
|
||||||
|
|
||||||
|
| Слой | Файл | Что |
|
||||||
|
|------|------|-----|
|
||||||
|
| CRUD API | `v2/src/crud/index.js` | Чистые функции, clientId → БД |
|
||||||
|
| SQL | `v2/src/db/queries.js` | Все запросы, транзакции |
|
||||||
|
| Роутер | `v2/src/user/index.js` | Express, сессия → crud |
|
||||||
|
| Шаблон | `views/v2/user.ejs` | EJS, единый для всех |
|
||||||
|
|
||||||
|
## Компании
|
||||||
|
|
||||||
|
- `clientId` (W-номер) → `company_id` (внутренний PK) через `getOrCreateCompany`
|
||||||
|
- По умолчанию: активный профиль из IAM (`is_active_profile=true`)
|
||||||
|
- Админ может переключиться на любую компанию (`?switchTo=W***`)
|
||||||
|
- Юзер — только на свои
|
||||||
|
|
||||||
|
## История версий (новые сверху)
|
||||||
|
|
||||||
|
- **0.5.105** — убран toggle Администратор
|
||||||
|
- **0.5.104** — (личное) у своих компаний в dropdown
|
||||||
|
- **0.5.103** — WZ01112: adminMode auto-on по умолчанию
|
||||||
|
- **0.5.102** — единый интерфейс /v2/app (юзер+админ)
|
||||||
Reference in New Issue
Block a user