diff --git a/backend/app/api/v1/pilot.py b/backend/app/api/v1/pilot.py index 7ff2b4e4..a925b86f 100644 --- a/backend/app/api/v1/pilot.py +++ b/backend/app/api/v1/pilot.py @@ -11,7 +11,7 @@ import logging from typing import Annotated, Any, Literal from fastapi import APIRouter, Depends, Request -from pydantic import BaseModel, EmailStr, Field +from pydantic import BaseModel, Field from sqlalchemy import text from sqlalchemy.orm import Session @@ -25,7 +25,10 @@ router = APIRouter() class PilotRequestInput(BaseModel): name: str = Field(min_length=2, max_length=200) phone: str | None = Field(default=None, max_length=50) - email: EmailStr | None = None + # Note: was EmailStr but `email-validator` package not in deps → ImportError + # on backend startup → container unhealthy → whole deploy fails. Using plain + # str + minimal regex; full validation can happen on frontend/CRM side. + email: str | None = Field(default=None, max_length=200, pattern=r"^[^@\s]+@[^@\s]+\.[^@\s]+$") company: str | None = Field(default=None, max_length=200) message: str | None = Field(default=None, max_length=2000) source: Literal["landing", "analyze_page", "other"] = "landing"