mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-02-04 03:00:26 +00:00
Рефакторинг архитектуры ежедневных конкурсов: - Создан модуль app/services/contests/ с новой архитектурой: - enums.py: GameType, RoundStatus, PrizeType enum классы - games.py: паттерн Стратегия для 7 типов игр - attempt_service.py: ContestAttemptService для атомарных операций - Упрощён handlers/contests.py: - Удалены отдельные _render_* функции (заменены на стратегии) - Логика обработки попыток вынесена в ContestAttemptService - Уменьшено с 523 до 342 строк (-35%) - Обновлён contest_rotation_service.py: - Заменена if-elif цепочка на get_game_strategy().build_payload() - Используются enum классы вместо магических строк - Исправлен handlers/admin/daily_contests.py: - prize_days → prize_type/prize_value (соответствие модели БД) - Обновлены EDITABLE_FIELDS и отображение приза 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
15 lines
398 B
Python
15 lines
398 B
Python
"""Contest services module."""
|
|
|
|
from app.services.contests.enums import GameType, RoundStatus, PrizeType
|
|
from app.services.contests.games import get_game_strategy, BaseGameStrategy
|
|
from app.services.contests.attempt_service import ContestAttemptService
|
|
|
|
__all__ = [
|
|
"GameType",
|
|
"RoundStatus",
|
|
"PrizeType",
|
|
"get_game_strategy",
|
|
"BaseGameStrategy",
|
|
"ContestAttemptService",
|
|
]
|