"""Pricing routes for admin to manage pricing configuration.""" from fastapi import APIRouter, Depends from sqlalchemy.ext.asyncio import AsyncSession from auth import require_permission from database import get_db from models import Permission, User from schemas import PricingConfigResponse, PricingConfigUpdate from services.pricing import PricingService router = APIRouter(prefix="/api/admin/pricing", tags=["pricing"]) @router.get("", response_model=PricingConfigResponse) async def get_pricing_config( db: AsyncSession = Depends(get_db), _current_user: User = Depends(require_permission(Permission.MANAGE_PRICING)), ) -> PricingConfigResponse: """Get current pricing configuration.""" service = PricingService(db) return await service.get_config() @router.put("", response_model=PricingConfigResponse) async def update_pricing_config( request: PricingConfigUpdate, db: AsyncSession = Depends(get_db), _current_user: User = Depends(require_permission(Permission.MANAGE_PRICING)), ) -> PricingConfigResponse: """Update pricing configuration.""" service = PricingService(db) return await service.update_config(request)