naeel
b3f5c4903e
Чистый ensureSchema: только CREATE TABLE IF NOT EXISTS, без миграций. Версия 0.1.21
2026-07-09 00:27:53 +04:00
naeel
3e15fd4973
Fix: DO$$ блок проверяет RESTORE перед DROP — идемпотентно. Версия 0.1.20
2026-07-09 00:26:31 +04:00
naeel
2390c655f9
Док: разбор инцидента 2026-07-08 (PG OOM + EPERM)
2026-07-09 00:21:31 +04:00
naeel
2a19195dc7
Расширенная диагностика PG: /v2/db-status — DNS, коннект, таблицы, пул. Версия 0.1.19
2026-07-09 00:02:10 +04:00
naeel
a3aaeef5d1
/v2/db-status — проверка DNS и подключения к PG. Версия 0.1.18
2026-07-09 00:00:30 +04:00
naeel
9dec159e3d
Fix: errorPage undefined — заменён на inline HTML. Версия 0.1.17
2026-07-08 22:22:02 +04:00
naeel
158de70e4e
Fix: /ready всегда 200 — nginx не блокирует трафик. Версия 0.1.16
2026-07-08 22:20:09 +04:00
naeel
cfdbae0653
Версия 0.1.15
2026-07-08 21:29:43 +04:00
naeel
036441a9f1
Fix: ошибки показывают реальную причину, не скрытую
2026-07-08 21:29:28 +04:00
naeel
1b902c5540
Fix: убран process.exit(1) — приложение не падает, показывает сообщение об ошибке. Версия 0.1.14
2026-07-08 21:20:43 +04:00
naeel
771473c97a
Откат миграций: старый ensureSchema без applyMigrations
2026-07-08 15:09:26 +04:00
naeel
4bdcb4c363
Export: убран filename из Content-Disposition для диалога сохранения
...
Версия: 0.1.13
Документация: db-query-endpoint.md
2026-07-08 14:57:17 +04:00
naeel
d20bd85a7d
Удалена эмуляция имперсонации (enhanceImpersonation)
...
- Удалён v2/src/impersonation/index.js (URL-эмуляция)
- Удалён enhanceImpersonation из middleware цепочек /app и /admin
- Боевая checkImpersonation (IAM) не тронута
- Версия 0.1.12
2026-07-08 07:13:57 +04:00
naeel
591a4c3216
Миграции: _migrations + applyMigrations + sql/migrations/
...
APP_ENV: test/production с жёлтым баннером в UI
Config: версия 0.1.12
2026-07-08 07:11:16 +04:00
naeel
7982a82286
feat: кнопка Выйти → /logout (OIDC) с предупреждением о SSO
...
- Возвращена кнопка в user.ejs, href=/logout вместо /v2/logout
- confirm() перед выходом: предупреждает что завершатся ВСЕ сессии Nubes
- /logout → destroy сессии Express → редирект на Keycloak OIDC logout
v0.1.10 → v0.1.11
2026-07-02 08:38:29 +04:00
naeel
fc5aa7ca09
fix(audit): убрано ограничение по дате — по умолчанию ВСЕ записи
...
- getAudit(): days=null → без фильтра WHERE по дате
- days передаётся только если явно выбран фильтр 30/90/365
- admin-audit.ejs: кнопка «Всё» (активна по умолчанию), заголовок «(всё время)»
v0.1.9 → v0.1.10
2026-07-01 18:39:49 +04:00
naeel
8dc7940318
fix: три бага — CSRF в админке, пагинация аудита, скрыта кнопка выхода
...
1. Изменение лимитов (Баг 1): добавлен CSRF-токен в форму /v2/admin/limit
- v2/src/admin/index.js: createAdminRouter принимает {generateCsrfToken},
передаёт csrfToken в шаблон admin.ejs
- views/v2/admin.ejs: скрытое поле <input name=_csrf> в форме лимита
2. Журнал операций (Баг 2): пагинация + фильтр по дате вместо хардкод LIMIT 500
- v2/src/db/queries.js: getAudit({companyId,days,page,limit}) —
COUNT(*) OVER() для пагинации, WHERE created_at > NOW() - INTERVAL
- v2/src/admin/index.js: чтение days/page из query string, limit=100
- views/v2/admin-audit.ejs: фильтр 30/90/365 дней, prev/next пагинация
3. Кнопка Выйти (Баг 3): скрыта, т.к. /v2/logout не разлогинивает из Keycloak
- views/v2/user.ejs: кнопка закомментирована с пояснением
v0.1.8 → v0.1.9
2026-07-01 18:26:06 +04:00
naeel
2a37697afb
v0.1.8: clean-all — очистка всех таблиц перед сдачей в прод
2026-06-23 12:51:44 +04:00
naeel
4ee032ba8d
документация: сессия 2026-06-22 — export view=2, баг имперсонации, TZ аудит
2026-06-22 23:59:15 +04:00
naeel
f898aabe7d
v0.1.7: аудит — время Москвы вместо UTC
2026-06-22 23:39:19 +04:00
naeel
74e69fa4be
удалены временные файлы
2026-06-22 23:21:18 +04:00
naeel
5d292687ce
v0.1.6: фикс детекции имперсонации — isImpersonated вместо impersonatedCompanyId
2026-06-22 23:20:18 +04:00
naeel
25f53cf808
export view=2: padStart(2) плотнее
2026-06-22 20:48:40 +04:00
naeel
6e464c58dd
export view=2: text-align:right в ячейках
2026-06-22 20:47:34 +04:00
naeel
cf97a8c9bf
export view=2: таблица без точек, октеты в своих ячейках
2026-06-22 20:47:02 +04:00
naeel
ac7009f1e0
export view=2 fix: white-space:pre чтобы пробелы не схлопывались
2026-06-22 20:46:33 +04:00
naeel
1b255362ce
version reset to 0.1.1
2026-06-22 20:25:04 +04:00
naeel
5565e067ef
export padIP: пробелы вокруг /
2026-06-22 20:23:09 +04:00
naeel
deeb54af1c
export view=2 HTML table
2026-06-22 20:22:37 +04:00
naeel
73afce35bd
v0.5.178: graceful shutdown, CSRF_SECRET fail-fast, /ready probe
2026-06-22 20:02:01 +04:00
naeel
d8f8c00f30
v0.5.177: sticky header таблицы
2026-06-22 19:51:40 +04:00
naeel
cf2e703d54
v0.5.176: fix rateLimit path (../../ → ../)
2026-06-22 19:44:12 +04:00
naeel
68c3edd8d8
v0.5.175: safeReturn fix, stack trace не утекает
2026-06-22 19:31:11 +04:00
naeel
df697cd703
v0.5.174: timeout IAM 5с, rate-limiters на login/CRUD/export
2026-06-22 19:24:58 +04:00
naeel
0135d28189
v0.5.173: OIDC state всегда, CSRF смонтирован, session.regenerate
2026-06-22 19:22:42 +04:00
naeel
e943b33a04
v0.5.172: удалён /debug-session, UNIQUE индекс, убраны test/dev IAM
2026-06-22 19:00:10 +04:00
naeel
ff1f195a2d
v0.5.171: IAM debug страницы только для canAdmin
2026-06-22 18:25:12 +04:00
naeel
4c764eb794
v0.5.170: action=wipe — удаление всех записей компании
2026-06-22 18:20:25 +04:00
naeel
4c39eae4a7
v0.5.169: /v2/test только для ADMIN_EMAIL
2026-06-22 18:06:51 +04:00
naeel
a8846d90f2
v0.5.168: удалена v1_legacy из master (сохранена в stable-2026-06-22-legacy)
2026-06-22 17:54:32 +04:00
naeel
ef546a9dcb
v0.5.167: 9 новых тестов — aggregateCIDRs, v2 config, v1_legacy
2026-06-22 17:52:49 +04:00
naeel
3d20c2a31d
v0.5.166: /export→/v2/export редирект, экспорт только админам
2026-06-22 17:46:52 +04:00
naeel
24f1d5af77
v0.5.164: закомментированы старые UI/Api/export, всё в v2
2026-06-22 17:23:56 +04:00
naeel
9e6e22fadc
v0.5.163: полосатость ярче
2026-06-22 15:08:15 +04:00
naeel
7049b5aaa9
v0.5.162: полосатость таблицы, отступы в справке
2026-06-22 15:01:41 +04:00
naeel
f709959478
v0.5.161: точный текст справки из help.md + ссылка на сервис
2026-06-22 14:52:13 +04:00
naeel
d2c621cf38
v0.5.160: справка под таблицей на главной
2026-06-22 14:42:47 +04:00
naeel
400908985e
v0.5.159: fix aggregateCIDRs — баг с 1<<31, склеивание /32
2026-06-18 17:14:20 +04:00
naeel
2d164fb9ee
v0.5.158: logout без KC, 401=destroy+redirect SSO
2026-06-17 20:51:12 +04:00
naeel
c823ae8128
v0.5.157: resolveContext проверяет имперсонацию через IAM на каждый запрос
2026-06-17 16:20:59 +04:00
naeel
b1d670a6bf
v0.5.156: 'Нет токена' → редирект на /v2/login
2026-06-17 15:58:38 +04:00
naeel
d72bb84d25
v0.5.155: src/auth.js переведён на v2/config IAM_API_BASE
2026-06-17 14:44:04 +04:00
naeel
fb17c83e60
v0.5.154: fix приоритет IAM_API_URL, docs/IAM-ENV.md
2026-06-17 14:30:59 +04:00
naeel
f60713f127
v0.5.153: приоритет IAM_API_BASE выше IAM_API_URL
2026-06-17 14:03:21 +04:00
naeel
74f805682f
v0.5.152: fix приоритет IAM_API_URL выше IAM_API_BASE
2026-06-17 13:51:04 +04:00
naeel
060b20002c
v0.5.151: IAM_API_URL → IAM_API_BASE (единая переменная)
2026-06-17 11:35:30 +04:00
naeel
24fb8cdc56
v0.5.150: IAM_API_URL dev→prod, confirm logout
2026-06-17 11:10:52 +04:00
naeel
710dcfc7c9
v0.5.149: kcBaseUrl italo → login.ngcloud.ru
2026-06-17 10:24:16 +04:00
naeel
c50ef814e2
v0.5.149: удалён italo из v2/config
2026-06-17 10:15:33 +04:00
naeel
30001062d4
v0.5.149: config.iamApiBase — ENV IAM_API_BASE для переключения IAM API
2026-06-17 10:12:52 +04:00
naeel
92f0314a20
v0.5.148: /v2/iam-gateway-test — сравнение auth-api vs lk-api-gateway
2026-06-17 10:00:53 +04:00
naeel
fa75f8317d
v0.5.147: новый путь /v2/iam-gateway-test
2026-06-17 10:00:27 +04:00
naeel
90b6c509c0
v0.5.147: /v2/impersonation-check — сравнение auth-api vs lk-api-gateway
2026-06-17 09:46:17 +04:00
naeel
102f4279dc
v0.5.147: /v2/impersonation-check — 3 GET запроса к IAM с перехватом ошибок
2026-06-17 09:09:38 +04:00
naeel
b7e62f0468
v0.5.147: /v2/impersonation-check — просто текст для проверки пути
2026-06-17 09:05:33 +04:00
naeel
7f8aae0d62
Revert "v0.5.148: move impersonation-check to /v2/app?impersonation-check"
...
This reverts commit 6899bc40d3 .
2026-06-17 09:03:32 +04:00
naeel
6899bc40d3
v0.5.148: move impersonation-check to /v2/app?impersonation-check
2026-06-17 08:58:50 +04:00
naeel
9f44281f9f
v0.5.147: add /v2/impersonation-check page with IAM GET endpoints
2026-06-17 08:54:39 +04:00
naeel
e68e1a483c
v0.5.146: /iam_response_test, /iam_response_dev
2026-06-16 13:50:05 +04:00
naeel
4cd1ab8c8e
v0.5.145: /v2/iam_response через mainAuth.fetchIamUser
2026-06-16 13:21:13 +04:00
naeel
10b890437d
v0.5.144: /v2/iam_response — сырой ответ IAM
2026-06-16 13:17:16 +04:00
naeel
b24cd75a9e
v0.5.143: split по / тоже
2026-06-16 06:41:14 +04:00
naeel
df0dd73451
v0.5.143: split по пробелам и запятым
2026-06-16 06:09:33 +04:00
naeel
8f9fc4e3ee
v0.5.143: IMP_ALLOWED вместо IMPERSONATION_ALLOWED_USERS
2026-06-16 06:00:35 +04:00
naeel
9e3ba1c97c
v0.5.142: URL-имперсонация, убраны старые ENV
2026-06-16 05:53:31 +04:00
naeel
eba1b4974e
v0.5.141: impersonatedBy = originalUserEmail (админ в аудите)
2026-06-16 05:34:39 +04:00
naeel
8deea87996
v0.5.140: дата без nowrap, поля правки шире
2026-06-16 05:20:25 +04:00
naeel
a6d64e1e6c
документация: история версий
2026-06-16 05:11:42 +04:00
naeel
795a41496f
v0.5.139: ширина столбцов — CIDR мин, комментарий широкий
2026-06-16 05:11:26 +04:00
naeel
08abab6e36
v0.5.138: CSP script-src-attr unsafe-inline для onchange
2026-06-16 05:05:37 +04:00
naeel
0e1f34c913
v0.5.137: onchange + console.log для проверки
2026-06-16 05:01:30 +04:00
naeel
24e0e39782
v0.5.136: ↺ яркая, deleted сохраняется после restore/delete
2026-06-16 04:51:42 +04:00
naeel
c4d592dcbe
v0.5.135: UI таблицы — разделение столбцов, 💾 , размеры
2026-06-16 04:48:41 +04:00
naeel
86a39c7881
v0.5.134: восстановление записей, кнопка удалённых, время МСК
2026-06-16 04:39:21 +04:00
naeel
f0743c6bfe
v0.5.133: type=submit на кнопке удаления
2026-06-15 17:17:43 +04:00
naeel
c5cd577561
v0.5.132: ADMIN_EMAIL в resolveContext для всех
2026-06-15 17:12:14 +04:00
naeel
5941899c9c
v0.5.131: isAdmin при имперсонации по ADMIN_EMAIL
2026-06-15 17:11:14 +04:00
naeel
ecf6638683
v0.5.130: имперсонация не сохраняет isAdmin от оригинала
2026-06-15 17:09:15 +04:00
naeel
e440700a72
v0.5.129: кнопка Выбрать, убран весь debug
2026-06-15 16:55:13 +04:00
naeel
b41af5649f
v0.5.128: обратно onchange, кнопка не нужна
2026-06-15 16:51:17 +04:00
naeel
bf72cb49fc
v0.5.127: clId обновляется после switchTo
2026-06-15 16:47:47 +04:00
naeel
235da375c4
v0.5.126
2026-06-15 16:41:17 +04:00
naeel
6660cb3c77
v0.5.125: кнопка Выбрать вместо onchange
2026-06-15 16:41:04 +04:00
naeel
ee0cf68fe3
v0.5.125: switchTo без редиректа, дебаг на странице
2026-06-15 16:37:29 +04:00
naeel
3493d45065
debug: логирование switchTo, resolveContext, enhanceImpersonation
2026-06-15 16:30:23 +04:00
naeel
e2aaf3f425
v0.5.123: switchTo перед crud.list, activeClientId не затирается
2026-06-15 16:16:36 +04:00
naeel
f215fa8e32
v0.5.122: save() при switchTo, редирект после сохранения сессии
2026-06-15 15:53:55 +04:00
naeel
6b994d0938
v0.5.121: switchTo после crud.list, без save() и без impersonationCompanyId
2026-06-15 15:45:58 +04:00
naeel
08e20c10ac
Revert "v0.5.121: clientId всегда activeClientId || clientId, без спецлогики"
...
This reverts commit 1b043713a9 .
2026-06-15 15:33:51 +04:00
naeel
1b043713a9
v0.5.121: clientId всегда activeClientId || clientId, без спецлогики
2026-06-15 15:33:38 +04:00