diff --git a/docs/instructions.md b/docs/instructions.md index b4d50a9..d7f5716 100644 --- a/docs/instructions.md +++ b/docs/instructions.md @@ -119,12 +119,17 @@ For each task completed: ## TODO List: +7. loading + +make sure that on loading finished a flag is set in db. +loading shold not start again even on server restart + ### Completed Tasks: 1. ✅ **NFO/Artwork Loading Isolation** (Completed: 2026-01-23) - Task: Ensure during anime add, NFO, logo, art, etc. is loaded only for the specific anime being added - Status: VERIFIED - Implementation is correct - - Details: BackgroundLoaderService._load_nfo_and_images() correctly passes serie_folder to create_tvshow_nfo(), which only processes that specific series + - Details: BackgroundLoaderService.\_load_nfo_and_images() correctly passes serie_folder to create_tvshow_nfo(), which only processes that specific series 2. ✅ **Setup Redirect Flow** (Completed: 2026-01-23) - Task: Implement redirect flow: setup -> loading -> login when user completes setup - Changes: @@ -162,4 +167,7 @@ For each task completed: ### Active Tasks: (No active tasks - awaiting new requirements) + +``` + ``` diff --git a/src/server/database/models.py b/src/server/database/models.py index 3f133b9..6487634 100644 --- a/src/server/database/models.py +++ b/src/server/database/models.py @@ -580,9 +580,18 @@ class SystemSettings(Base, TimestampMixin): Boolean, nullable=False, default=False, server_default="0", doc="Whether the initial media scan has been completed" ) + initialization_completed: Mapped[bool] = mapped_column( + Boolean, nullable=False, default=False, server_default="0", + doc="Whether ALL initialization steps (scan, NFO, media) are completed" + ) + initialization_completed_at: Mapped[Optional[datetime]] = mapped_column( + DateTime(timezone=True), nullable=True, + doc="Timestamp when full initialization was completed" + ) last_scan_timestamp: Mapped[Optional[datetime]] = mapped_column( DateTime(timezone=True), nullable=True, - doc="Timestamp of the last completed scan" + doc="Timestamp of the last completed scan", " + f"initialization_completed={self.initialization_completed} ) def __repr__(self) -> str: