| # app/mobile_usability/routes.py | |
| from fastapi import APIRouter, HTTPException | |
| from app.mobile_usability.service import MobileUsabilityService | |
| from app.mobile_usability.models import MobileUsabilityRequest | |
| router = APIRouter(prefix="/mobile_usability", tags=["MobileUsability"]) | |
| service = MobileUsabilityService() | |
| def generate_full_mobile_analysis(request: MobileUsabilityRequest): | |
| """ | |
| Generate full Mobile Usability analysis using Gemini: report + prioritized suggestions. | |
| """ | |
| try: | |
| # 1) Generate report (string) via LLM | |
| report = service.generate_mobile_report(request.mobile_data) | |
| # 2) Generate prioritized suggestions via LLM (Pydantic parser) | |
| priority_suggestions = service.generate_mobile_priority(report) | |
| return { | |
| "success": True, | |
| "report": report, | |
| "priority_suggestions": priority_suggestions | |
| } | |
| except Exception as e: | |
| raise HTTPException(status_code=500, detail=str(e)) | |