versione 1.0

This commit is contained in:
2026-05-23 22:50:13 +02:00
parent f8e6daa084
commit 57367b75c8
48 changed files with 1073 additions and 433 deletions

View File

@@ -0,0 +1,27 @@
from fastapi import APIRouter, HTTPException, status
from app.schemas.booking import BookingRequestCreate, BookingRequestResponse
from app.services.mailer import MailConfigurationError, send_booking_request_email
router = APIRouter(prefix="/api", tags=["booking"])
@router.post("/booking-request", response_model=BookingRequestResponse)
def create_booking_request(payload: BookingRequestCreate) -> BookingRequestResponse:
try:
send_booking_request_email(payload)
except MailConfigurationError as exc:
raise HTTPException(
status_code=status.HTTP_503_SERVICE_UNAVAILABLE,
detail="Il servizio email non è ancora configurato.",
) from exc
except Exception as exc: # pragma: no cover - mail delivery path
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail="Si è verificato un problema durante l'invio della richiesta.",
) from exc
return BookingRequestResponse(
message="La richiesta è stata inviata correttamente e sarà presa in carico al più presto dal team.",
)