fix(backend): validate waitlist status enum at API boundary

Changed WaitlistUpdateRequest.status from str to the actual enum type.
Pydantic now validates the status value, returning 422 for invalid
values instead of a misleading 404 "Waitlist not found" error.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Nicholas Tindle
2026-01-15 15:26:26 -06:00
parent 398197f3ea
commit ed634db8f7
2 changed files with 3 additions and 3 deletions

View File

@@ -2298,9 +2298,9 @@ async def update_waitlist_admin(
k: v for k, v in field_mappings.items() if k in data.model_fields_set
}
# Handle status separately due to enum conversion
# Add status if provided (already validated as enum by Pydantic)
if "status" in data.model_fields_set and data.status is not None:
update_data["status"] = prisma.enums.WaitlistExternalStatus(data.status)
update_data["status"] = data.status
if not update_data:
# No updates, just return current data

View File

@@ -270,7 +270,7 @@ class WaitlistUpdateRequest(pydantic.BaseModel):
imageUrls: list[str] | None = None
videoUrl: str | None = None
agentOutputDemoUrl: str | None = None
status: str | None = None # WaitlistExternalStatus enum value
status: prisma.enums.WaitlistExternalStatus | None = None
storeListingId: str | None = None # Link to a store listing