feat: sync series from data files after setup/directory update

- Call sync_series_from_data_files after initial setup completes
- Call sync_series_from_data_files when anime directory is updated
- Return synced_series count in directory update response
This commit is contained in:
Lukas 2025-12-13 10:00:40 +01:00
parent 5f6ac8e507
commit 38e0ba0484
2 changed files with 47 additions and 1 deletions

View File

@ -66,6 +66,29 @@ async def setup_auth(req: SetupRequest):
# Save the config with the password hash and anime directory
config_service.save_config(config, create_backup=False)
# Sync series from data files to database if anime directory is set
if anime_directory:
try:
from src.server.services.anime_service import (
sync_series_from_data_files,
)
import structlog
logger = structlog.get_logger(__name__)
sync_count = await sync_series_from_data_files(
anime_directory, logger
)
logger.info(
"Setup complete: synced series from data files",
count=sync_count
)
except Exception as e:
# Log but don't fail setup if sync fails
import structlog
structlog.get_logger(__name__).warning(
"Failed to sync series after setup",
error=str(e)
)
return {"status": "ok"}
except ValueError as e:

View File

@ -239,8 +239,31 @@ async def update_directory(
config_service.save_config(app_config)
# Sync series from data files to database
sync_count = 0
try:
from src.server.services.anime_service import (
sync_series_from_data_files,
)
import structlog
logger = structlog.get_logger(__name__)
sync_count = await sync_series_from_data_files(directory, logger)
logger.info(
"Directory updated: synced series from data files",
directory=directory,
count=sync_count
)
except Exception as e:
# Log but don't fail the directory update if sync fails
import structlog
structlog.get_logger(__name__).warning(
"Failed to sync series after directory update",
error=str(e)
)
response: Dict[str, Any] = {
"message": "Anime directory updated successfully"
"message": "Anime directory updated successfully",
"synced_series": sync_count
}
return response