feat: добавить каталог игр и витрину ваншотов (issue #39) #109
Closed
Toutsu
wants to merge 0 commits from
feature/issue-39-game-catalog into main
pull from: feature/issue-39-game-catalog
merge into: Toutsu:main
Toutsu:main
Toutsu:feature/telegram-game-card-fields
Toutsu:feature/issue-136-wizard-format-location
Toutsu:fix/issue-135-wizard-publish-schedule
Toutsu:fix/issue-133-on-conflict-inference
Toutsu:fix/issue-130-no-limit-complete
Toutsu:fix/issue-129-libgssapi
Toutsu:fix/issue-127-wizard-capacity-club
Toutsu:fix/issue-125-test-cleanup
Toutsu:fix/issue-123-no-limit-wizard
Toutsu:feat/issue-112-wizard-refactor
Toutsu:feat/issue-111-game-creation-wizard
Toutsu:fix/issue-110-showcase-500
Toutsu:feat/issue-110-private-club-showcases
Toutsu:codex/feature-issue-108-portfolio
Toutsu:feat/profile-design-system
Toutsu:codex/fix-public-pages-500
Toutsu:feature/issue-40-master-profiles
Toutsu:codex/feature/issue-38-public-club-pages
Toutsu:refactor/issue-37-platform-neutral-handlers
Toutsu:codex/fix-template-topic-release
Toutsu:refactor/issue-36-platform-migration
Toutsu:fix/discord-nullable-telegram-columns
Toutsu:fix/discord-dapper-aot-missing
Toutsu:fix/discord-console-logging-deferred
Toutsu:fix/discord-guildinteractionuser-permissions
Toutsu:fix/discord-count-bigint-cast
Toutsu:fix/discord-slash-commands-guild-context
Toutsu:fix/discord-slash-command-registration
Toutsu:feature/issue-35-identity-linking
Toutsu:fix/discord-oauth-diagnostics
Toutsu:feature/issue-34-discord-oauth-dashboard
Toutsu:test/issue-33-regression-tests
Toutsu:chore/issue-32-discord-compose-wiring
Toutsu:codex/issue-31-platform-messenger-scheduler
Toutsu:feature/discord-reschedule-voting
Toutsu:codex/feature-issue-29-discord-join-leave
Toutsu:feature/issue-28-discord-newsession-listsessions
Toutsu:feature/issue-27-discord-session-batch-renderer
Toutsu:feature/issue-26-discord-netcord-gateway
Toutsu:codex/refactor-issue-25-platform-neutral-join-leave
Toutsu:feature/dashboard-design-refresh
Toutsu:feature/issue-58-health-checks
Toutsu:feature/issue-23-platform-identity
Toutsu:fix/issue-60-add-license
Toutsu:feature/issue-57-postgresql-backup
Toutsu:feature/trivy-security-scan
Toutsu:codex/feature/issue-21-telegram-topics
Toutsu:feature/issue-20-rsvp-reminders
Toutsu:feature/issue-15-session-audit-log
Toutsu:feature/issue-19-batch-join-link
Toutsu:fix/navmenu-mobile-overlap
Toutsu:feature/new-logo
Toutsu:issue-47-navmenu-icon-fix
Toutsu:issue-15-session-audit-log
Toutsu:issue-14-attendance-stats
Toutsu:issue-22-neutral-rendering
Toutsu:codex/ftest-telegram-landing-smoke
Toutsu:feat/player-list-kick-waitlist
Toutsu:codex/co-gm-delegation
No Reviewers
Labels
Clear labels
area:bot
area:data
area:discord
area:infra
area:miniapp
area:platform
area:shared
area:web
in-progress
next-up
pending-approval
platform:discord
platform:multi
platform:telegram
priority:p0
priority:p0
priority:p1
priority:p2
priority:p3
security
type:bug
type:chore
type:feature
type:refactor
type:test
Telegram bot and worker logic
Database schema, migrations and persistence model
Discord bot service and Discord adapter
Infrastructure, runtime and deployment
Telegram Mini App dashboard
Platform-neutral abstractions and adapter boundaries
Shared domain and rendering contracts
Blazor web dashboard
В работе (issue взят агентом)
Recommended immediate backlog
Ждёт согласования плана решения
Discord-specific behavior or adapter work
Cross-platform or platform-neutral work
Telegram-specific behavior or adapter work
Critical priority
Блокирующий приоритет: задача должна быть выполнена до признания решения production-ready
High priority
Medium priority
Lower priority
Security-sensitive work
Bug fix or corrective work
Maintenance and supporting work
New product functionality
Structural change without direct feature growth
Testing and coverage work
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Toutsu/GmRelayBot#109
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "feature/issue-39-game-catalog"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Реализует публичный каталог игр
/showcaseи обновляет карточку сессии/s/{id}с поддержкой прямой записи. Closes #39.Changes
is_one_shot,system,description,cover_image_url,duration_minutes,format,allow_direct_registrationвsessions, создан partial indexix_sessions_showcase.GameSystemenum с 21 системой +Other,ToDisplayName(),TryParseFuzzy()для парсинга из пользовательского ввода.ShowcaseSessionDto,ShowcaseFilter(DateFilter, SeatFilter)./showcase: фильтруемая страница-каталог с сеткой карточек, пагинацией и фильтрами по дате, системе, наличию мест и формату./s/{id}: обновлённая публичная карточка с обложкой, бейджами, описанием, длительностью. Поддержка?register=1для прямой записи авторизованных пользователей.SessionService:GetShowcaseSessionsAsyncс динамическим SQL иLATERALjoin для подсчёта участников;RegisterFromShowcaseAsyncсFOR UPDATE,ON CONFLICTи интеграцией сSessionCapacityRules.CreateSessionCommandиCreateSessionHandlerдля поддержки новых полей (System,Description,Format,DurationMinutes,IsOneShot).GameSystem.TryParseFuzzy,SessionCapacityRules(boundary cases), обновлёнDiscordProjectStructureTestsна версию 3.4.0.Directory.Build.props,compose.yaml,.gitea/workflows/deploy.yml,NavMenu.razor) +README.md.Test plan
dotnet build— 0 errors, 0 warningsdotnet test— 328 passed, 0 failedWorkflow
Pull request closed