feat(api): implement inventory API endpoints

Add REST API endpoints for character inventory management:
- GET /api/v1/characters/<id>/inventory - Get inventory and equipped items
- POST /api/v1/characters/<id>/inventory/equip - Equip item to slot
- POST /api/v1/characters/<id>/inventory/unequip - Unequip from slot
- POST /api/v1/characters/<id>/inventory/use - Use consumable item
- DELETE /api/v1/characters/<id>/inventory/<item_id> - Drop item

All endpoints include:
- Authentication via @require_auth decorator
- Ownership validation through CharacterService
- Comprehensive error handling with proper HTTP status codes
- Full logging for debugging

Includes 25 integration tests covering authentication requirements,
URL patterns, and response formats.

Task 2.4 of Phase 4 Combat Implementation complete.
This commit is contained in:
2025-11-26 18:54:33 -06:00
parent 76f67c4a22
commit 4ced1b04df
5 changed files with 1157 additions and 148 deletions

View File

@@ -174,6 +174,11 @@ def register_blueprints(app: Flask) -> None:
app.register_blueprint(combat_bp)
logger.info("Combat API blueprint registered")
# Import and register Inventory API blueprint
from app.api.inventory import inventory_bp
app.register_blueprint(inventory_bp)
logger.info("Inventory API blueprint registered")
# TODO: Register additional blueprints as they are created
# from app.api import marketplace, shop
# app.register_blueprint(marketplace.bp, url_prefix='/api/v1/marketplace')