4 Commits

Author SHA1 Message Date
08c7264d7a chore: Minor formatting fixes (whitespace cleanup) 2025-11-28 07:08:32 +01:00
6d2a791a9d Task 4.5: Update Pydantic models to use key as primary identifier
- Updated AnimeSeriesResponse and SearchResult models in anime.py:
  - Changed 'id' field to 'key' as the primary series identifier
  - Added 'folder' as optional metadata field
  - Added field validator to normalize key to lowercase and strip whitespace
  - Added comprehensive docstrings explaining identifier usage

- Updated DownloadItem and DownloadRequest models in download.py:
  - Added field validator for serie_id normalization (lowercase, stripped)
  - Improved documentation for serie_id (primary identifier) vs serie_folder (metadata)

- Updated test_anime_models.py with comprehensive tests:
  - Tests for key normalization and whitespace stripping
  - Tests for folder as optional metadata
  - Reorganized tests into proper class structure

- Updated test_download_models.py with validator tests:
  - Tests for serie_id normalization in DownloadItem
  - Tests for serie_id normalization in DownloadRequest

All 885 tests pass.
2025-11-27 20:01:33 +01:00
30de86e77a feat(database): Add comprehensive database initialization module
- 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%)
2025-10-19 17:21:31 +02:00
5b80824f3a feat(server): add anime Pydantic models, unit tests, and infra notes 2025-10-14 21:53:41 +02:00