mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-08 03:00:28 -04:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user