naeel
|
a1f8e5a71a
|
v0.6.13: отладка — показ email/clientId/env в ошибке
|
2026-06-15 10:55:13 +04:00 |
|
naeel
|
7a4dd6f3e5
|
v0.6.12: полный санитайзер IAM в resolveContext — защита от null/undefined/говна
|
2026-06-15 10:46:31 +04:00 |
|
naeel
|
2cf86a22de
|
v0.6.11: guard на ВСЕ обязательные поля DB — companyId, cidr, userEmail, entryId
|
2026-06-15 10:45:21 +04:00 |
|
naeel
|
b3d0fc36a6
|
v0.6.10: проверка clientId в getOrCreateCompany (3-й уровень)
|
2026-06-15 10:43:19 +04:00 |
|
naeel
|
00d3928a50
|
v0.6.9: защита от пустого clientId (null client_id)
|
2026-06-15 10:35:03 +04:00 |
|
naeel
|
3d3354c49e
|
v0.6.8: Выйти — только реальный KC-юзер
|
2026-06-15 10:29:31 +04:00 |
|
naeel
|
68f230bedd
|
v0.6.7: фикс — req.email=текущий, impersonatedBy=реальный (правильно)
|
2026-06-15 10:28:06 +04:00 |
|
naeel
|
f007b4e721
|
v0.6.6: разделение — req.email(аудит) vs req.displayEmail(экран)
|
2026-06-15 10:23:04 +04:00 |
|
naeel
|
1c2b7fe189
|
v0.6.5: loginEmail из originalUserEmail, компания слева от email
|
2026-06-15 10:19:07 +04:00 |
|
naeel
|
6032a574a9
|
v0.6.4: авто-имперсонация (ORIGINAL→TARGET) + ADMIN_EMAIL
|
2026-06-15 10:14:16 +04:00 |
|
naeel
|
ed58df38d8
|
v0.6.3: убрал (имперсонация) у email, жёлтый баннер сверху
|
2026-06-15 09:57:35 +04:00 |
|
naeel
|
9f7150c345
|
v0.6.2: email юзера справа от статистики + loginEmail в header
|
2026-06-15 09:55:35 +04:00 |
|
naeel
|
6acb8770c5
|
v0.6.1: фикс — email в header (Выйти)
|
2026-06-15 09:46:58 +04:00 |
|
naeel
|
0d7815df16
|
v0.6.0: дизайн Nubes — лого, header, стили, email, имперсонация
|
2026-06-15 09:42:33 +04:00 |
|
naeel
|
5b92dfe1e7
|
v2→main: интеграция — v2 как основной UI (/), старый UI закомментирован
|
2026-06-15 09:33:45 +04:00 |
|
naeel
|
814d066b10
|
v2: таблицы v2_→оригинальные + impersonation модуль (IMPERSONATION_TARGET + EXTRA_COMPANIES)
|
2026-06-15 09:16:10 +04:00 |
|
naeel
|
cfaf8f34c3
|
v2: EJS-шаблоны — user, admin, admin-audit, admin-entries
|
2026-06-13 08:46:09 +04:00 |
|
naeel
|
30aaf8a7e4
|
v2: export слой — GET /v2/export, агрегация CIDR
|
2026-06-13 08:34:09 +04:00 |
|
naeel
|
e5815279a1
|
v2: +admin мок-юзер (3 компании, без имперсонации) для полного тестирования
|
2026-06-13 07:52:01 +04:00 |
|
naeel
|
616b4ead09
|
v2: подробные комментарии во всех модулях — что, зачем, контракты
|
2026-06-13 07:37:07 +04:00 |
|
naeel
|
1af304b2a8
|
v2: admin — дашборд компаний, аудит, лимиты, просмотр записей
|
2026-06-13 07:31:01 +04:00 |
|
naeel
|
9454e9853f
|
v2: userFlow action + ENABLE_TEST_API флаг — отключение без удаления кода
|
2026-06-13 07:25:36 +04:00 |
|
naeel
|
fe5a7d0d37
|
v2: выделение валидации — validate() в crud, db/queries получает готовый cidr
|
2026-06-13 07:11:53 +04:00 |
|
naeel
|
3c061b6c4b
|
v2: разделение слоёв — crud/index.js API-слой, user/ и test/ через crud
|
2026-06-13 06:55:18 +04:00 |
|
naeel
|
4b5ccc6a4c
|
v2: fix chaos test — CIDR от 11 (10.x заблокирован), по 10 на компанию, проверка всех компаний
|
2026-06-12 23:04:40 +04:00 |
|
naeel
|
5bc1b5773a
|
v2: fix test router mount /test/api → /test, /chaos теперь доступен без авторизации
|
2026-06-12 23:01:28 +04:00 |
|
naeel
|
0925ae4fd8
|
v2: /v2/test/chaos — параллельный хаос-тест внутри приложения (Promise.all)
|
2026-06-12 22:56:57 +04:00 |
|
naeel
|
2f59c033ac
|
v2: убран хаос — curl через сеть слишком медленный
|
2026-06-12 22:55:23 +04:00 |
|
naeel
|
81921c4e38
|
v2: упрощённый хаос — 30 последовательных запросов с задержками
|
2026-06-12 22:49:13 +04:00 |
|
naeel
|
23c59c1aae
|
v2: fix switch case in test API (был сломан sed-ом)
|
2026-06-12 22:29:24 +04:00 |
|
naeel
|
1772ade84b
|
v2: test API — action=switch для переключения компаний
|
2026-06-12 22:02:12 +04:00 |
|
naeel
|
545d1c8aac
|
v2: /v2/test/api — CRUD эндпоинт + внешние тесты curl
|
2026-06-12 21:43:28 +04:00 |
|
naeel
|
7f7124e44e
|
v2: встроенные CRUD-тесты — /v2/test/crud (production-база)
|
2026-06-12 21:40:22 +04:00 |
|
naeel
|
8522988151
|
v2: /v2/login → returnTo=/v2/app
|
2026-06-12 21:21:16 +04:00 |
|
naeel
|
cd49398660
|
v2: убран v2_ префикс из req.* — роутер и модули согласованы
|
2026-06-12 21:19:43 +04:00 |
|
naeel
|
d3b753e6bd
|
v2: убраны v2_ префиксы сессии — user/adminMode/token как в основном коде
|
2026-06-12 21:13:15 +04:00 |
|
naeel
|
287d196eaf
|
v2: resolveContext — копирует session.user → v2_user если нет своей
|
2026-06-12 21:10:36 +04:00 |
|
naeel
|
a835cf0f16
|
v2: user CRUD + schema автозапуск + router тесты — модуль пользователя готов
|
2026-06-12 21:09:30 +04:00 |
|
naeel
|
df72fa2fe1
|
v2: роутер по роли + пустышки user/admin — resolveContext middleware
|
2026-06-12 21:03:41 +04:00 |
|
naeel
|
15da5cd441
|
v2: fio — строка (fullName), не объект
|
2026-06-12 20:54:48 +04:00 |
|
naeel
|
b18429049e
|
v2: минимум — /v2/login→основной, /v2/iam→IAM-данные из сессии
|
2026-06-12 20:42:14 +04:00 |
|
naeel
|
eacf90e433
|
v2: откат auth/config/server к 5c09844 — чистый модуль аутентификации
|
2026-06-12 20:15:02 +04:00 |
|
naeel
|
33b879c098
|
v2: ⚠️ КОСТЫЛЬ /v2/test — вход с TEST_TOKEN (WZ01112) в обход Keycloak
|
2026-06-12 17:37:32 +04:00 |
|
naeel
|
0dc9820a31
|
v2: версия 0.5.70 — отображается в /v2 и /v2/app
|
2026-06-12 17:08:46 +04:00 |
|
naeel
|
1a2dd87705
|
v2: schema создаётся внутри v2, основной server.js не трогаем
|
2026-06-12 17:05:48 +04:00 |
|
naeel
|
522d2adfda
|
v2: отдельный модуль schema.js — автосоздание таблиц при старте
|
2026-06-12 17:04:25 +04:00 |
|
naeel
|
e91f1b0ff3
|
v2: CRUD-модуль — /v2/app с выбором компании, добавление/изменение/удаление записей
|
2026-06-12 16:53:33 +04:00 |
|
naeel
|
03d480de12
|
v2: документирован конфиг — тестовый KC vs production, инструкция перехода
|
2026-06-12 16:43:20 +04:00 |
|
naeel
|
53f2b49049
|
v2: убран JWT fallback — IAM обязателен, нет IAM = ошибка
|
2026-06-12 16:41:39 +04:00 |
|
naeel
|
21a2c65296
|
v2: IAM fallback — JWT claims если IAM недоступен
|
2026-06-12 16:31:18 +04:00 |
|