Toutsu
e791fc2f4a
refactor: make session join leave platform-neutral
...
PR Checks / test-and-build (pull_request) Successful in 5m3s
Convert join/leave interaction commands to PlatformUser, PlatformGroup, and PlatformMessageRef. Persist and look up participants by platform identity while keeping Telegram callbacks intact. Add V017 migration and TDD coverage. Bump version to 2.1.1.
2026-05-18 13:30:48 +03:00
Toutsu
11b145a967
chore: add platform identity and platform_messages for multi-platform support ( #23 )
...
PR Checks / test-and-build (pull_request) Successful in 9m36s
TDD cycle for issue #23 :
- RED: 9 migration smoke tests (file presence + schema expectations)
- GREEN: V016 migration adding platform identity columns
- GREEN: CreateSessionHandler, JoinSessionHandler, Web SessionService updated
with dual-write to legacy and new identity columns + COALESCE fallbacks
- GREEN: get_group_attendance_stats recreated for external_username
- Bump version to 2.0.0
Changes:
- V016__add_platform_identity.sql:
- players: platform, external_user_id, external_username
- game_groups: platform, external_group_id, external_channel_id
- platform_messages table with cross-platform message tracking
- Backfill all existing Telegram data into new columns
- Recreate get_group_attendance_stats with COALESCE fallback
- V012__add_attendance_stats.sql: use COALESCE(external_username, telegram_username)
- CreateSessionHandler: dual-write + COALESCE fallbacks in SELECTs
- JoinSessionHandler: dual-write to new identity columns
- Web SessionService: dual-write to new identity columns
- PlatformIdentityMigrationTests (9 smoke tests covering all handlers)
- Version synced: Directory.Build.props, compose.yaml, deploy.yml, NavMenu.razor → 2.0.0
Legacy telegram_* columns preserved for backward compatibility.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-15 10:48:10 +03:00