Step 3: Add admin API endpoints for pricing configuration

- Add PricingConfigResponse and PricingConfigUpdate schemas
- Create PricingService with validation logic
- Add GET and PUT endpoints in routes/pricing.py
- Add MANAGE_PRICING permission to admin role
- Register pricing router in main.py
- Add comprehensive API tests for permissions and validation
This commit is contained in:
counterweight 2025-12-26 20:13:24 +01:00
parent 74b934135a
commit 4d0dad8e2b
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
8 changed files with 534 additions and 0 deletions

View file

@ -0,0 +1,27 @@
from pydantic import BaseModel
class PricingConfigResponse(BaseModel):
"""Response model for pricing configuration."""
premium_buy: int
premium_sell: int
small_trade_threshold_eur: int
small_trade_extra_premium: int
eur_min_buy: int
eur_max_buy: int
eur_min_sell: int
eur_max_sell: int
class PricingConfigUpdate(BaseModel):
"""Request model for updating pricing configuration."""
premium_buy: int
premium_sell: int
small_trade_threshold_eur: int
small_trade_extra_premium: int
eur_min_buy: int
eur_max_buy: int
eur_min_sell: int
eur_max_sell: int