diff --git a/src/server/api/auth.py b/src/server/api/auth.py index b987ba1..aa3019a 100644 --- a/src/server/api/auth.py +++ b/src/server/api/auth.py @@ -156,24 +156,34 @@ async def setup_auth(req: SetupRequest): await perform_nfo_scan_if_needed(progress_service) # Send completion event - progress_service.emit_progress( + from src.server.services.progress_service import ProgressType + await progress_service.start_progress( progress_id="initialization_complete", - progress_type="system", - status="completed", + progress_type=ProgressType.SYSTEM, title="Initialization Complete", + total=100, + message="All initialization tasks completed successfully", + metadata={"initialization_complete": True} + ) + await progress_service.complete_progress( + progress_id="initialization_complete", message="All initialization tasks completed successfully", - percent=100, metadata={"initialization_complete": True} ) except Exception as e: # Send error event - progress_service.emit_progress( + from src.server.services.progress_service import ProgressType + await progress_service.start_progress( progress_id="initialization_error", - progress_type="error", - status="failed", + progress_type=ProgressType.ERROR, title="Initialization Failed", + total=100, message=str(e), - percent=0, + metadata={"initialization_complete": True, "error": str(e)} + ) + await progress_service.fail_progress( + progress_id="initialization_error", + error_message=str(e), metadata={"initialization_complete": True, "error": str(e)} ) diff --git a/src/server/services/initialization_service.py b/src/server/services/initialization_service.py index 380d617..dd0a384 100644 --- a/src/server/services/initialization_service.py +++ b/src/server/services/initialization_service.py @@ -31,13 +31,13 @@ async def perform_initial_setup(progress_service=None): # Send initial progress update if progress_service: - progress_service.emit_progress( + from src.server.services.progress_service import ProgressType + await progress_service.start_progress( progress_id="series_sync", - progress_type="system", - status="started", + progress_type=ProgressType.SYSTEM, title="Syncing Series Database", + total=100, message="Checking initialization status...", - percent=0, metadata={"step_id": "series_sync"} ) @@ -53,13 +53,9 @@ async def perform_initial_setup(progress_service=None): "Initial scan already completed, skipping data file sync" ) if progress_service: - progress_service.emit_progress( + await progress_service.complete_progress( progress_id="series_sync", - progress_type="system", - status="completed", - title="Syncing Series Database", message="Already completed", - percent=100, metadata={"step_id": "series_sync"} ) return False @@ -86,13 +82,9 @@ async def perform_initial_setup(progress_service=None): "Initialization skipped - anime directory not configured" ) if progress_service: - progress_service.emit_progress( + await progress_service.complete_progress( progress_id="series_sync", - progress_type="system", - status="completed", - title="Syncing Series Database", message="No anime directory configured", - percent=100, metadata={"step_id": "series_sync"} ) return False @@ -101,13 +93,10 @@ async def perform_initial_setup(progress_service=None): if not is_initial_scan_done: logger.info("Performing initial anime folder scan...") if progress_service: - progress_service.emit_progress( + await progress_service.update_progress( progress_id="series_sync", - progress_type="system", - status="in_progress", - title="Syncing Series Database", + current=25, message="Scanning anime folders...", - percent=25, metadata={"step_id": "series_sync"} ) @@ -119,13 +108,10 @@ async def perform_initial_setup(progress_service=None): ) if progress_service: - progress_service.emit_progress( + await progress_service.update_progress( progress_id="series_sync", - progress_type="system", - status="in_progress", - title="Syncing Series Database", + current=75, message=f"Synced {sync_count} series from data files", - percent=75, metadata={"step_id": "series_sync"} ) @@ -154,13 +140,9 @@ async def perform_initial_setup(progress_service=None): logger.info("Series loaded from database into memory") if progress_service: - progress_service.emit_progress( + await progress_service.complete_progress( progress_id="series_sync", - progress_type="system", - status="completed", - title="Syncing Series Database", message="Series loaded into memory", - percent=100, metadata={"step_id": "series_sync"} ) @@ -181,13 +163,13 @@ async def perform_nfo_scan_if_needed(progress_service=None): from src.server.database.system_settings_service import SystemSettingsService if progress_service: - progress_service.emit_progress( + from src.server.services.progress_service import ProgressType + await progress_service.start_progress( progress_id="nfo_scan", - progress_type="system", - status="started", + progress_type=ProgressType.SYSTEM, title="Processing NFO Metadata", + total=100, message="Checking NFO scan status...", - percent=0, metadata={"step_id": "nfo_scan"} ) @@ -213,13 +195,10 @@ async def perform_nfo_scan_if_needed(progress_service=None): logger.info("Performing initial NFO scan...") if progress_service: - progress_service.emit_progress( + await progress_service.update_progress( progress_id="nfo_scan", - progress_type="system", - status="in_progress", - title="Processing NFO Metadata", + current=25, message="Scanning series for NFO files...", - percent=25, metadata={"step_id": "nfo_scan"} ) @@ -231,13 +210,10 @@ async def perform_nfo_scan_if_needed(progress_service=None): manager = SeriesManagerService.from_settings() if progress_service: - progress_service.emit_progress( + await progress_service.update_progress( progress_id="nfo_scan", - progress_type="system", - status="in_progress", - title="Processing NFO Metadata", + current=50, message="Processing NFO files with TMDB data...", - percent=50, metadata={"step_id": "nfo_scan"} ) @@ -246,13 +222,9 @@ async def perform_nfo_scan_if_needed(progress_service=None): logger.info("Initial NFO scan completed") if progress_service: - progress_service.emit_progress( + await progress_service.complete_progress( progress_id="nfo_scan", - progress_type="system", - status="completed", - title="Processing NFO Metadata", message="NFO scan completed successfully", - percent=100, metadata={"step_id": "nfo_scan"} ) @@ -276,13 +248,9 @@ async def perform_nfo_scan_if_needed(progress_service=None): exc_info=True ) if progress_service: - progress_service.emit_progress( + await progress_service.fail_progress( progress_id="nfo_scan", - progress_type="system", - status="failed", - title="Processing NFO Metadata", - message=f"NFO scan failed: {str(e)}", - percent=0, + error_message=f"NFO scan failed: {str(e)}", metadata={"step_id": "nfo_scan"} ) else: @@ -290,13 +258,9 @@ async def perform_nfo_scan_if_needed(progress_service=None): "Skipping NFO scan - already completed on previous run" ) if progress_service: - progress_service.emit_progress( + await progress_service.complete_progress( progress_id="nfo_scan", - progress_type="system", - status="completed", - title="Processing NFO Metadata", message="Already completed", - percent=100, metadata={"step_id": "nfo_scan"} ) else: @@ -309,13 +273,9 @@ async def perform_nfo_scan_if_needed(progress_service=None): message = "Skipped - NFO features disabled" if progress_service: - progress_service.emit_progress( + await progress_service.complete_progress( progress_id="nfo_scan", - progress_type="system", - status="completed", - title="Processing NFO Metadata", message=message, - percent=100, metadata={"step_id": "nfo_scan"} ) else: