mantimon-tcg/backend/app/services
Cal Corum 7d397a2e22 Fix medium priority issues from code review
UNSET sentinel pattern:
- Add UNSET sentinel in protocols.py for nullable field updates
- Fix inability to clear deck description (UNSET=keep, None=clear)
- Fix repository inability to clear validation_errors

Starter deck improvements:
- Remove unused has_starter_deck from CollectionService
- Add deprecation notes to old starter deck methods

Validation improvements:
- Add energy type validation in deck_validator.py
- Add energy type validation in deck schemas
- Add VALID_ENERGY_TYPES constant

Game loading fix:
- Fix get_deck_for_game silently skipping invalid cards
- Now raises ValueError with clear error message

Tests:
- Add TestEnergyTypeValidation test class
- Add TestGetDeckForGame test class
- Add tests for validate_energy_types utility function

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 14:32:08 -06:00
..
oauth Implement Phase 2: Authentication system 2026-01-27 21:49:59 -06:00
__init__.py Add CardService and card data conversion pipeline 2026-01-27 14:16:40 -06:00
card_service.py Add FastAPI lifespan hooks and fix Phase 1 gaps 2026-01-27 15:37:19 -06:00
collection_service.py Fix medium priority issues from code review 2026-01-28 14:32:08 -06:00
deck_service.py Fix medium priority issues from code review 2026-01-28 14:32:08 -06:00
deck_validator.py Fix medium priority issues from code review 2026-01-28 14:32:08 -06:00
game_state_manager.py Add FastAPI lifespan hooks and fix Phase 1 gaps 2026-01-27 15:37:19 -06:00
jwt_service.py Implement Phase 2: Authentication system 2026-01-27 21:49:59 -06:00
token_store.py Implement Phase 2: Authentication system 2026-01-27 21:49:59 -06:00
user_service.py Fix OAuth absolute URLs and add account linking endpoints 2026-01-27 22:06:22 -06:00