Hermes Agent
72548b798a
fix: sourceUrl опциональный (воркер сам строит URL из itemId)
Build Media Mirror API / Build and publish (release) Successful in 29s
2026-08-10 23:29:06 +03:00
Hermes Agent
8d4a87f077
feat: API-ключ — фильтр X-API-Key на /api/**, /actuator открыт
...
Build Media Mirror API / Build and publish (release) Successful in 34s
- ключ из конфига (app.api-key), пустой = dev-режим без защиты
- 401 без/с неверным ключом, actuator не закрыт (k8s-пробы)
- добавлен spring-boot-starter-actuator
- тесты: 35 (401/200/actuator/dev-режим)
2026-08-10 22:06:33 +03:00
Hermes Agent
ff72389ea6
feat: POST /api/mirror/scan — сканер Jellyfin (догоняет недосконвертированное)
...
Build Media Mirror API / Build and publish (release) Successful in 29s
- обход /Users + пагинация Items (Movie,Episode, Limit=200)
- done → skip, failed/cancelled → пересоздать, идемпотентен (unique-индекс + DuplicateKey)
- Jellyfin недоступен → 502; apiKey в конфиг
- тесты: пагинация 450, done-skip, failed-recreate, идемпотентность, 500→исключение
2026-08-10 21:42:23 +03:00
Hermes Agent
bd85ff74f4
db: отдельная база media_mirror вместо glasses
Build Media Mirror API / Build and publish (release) Successful in 27s
2026-08-10 18:06:44 +03:00
Hermes Agent
c0483ef3d1
feat: media-mirror-api — координатор зеркал (REST + очередь в Postgres)
...
- POST /api/mirror (дубль-контроль по itemId), GET статус/by-item/список, DELETE (cancelled/S3-очистка)
- kotlinx-сериализация, Jackson выпилен из HTTP-стека (транзитив Flyway/AWS остался)
- Spring Boot 4.1.0, Kotlin 2.4.10, Flyway, Testcontainers postgres+minio
- тесты: 22, LINE 92.6%, smoke против живой БД прошёл
2026-08-10 17:29:50 +03:00