Commit Graph
100 Commits
Author SHA1 Message Date
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
naeel 799406df78 v0.5.120: убран save() при switchTo, Express сам сохранит сессию 2026-06-15 15:31:57 +04:00
naeel bde68c00a1 v0.5.119: ссылка на /export в футере для админа 2026-06-15 15:29:30 +04:00
naeel 02abab93d7 v0.5.118: фикс смены компании при имперсонации 2026-06-15 15:26:36 +04:00
naeel 2233d3f94d v0.5.117: при имперсонации email в UI от таргета, не от админа 2026-06-15 15:19:11 +04:00
naeel cb1e4fac22 v0.5.116: фикс impersonatedCompanyId в сессии + тестовая имперсонация по трём ENV 2026-06-15 15:05:21 +04:00