mantimon-tcg/backend
Cal Corum 0a9cd73daf Validate connection data integrity in ConnectionManager
Fix audit warnings about empty string defaults hiding data corruption:

1. get_connection_info(): Validate required fields (user_id, connected_at,
   last_seen) exist before creating ConnectionInfo. Return None and log
   warning for corrupted records instead of returning invalid data.

2. unregister_connection(): Log warning if user_id is missing during
   cleanup. Existing code safely handles this (skips cleanup), but now
   we have visibility into data corruption.

Test added for corrupted data case.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:03:17 -06:00
..
app Validate connection data integrity in ConnectionManager 2026-01-29 19:03:17 -06:00
data Simplify card image URLs to use set-based paths 2026-01-27 16:16:51 -06:00
project_plans Implement GameService.execute_action enhancements (GS-003) 2026-01-29 15:15:34 -06:00
references Switch to testcontainers for automatic test container management 2026-01-28 16:49:11 -06:00
scripts Simplify card image URLs to use set-based paths 2026-01-27 16:16:51 -06:00
tests Validate connection data integrity in ConnectionManager 2026-01-29 19:03:17 -06:00
.env.example Add database infrastructure with SQLAlchemy models and test suite 2026-01-27 10:17:30 -06:00
.gitignore Add backend foundation with uv, Black, and pre-commit hooks 2026-01-24 00:12:33 -06:00
.python-version Add backend foundation with uv, Black, and pre-commit hooks 2026-01-24 00:12:33 -06:00
alembic.ini Add database infrastructure with SQLAlchemy models and test suite 2026-01-27 10:17:30 -06:00
CLAUDE.md Refactor to dependency injection pattern - no monkey patching 2026-01-28 22:54:57 -06:00
docker-compose.yml Implement Phase 2: Authentication system 2026-01-27 21:49:59 -06:00
PROJECT_PLAN_MASTER.json Update project plans and documentation for Phase 3 completion 2026-01-28 15:26:01 -06:00
pyproject.toml Add Phase 4 WebSocket infrastructure (WS-001 through GS-001) 2026-01-28 22:21:20 -06:00
uv.lock Implement Phase 2: Authentication system 2026-01-27 21:49:59 -06:00