major-domo-v2/services
Cal Corum 5f69d495ab CLAUDE: Fix draft list operations and improve add success display
Multiple fixes for draft list functionality:

1. **Model Fix (draft_list.py):**
   - API returns nested Team and Player objects, not just IDs
   - Changed team_id/player_id from fields to @property methods
   - Extract IDs from nested objects via properties
   - Fixes Pydantic validation errors on GET operations

2. **Service Fix (draft_list_service.py):**
   - Override _extract_items_and_count_from_response() for API quirk
   - GET returns items under 'picks' key (not 'draftlist')
   - Changed add_to_list() return type from single entry to full list
   - Return verification list instead of trying to create new DraftList
   - Fixes "Failed to add" error from validation issues

3. **Command Enhancement (list.py):**
   - Display full draft list on successful add (not just confirmation)
   - Show position where player was added
   - Reuse existing create_draft_list_embed() for consistency
   - Better UX - user sees complete context after adding player

API Response Format:
GET: {"count": N, "picks": [{team: {...}, player: {...}}]}
POST: {"count": N, "draft_list": [{team_id: X, player_id: Y}]}

This resolves:
- Empty list after adding player (Pydantic validation)
- "Add Failed" error despite successful operation
- Poor UX with minimal success feedback

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 19:35:50 -05:00
..
__init__.py CLAUDE: Fix GroupCog interaction bug and GIF display issues 2025-10-16 22:15:42 -05:00
base_service.py CLAUDE: Fix /set-image command to use query parameters for API updates 2025-10-13 17:52:14 -05:00
chart_service.py CLAUDE: Add multi-image support for charts 2025-10-20 22:00:19 -05:00
CLAUDE.md CLAUDE: Add comprehensive draft system documentation 2025-10-24 15:16:39 -05:00
custom_commands_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
decision_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
draft_list_service.py CLAUDE: Fix draft list operations and improve add success display 2025-10-25 19:35:50 -05:00
draft_pick_service.py Draft pick service and draft helpers 2025-10-24 10:24:14 -05:00
draft_service.py CLAUDE: Fix draft channel configuration not persisting 2025-10-24 22:52:57 -05:00
game_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
giphy_service.py CLAUDE: Fix GroupCog interaction bug and GIF display issues 2025-10-16 22:15:42 -05:00
help_commands_service.py CLAUDE: Implement custom help commands system 2025-10-10 13:14:13 -05:00
injury_service.py Clear Injury bug fix 2025-10-22 19:20:43 -05:00
league_service.py CLAUDE: Add automated weekly transaction freeze/thaw system 2025-10-20 12:16:13 -05:00
play_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
player_service.py CLAUDE: Add /ilmove command for real-time roster moves with organizational affiliate support 2025-10-20 20:15:12 -05:00
roster_service.py CLAUDE: Comprehensive bot improvements and test infrastructure 2025-10-02 11:35:26 -05:00
schedule_service.py CLAUDE: Major bot enhancements - Admin commands, player stats, standings, schedules 2025-08-28 15:32:38 -05:00
scorebug_service.py CLAUDE: Refactor scorebug display and add dynamic channel visibility 2025-10-22 16:58:21 -05:00
sheets_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
standings_service.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
stats_service.py CLAUDE: Major bot enhancements - Admin commands, player stats, standings, schedules 2025-08-28 15:32:38 -05:00
team_service.py CLAUDE: Add caching to TeamService for GM validation 2025-10-24 10:03:22 -05:00
trade_builder.py CLAUDE: Refine injury roll display and cleanup imports 2025-10-16 22:20:13 -05:00
transaction_builder.py CLAUDE: Change transaction diagnostic logging from INFO to DEBUG 2025-10-23 16:09:12 -05:00
transaction_service.py CLAUDE: Add /ilmove command for real-time roster moves with organizational affiliate support 2025-10-20 20:15:12 -05:00