refactor(shared): extract reschedule voting types to Shared
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# Discord /newsession и /listsessions — Issue #28
|
||||
|
||||
## Что реализовано
|
||||
- Slash-команда /newsession для создания игровых сессий прямо из Discord.
|
||||
- Slash-команда /listsessions для просмотра предстоящих игр в сервере.
|
||||
- DiscordPermissionChecker — проверка прав (owner / admin / manager).
|
||||
- DiscordPlatformMessenger — реализация IPlatformMessenger для Discord (NetCord REST).
|
||||
- Полная интеграция в DI (Program.cs).
|
||||
|
||||
## Архитектура
|
||||
- Vertical slice: каждая команда — отдельный файл (Command + Handler).
|
||||
- Platform-agnostic SQL: используются колонки platform, external_group_id, external_user_id.
|
||||
- Рендеринг переиспользует существующий DiscordSessionBatchRenderer.
|
||||
|
||||
## TDD
|
||||
- 212 тестов, все зелёные.
|
||||
- Source-level тесты проверяют паттерны: Dapper, Npgsql, транзакции, CancellationToken, платформенную нейтральность.
|
||||
|
||||
## Версия
|
||||
- Minor bump: 2.3.0 → 2.4.0
|
||||
- Синхронизировано: Directory.Build.props, compose.yaml, deploy.yml, NavMenu.razor.
|
||||
|
||||
Closes #28
|
||||
Reference in New Issue
Block a user