- Add DraftSheetService with write_pick(), write_picks_batch(), clear_picks_range(), and get_sheet_url() methods - Integrate sheet writes in /draft command (fire-and-forget pattern) - Integrate sheet writes in draft_monitor.py for auto-draft picks - Add /draft-admin resync-sheet command for bulk recovery - Add sheet link to /draft-status embed - Add draft_sheet_keys config with env var overrides per season - Add get_picks_with_players() to draft_pick_service for resync - Add 13 unit tests for DraftSheetService (all passing) - Update CLAUDE.md documentation files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 lines
888 B
Python
27 lines
888 B
Python
"""
|
|
Business logic services for Discord Bot v2.0
|
|
|
|
Service layer providing clean interfaces to data operations.
|
|
"""
|
|
|
|
from .team_service import TeamService, team_service
|
|
from .player_service import PlayerService, player_service
|
|
from .league_service import LeagueService, league_service
|
|
from .schedule_service import ScheduleService, schedule_service
|
|
from .giphy_service import GiphyService
|
|
from .draft_sheet_service import DraftSheetService, get_draft_sheet_service
|
|
|
|
# Wire services together for dependency injection
|
|
player_service._team_service = team_service
|
|
|
|
# Create global Giphy service instance
|
|
giphy_service = GiphyService()
|
|
|
|
__all__ = [
|
|
'TeamService', 'team_service',
|
|
'PlayerService', 'player_service',
|
|
'LeagueService', 'league_service',
|
|
'ScheduleService', 'schedule_service',
|
|
'GiphyService', 'giphy_service',
|
|
'DraftSheetService', 'get_draft_sheet_service'
|
|
] |