Control Server (FastAPI) с WEB UI (Jinja2 + HTMX) и JSON API для группового администрирования устройств RouterOS 7 через REST. - Устройства: список, статус (модель, канал, версии ROS/FW, uptime, доступные обновления), примечания, пароли шифруются (Fernet); фоновый опрос каждые 30 с и быстрое обнаружение недоступности (таймаут соединения 4 с). - Группы устройств и фильтры (устройства, резервные копии). - Резервные копии: .backup и .rsc (show-sensitive) создаются через REST, скачиваются сервером и загружаются в S3 (Yandex Object Storage). - Обновление ROS/FW и выбор канала, групповые операции задачами. - Интерфейс по утверждённому макету: светлая/тёмная темы, окна, шрифты IBM Plex локально. Docker Compose, SQLite в томе, минимальный набор тестов. - Планы и итоги каждого изменения — в docs/changes/. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
Итоги: 008 — примечание к устройству
Сделано
- Макет (лист «Окно: добавление устройства», версия 4) и приложение: поле «Примечание» под названием устройства (textarea, до 500 символов).
- БД: колонка
devices.note(автомиграция), сервис (_clean_note: обрезка, лимит, пусто →null), API (noteв создании, правке и ответах; ошибка 400 при превышении лимита), UI (окно и запасная страница). - В таблице примечание видно во всплывающей подсказке над именем устройства.
Проверено
pytest: 9 из 9 (тест создания устройства из окна расширен проверкой примечания).- В браузере окно с полем «Примечание» выглядит как в макете; примечание сохраняется, видно в окне изменения и подсказке; через API правится, очищается пустой строкой, длиннее 500 символов отклоняется (400).
- Временное устройство удалено; данные пользователя (группа PRIVATE,
MSK_Home,OZ_Dacha) не затронуты.
Не проверено / замечания
- Примечание не выводится в самой таблице (чтобы не менять утверждённый вид) — только подсказка; если нужно видеть его постоянно (например, отдельной строкой или колонкой), это отдельное решение по макету.