Files
omc-servicedesk-monitor/HISTORY.md
2026-04-06 09:37:33 +00:00

6.2 KiB
Raw Permalink Blame History

История изменений

2026-04-06 09:37 UTC Загрузка из БД при пустой таблице

Проблема: При открытии главной страницы данные из PostgreSQL подставлялись только если GET /api/incidents возвращал непустой rows; при пустой базе processData не вызывался, дашборд оставался скрытым до первой загрузки файла.

Решение: После успешного ответа API всегда вызывается processData(rows) (в том числе для пустого массива); показ индикатора «Загрузка данных из базы…», отдельные сообщения для непустой и пустой выборки, вывод ошибки при недоступности API.

Изменения: index.html (tryLoadFromDb).

Проверка: Открытие главной при пустой БД — видны KPI/диаграммы в нулевом состоянии и сообщение о пустой базе; при наличии записей — прежнее поведение.


2026-04-06 18:00 UTC Многостраничный UI: загрузка на data.html

Проблема: Источник данных и кнопка загрузки должны быть на отдельной странице; на ней же — сводка по числу объектов в БД и по последней загрузке.

Решение: Вынесены стили в css/dashboard.css; добавлены data.html (загрузка, блоки статистики, upload-core.js) и навигация в шапке между index.html и data.html. С главной убраны PapaParse/XLSX и логика выбора файла.

Проверка: Открытие /data.html, загрузка sample-data.csv, проверка счётчиков и переход на мониторинг.


2026-04-06 17:00 UTC Проверка docker compose api и Nginx для /api/

Проблема: Запросы к https://sd.gen7x.ru/api/health отдавали 404: регекс статики ~* \.(json|…)$ перехватывал URI раньше префикса /api/.

Решение: В sd.gen7x.ru.conf для API использован location ^~ /api/. Проверены docker compose up -d api, curl на :3910 и через HTTPS.

Изменения: Nginx; README — блок «Проверка после развёртывания»; /root/docs/docs/history.md.


2026-04-06 16:00 UTC Сохранение загрузки в PostgreSQL (ключ «Название»)

Проблема: Нужно хранить выгрузки в БД: по ключу «Название» обновлять запись или вставлять новую.

Решение: Добавлен API на Node.js (Express + pg), таблица incidents (number_key PK, data JSONB). После разбора файла фронт вызывает POST /api/incidents/sync; при открытии — GET /api/incidents. Nginx на sd.gen7x.ru проксирует /api/ на 127.0.0.1:3910. Контейнер omc-sd-api в сети docker_gen7x_network, БД omc_sd_monitor в существующем Postgres.

Изменения: каталог server/, docker-compose.yml (сервис api), .env.example, index.html, README.md.

Проверка: docker compose up -d api, GET /api/health, загрузка sample-data.csv на https://sd.gen7x.ru/.


2026-04-06 14:00 UTC Загрузка из Excel

Проблема: Нужна загрузка выгрузки в формате Excel при той же структуре колонок, что у CSV/JSON.

Решение: Подключён SheetJS (xlsx с CDN), разбор первого листа через sheet_to_json; расширены accept у поля файла и подсказки в шапке.

Изменения: index.html (скрипт, parseExcelToRows, ветка handleFile для .xlsx/.xls); README.

Проверка: Загрузка таблицы, сохранённой из Excel с заголовками как в CSV.


2026-04-06 08:00 UTC Публикация на sd.gen7x.ru

Проблема: Нужен доступ к дашборду по постоянному URL извне.

Решение: Включён виртуальный хост Nginx на хосте: sd.gen7x.ru → каталог проекта /opt/omc-servicedesk-monitor, HTTPS, те же Origin SSL, что у остальных поддоменов gen7x.ru.

Изменения: Файл /opt/gen7x/nginx/conf.d/sd.gen7x.ru.conf; обновлён README.

Проверка: nginx -t, systemctl reload nginx; локально curl с --resolve к 127.0.0.1 — ответ 200. В DNS Cloudflare для sd.gen7x.ru должна быть запись на сервер.


2026-04-06 12:00 UTC Начальная версия дашборда

Проблема: Нужен локальный мониторинг инцидентов ServiceDesk без сервера, в едином стиле «ситуационный центр».

Решение: Добавлен self-contained index.html (Chart.js, PapaParse, светлая тема), загрузка CSV/JSON, KPI, фильтры, вкладки, Docker с nginx для раздачи статики.

Изменения: Создан проект /opt/omc-servicedesk-monitor: index.html, docker-compose.yml, .env.example, README.md.

Проверка: Локальное открытие index.html; загрузка sample-data.csv; docker compose up — статика через nginx на порту из .env (по умолчанию 8080). Репозиторий создан в Gitea, ветка main запушена (git@git.gen7x.ru:cursor-agent/omc-servicedesk-monitor.git).