""" SMS API Routes """ from fastapi import APIRouter, HTTPException from ..services.sms_service import sms_service from .models import SMSSendRequest, SMSVerifyRequest router = APIRouter(prefix="/api/v1/sms", tags=["SMS"]) @router.post("/send") async def send_sms_code(request: SMSSendRequest): """ Отправить SMS код верификации - **phone**: Номер телефона в формате +79001234567 """ code = await sms_service.send_verification_code(request.phone) if code: return { "success": True, "message": "Код отправлен на указанный номер", "debug_code": code if sms_service.enabled else None # Показываем код только в dev } else: raise HTTPException( status_code=429, detail="Слишком много запросов. Попробуйте через минуту." ) @router.post("/verify") async def verify_sms_code(request: SMSVerifyRequest): """ Проверить SMS код - **phone**: Номер телефона - **code**: 6-значный код из SMS """ is_valid = await sms_service.verify_code(request.phone, request.code) if is_valid: return { "success": True, "message": "Код подтвержден" } else: raise HTTPException( status_code=400, detail="Неверный код или код истек" )