from fastapi import APIRouter, HTTPException from fastapi.responses import Response from app.schemas.qr import QRRequest from app.services.qr_service import generate_qr_image_bytes router = APIRouter() @router.post("/generate") async def generate_qr(payload: QRRequest): try: img_bytes = generate_qr_image_bytes(payload.text, payload.size) return Response(content=img_bytes, media_type="image/png") except Exception as exc: # pragma: no cover raise HTTPException(status_code=500, detail=str(exc))