Add sync_single_series_after_scan with NFO metadata and WebSocket updates

- Implement sync_single_series_after_scan to persist scanned series to database
- Enhanced _broadcast_series_updated to include full NFO metadata (nfo_created_at, nfo_updated_at, tmdb_id, tvdb_id)
- Add immediate episode scanning in add_series endpoint when background loader isn't running
- Implement updateSingleSeries in frontend to handle series_updated WebSocket events
- Add SERIES_UPDATED event constant to WebSocket event definitions
- Update background loader to use sync_single_series_after_scan method
- Simplified background loader initialization in FastAPI app
- Add comprehensive tests for series update WebSocket payload and episode counting logic
- Import reorganization: move get_background_loader_service to dependencies module
This commit is contained in:
2026-02-06 18:36:39 +01:00
parent d74c181556
commit d72b8cb1ab
9 changed files with 1078 additions and 21 deletions

View File

@@ -626,9 +626,10 @@ class BackgroundLoaderService:
)
# Notify anime_service to sync episodes to database
# Use sync_single_series_after_scan which gets data from serie_scanner.keyDict
if self.anime_service:
logger.debug(f"Calling anime_service.sync_episodes_to_db for {task.key}")
await self.anime_service.sync_episodes_to_db(task.key)
logger.debug(f"Calling anime_service.sync_single_series_after_scan for {task.key}")
await self.anime_service.sync_single_series_after_scan(task.key)
else:
logger.warning(f"anime_service not available, episodes will not be synced to DB for {task.key}")
else: