- Created SetupRedirectMiddleware to redirect unconfigured apps to /setup
- Enhanced /api/auth/setup endpoint to save anime_directory to config
- Updated SetupRequest model to accept optional anime_directory parameter
- Modified setup.html to send anime_directory in setup API call
- Added @pytest.mark.requires_clean_auth marker for tests needing unconfigured state
- Modified conftest.py to conditionally setup auth based on test marker
- Fixed all test failures (846/846 tests now passing)
- Updated instructions.md to mark setup tasks as complete
This implementation ensures users are guided through initial setup
before accessing the application, while maintaining test isolation
and preventing auth state leakage between tests.
- Add src/server/database/init.py with complete initialization framework
* Schema creation with idempotent table generation
* Schema validation with detailed reporting
* Schema versioning (v1.0.0) and migration support
* Health checks with connectivity monitoring
* Backup functionality for SQLite databases
* Initial data seeding framework
* Utility functions for database info and migration guides
- Add comprehensive test suite (tests/unit/test_database_init.py)
* 28 tests covering all functionality
* 100% test pass rate
* Integration tests and error handling
- Update src/server/database/__init__.py
* Export new initialization functions
* Add schema version and expected tables constants
- Fix syntax error in src/server/models/anime.py
* Remove duplicate import statement
- Update instructions.md
* Mark database initialization task as complete
Features:
- Automatic schema creation and validation
- Database health monitoring
- Backup creation with timestamps
- Production-ready with Alembic migration guidance
- Async/await support throughout
- Comprehensive error handling and logging
Test Results: 69/69 database tests passing (100%)
- Add comprehensive download queue models in src/server/models/download.py
- DownloadStatus and DownloadPriority enums for type safety
- EpisodeIdentifier for episode references
- DownloadProgress for real-time progress tracking
- DownloadItem for queue item representation with timestamps and error handling
- QueueStatus for overall queue state management
- QueueStats for aggregated queue statistics
- DownloadRequest/DownloadResponse for API contracts
- QueueOperationRequest and QueueReorderRequest for queue management
- QueueStatusResponse for complete status endpoint responses
- Add comprehensive unit tests (47 tests, all passing)
- Test validation constraints (positive numbers, ranges, etc.)
- Test default values and optional fields
- Test serialization/deserialization
- Test model relationships and nested structures
- Update documentation
- Add download models section to infrastructure.md
- Remove completed task from instructions.md
- Update models package __init__.py
All models follow PEP 8 style guide with proper type hints and validation.