Commit Graph
94 Commits
Author SHA1 Message Date
“Naeel” a278af8804 Откат миграций: старый ensureSchema без applyMigrations 2026-07-08 15:09:26 +04:00
“Naeel” bcb70aa9fe Export: убран filename из Content-Disposition для диалога сохранения
Версия: 0.1.13
Документация: db-query-endpoint.md
2026-07-08 14:57:17 +04:00
“Naeel” 10d2e850a0 Удалена эмуляция имперсонации (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” 1bba7d73e2 Миграции: _migrations + applyMigrations + sql/migrations/
APP_ENV: test/production с жёлтым баннером в UI
Config: версия 0.1.12
2026-07-08 07:11:16 +04:00
“Naeel” 3647ad34bc 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” 4e6a0baafc 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” b8dd9e10a9 v0.1.8: clean-all — очистка всех таблиц перед сдачей в прод 2026-06-23 12:51:44 +04:00
“Naeel” 2a67c56739 v0.1.6: фикс детекции имперсонации — isImpersonated вместо impersonatedCompanyId 2026-06-22 23:20:18 +04:00
“Naeel” ee64184b26 export view=2: padStart(2) плотнее 2026-06-22 20:48:40 +04:00
“Naeel” 9cab0565a7 export view=2: text-align:right в ячейках 2026-06-22 20:47:34 +04:00
“Naeel” 0d70937ab7 export view=2: таблица без точек, октеты в своих ячейках 2026-06-22 20:47:02 +04:00
“Naeel” 440782fdda export view=2 fix: white-space:pre чтобы пробелы не схлопывались 2026-06-22 20:46:33 +04:00
“Naeel” 49b5b4c06e export padIP: пробелы вокруг / 2026-06-22 20:23:09 +04:00
“Naeel” bd5db801bf export view=2 HTML table 2026-06-22 20:22:37 +04:00
“Naeel” eed88ecadf v0.5.174: timeout IAM 5с, rate-limiters на login/CRUD/export 2026-06-22 19:24:58 +04:00
“Naeel” c6ca9c4389 v0.5.173: OIDC state всегда, CSRF смонтирован, session.regenerate 2026-06-22 19:22:42 +04:00
“Naeel” 087640dfe6 v0.5.172: удалён /debug-session, UNIQUE индекс, убраны test/dev IAM 2026-06-22 19:00:10 +04:00
“Naeel” e00a0c0d7e v0.5.170: action=wipe — удаление всех записей компании 2026-06-22 18:20:25 +04:00
“Naeel” b20481b0ff v0.5.159: fix aggregateCIDRs — баг с 1<<31, склеивание /32 2026-06-18 17:14:20 +04:00
“Naeel” 5ac4198a28 v0.5.158: logout без KC, 401=destroy+redirect SSO 2026-06-17 20:51:12 +04:00
“Naeel” 882ba84dc1 v0.5.157: resolveContext проверяет имперсонацию через IAM на каждый запрос 2026-06-17 16:20:59 +04:00
“Naeel” c942814c0e Revert "v0.5.148: move impersonation-check to /v2/app?impersonation-check"
This reverts commit 2aca26bf37.
2026-06-17 09:03:32 +04:00
“Naeel” 2aca26bf37 v0.5.148: move impersonation-check to /v2/app?impersonation-check 2026-06-17 08:58:50 +04:00
“Naeel” f899676b09 v0.5.143: split по / тоже 2026-06-16 06:41:14 +04:00
“Naeel” c14fb3eddd v0.5.143: split по пробелам и запятым 2026-06-16 06:09:33 +04:00
“Naeel” 8181a3b842 v0.5.143: IMP_ALLOWED вместо IMPERSONATION_ALLOWED_USERS 2026-06-16 06:00:35 +04:00
“Naeel” 944247365f v0.5.142: URL-имперсонация, убраны старые ENV 2026-06-16 05:53:31 +04:00
“Naeel” 8e32441866 v0.5.141: impersonatedBy = originalUserEmail (админ в аудите) 2026-06-16 05:34:39 +04:00
“Naeel” 0df031bed1 v0.5.136: ↺ яркая, deleted сохраняется после restore/delete 2026-06-16 04:51:42 +04:00
“Naeel” d600393b44 v0.5.134: восстановление записей, кнопка удалённых, время МСК 2026-06-16 04:39:21 +04:00
“Naeel” 5e4456cf66 v0.5.132: ADMIN_EMAIL в resolveContext для всех 2026-06-15 17:12:14 +04:00
“Naeel” f6c8700c26 v0.5.131: isAdmin при имперсонации по ADMIN_EMAIL 2026-06-15 17:11:14 +04:00
“Naeel” 829dd17906 v0.5.130: имперсонация не сохраняет isAdmin от оригинала 2026-06-15 17:09:15 +04:00
“Naeel” e57de54fc4 v0.5.129: кнопка Выбрать, убран весь debug 2026-06-15 16:55:13 +04:00
“Naeel” 61bf162eaa v0.5.127: clId обновляется после switchTo 2026-06-15 16:47:47 +04:00
“Naeel” 02e6ec7024 v0.5.125: switchTo без редиректа, дебаг на странице 2026-06-15 16:37:29 +04:00
“Naeel” be31832ec4 debug: логирование switchTo, resolveContext, enhanceImpersonation 2026-06-15 16:30:23 +04:00
“Naeel” f9570d58f6 v0.5.123: switchTo перед crud.list, activeClientId не затирается 2026-06-15 16:16:36 +04:00
“Naeel” dcab127e49 v0.5.122: save() при switchTo, редирект после сохранения сессии 2026-06-15 15:53:55 +04:00
“Naeel” 1d32f54c10 v0.5.121: switchTo после crud.list, без save() и без impersonationCompanyId 2026-06-15 15:45:58 +04:00
“Naeel” 8241d095fa Revert "v0.5.121: clientId всегда activeClientId || clientId, без спецлогики"
This reverts commit 24153b29ea.
2026-06-15 15:33:51 +04:00
“Naeel” 24153b29ea v0.5.121: clientId всегда activeClientId || clientId, без спецлогики 2026-06-15 15:33:38 +04:00
“Naeel” d0eed95dc7 v0.5.120: убран save() при switchTo, Express сам сохранит сессию 2026-06-15 15:31:57 +04:00
“Naeel” 5083665afc v0.5.118: фикс смены компании при имперсонации 2026-06-15 15:26:36 +04:00
“Naeel” 42f6ab22b4 v0.5.117: при имперсонации email в UI от таргета, не от админа 2026-06-15 15:19:11 +04:00
“Naeel” 2b36d0f692 v0.5.116: фикс impersonatedCompanyId в сессии + тестовая имперсонация по трём ENV 2026-06-15 15:05:21 +04:00
“Naeel” 344b65aa36 восстановление тестовой имперсонации 2026-06-15 14:53:50 +04:00
“Naeel” 6c52dc88b0 revert: откат имперсонации к v0.5.115 до обсуждения 2026-06-15 14:53:21 +04:00
“Naeel” a21e8d076b v0.5.115: тестовая имперсонация — полная подмена данных через ENV 2026-06-15 14:52:19 +04:00
“Naeel” 561c5f1ba7 v0.5.115: имперсонация проверяет originalUserEmail, компании добавляются имперсонируемому 2026-06-15 14:47:38 +04:00