Commit Graph
387 Commits
Author SHA1 Message Date
Repinoid 2a2f5cf662 chore: update ignore rules 2026-10-27 14:09:03 +03:00
“Naeel” 50069c0ba6 1 2026-08-27 12:50:26 +03:00
“Naeel” 182acc66f9 feat: честный /health эндпоинт с расширенной диагностикой (без секретов) 2026-08-26 19:47:33 +03:00
naeel b4a5e9c615 gitignore: игнорировать .venv/ 2026-08-18 22:29:45 +04:00
naeel 09c0f0924a gitignore: игнорировать вложенный репо getpgdata/ 2026-08-18 22:28:10 +04:00
“Naeel” 7788633e0d Fix: таймаут с диагностикой PG (URL + статус БД). Версия 0.1.25 2026-07-09 10:37:32 +04:00
“Naeel” d62f646e17 Fix: таймаут 10с на все запросы — не висим, не даём nginx 503. Версия 0.1.25 2026-07-09 10:36:17 +04:00
“Naeel” 944faf8277 Fix: connectionTimeoutMillis=5s, idleTimeoutMillis=10s — пул не виснет. Версия 0.1.24 2026-07-09 07:57:06 +04:00
“Naeel” 95b8a7335b Миграции: JS-строки, транзакции, _migrations таблица. Без fs/path. Версия 0.1.23 2026-07-09 07:32:50 +04:00
“Naeel” e4a494f18c /v2/db/query — SELECT SQL-endpoint для ADMIN_EMAIL. Версия 0.1.22 2026-07-09 07:30:11 +04:00
“Naeel” 56a064888e Док: консультация с Соннетом — EPERM не PG, проблема платформы 2026-07-09 07:24:08 +04:00
“Naeel” b9092df65d Чистый ensureSchema: только CREATE TABLE IF NOT EXISTS, без миграций. Версия 0.1.21 2026-07-09 00:27:53 +04:00
“Naeel” 42755f7d4d Fix: DO$$ блок проверяет RESTORE перед DROP — идемпотентно. Версия 0.1.20 2026-07-09 00:26:31 +04:00
“Naeel” e26c91e4e0 Док: разбор инцидента 2026-07-08 (PG OOM + EPERM) 2026-07-09 00:21:31 +04:00
“Naeel” 8885dae50a Расширенная диагностика PG: /v2/db-status — DNS, коннект, таблицы, пул. Версия 0.1.19 2026-07-09 00:02:10 +04:00
“Naeel” e1f238917d /v2/db-status — проверка DNS и подключения к PG. Версия 0.1.18 2026-07-09 00:00:30 +04:00
“Naeel” b6bd805874 Fix: errorPage undefined — заменён на inline HTML. Версия 0.1.17 2026-07-08 22:22:02 +04:00
“Naeel” 1f8114ec1a Fix: /ready всегда 200 — nginx не блокирует трафик. Версия 0.1.16 2026-07-08 22:20:09 +04:00
“Naeel” 9ad95a66bc Версия 0.1.15 2026-07-08 21:29:43 +04:00
“Naeel” 405ffc9deb Fix: ошибки показывают реальную причину, не скрытую 2026-07-08 21:29:28 +04:00
“Naeel” 87d03cd538 Fix: убран process.exit(1) — приложение не падает, показывает сообщение об ошибке. Версия 0.1.14 2026-07-08 21:20:43 +04:00
“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” b26595d08f 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” 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” b0d4d1191f документация: сессия 2026-06-22 — export view=2, баг имперсонации, TZ аудит 2026-06-22 23:59:15 +04:00
“Naeel” e9451c9e65 v0.1.7: аудит — время Москвы вместо UTC 2026-06-22 23:39:19 +04:00
“Naeel” 4ed7c40b55 удалены временные файлы 2026-06-22 23:21:18 +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” c14e70aba7 version reset to 0.1.1 2026-06-22 20:25:04 +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” b0c939d642 v0.5.178: graceful shutdown, CSRF_SECRET fail-fast, /ready probe 2026-06-22 20:02:01 +04:00
“Naeel” 587da4222b v0.5.177: sticky header таблицы 2026-06-22 19:51:40 +04:00
“Naeel” 5c76c92f05 v0.5.176: fix rateLimit path (../../ → ../) 2026-06-22 19:44:12 +04:00
“Naeel” 85038c3bd3 v0.5.175: safeReturn fix, stack trace не утекает 2026-06-22 19:31:11 +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” 51b8d8ded4 v0.5.171: IAM debug страницы только для canAdmin 2026-06-22 18:25:12 +04:00
“Naeel” e00a0c0d7e v0.5.170: action=wipe — удаление всех записей компании 2026-06-22 18:20:25 +04:00
“Naeel” 85439584db v0.5.169: /v2/test только для ADMIN_EMAIL 2026-06-22 18:06:51 +04:00