Commit Graph
10 Commits
Author SHA1 Message Date
naeel 764592ba60 fix: код-ревью #5 #6 #8 #9 #10 — 5 исправлений (v1.2.43)
#5 api_history: try/finally для conn/cur (как везде)
#6 stand_name: точное сравнение URL вместо substring
#8 get_real_client: удалён мёртвый алиас
#9 UNIQUE индекс idx_runs_op_uid для предотвращения гонок
#10 flock flush: f.flush() перед LOCK_UN в ротации лога
#7 (отступ scenario.py) пропущен — только косметика, риск сломать else:
2026-08-04 08:02:08 +04:00
naeel 126500a30b fix: whitelist mode/polygon_stand — защита от мусора в cookie (v1.2.42)
Результат код-ревью #3:
  mode/polygon_stand принимали любые значения из формы.
  Добавлена валидация в main.py (set_mode) и auth.py (get_mode, get_polygon_stand):
  mode ∈ {polygon, cloud}, stand ∈ {dev, test, prod}.
2026-08-04 07:32:06 +04:00
naeel cc7805a429 perf: кеширование detect_endpoint в flask.g — минус 2 HTTP-запроса (v1.2.41)
Результат код-ревью #2:
  get_client() и get_stand() вызывали detect_endpoint() независимо
  → двойной HTTP-запрос к Nubes API на каждый рендер страницы.

  _cached_detect(token) кеширует результат в flask.g на время запроса.
2026-08-04 07:26:26 +04:00
naeel 9a801e6bff fix: URL полигона — стенд перед /api/v1/svc, а не после (v1.2.31)
Было:  https://polygon.../api/v1/svc/test/instances → 404
Стало: https://polygon.../test/api/v1/svc/instances → OK

Замена /api/v1/svc → /{stand}/api/v1/svc.
2026-08-03 08:56:29 +04:00
naeel 0a62eb3c58 feat: селектор режима и стенда (v1.2.30)
Новое:
- Селектор режима (🎭 Эмуляция / ☁️ Облако) над версией
- Селектор стенда (DEV/TEST/PROD) в режиме эмуляции
- В эмуляции — всё в полигон (/stand/api/v1/svc)
- В эмуляции — токен дезактивирован
- По умолчанию: эмуляция + TEST

Изменено:
- auth.py: get_mode(), get_polygon_stand(), get_client() с префиксом стенда
- main.py: action=set_mode, единый get_client() вместо real_client/inst_client
- index.html: селекторы, disable токена
- service_list.py: обрезка polygon_ префикса
- api_test.py: get_real_client → get_client

Задокументировано в HISTORY/2026-08-03-session.md.
2026-08-03 08:50:14 +04:00
naeel dcd978808d fix: разделение клиентов — сервисы из real API, инстансы/операции из polygon (v1.2.28) 2026-08-01 09:22:02 +04:00
naeel 4a0cfcaa61 feat: POLYGON_ENDPOINT — отдельная переменная, не трогает NUBES_API_TOKEN (v1.2.26) 2026-07-31 23:42:41 +04:00
naeel a398892766 feat: интеграция с polygon — STANDS-check в get_client/get_stand (v1.2.24) 2026-07-31 22:45:27 +04:00
naeel 0783319fd1 Рефакторинг API-слоя, операций и БД 2026-07-31 17:13:54 +04:00
naeel f6a7bf76c5 v1.0.90: Steps 1-4 — auth.py, dedup, httponly cookie, _op_results TTL 2026-07-27 22:56:51 +04:00