mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-19 08:28:10 +02:00
* Validate workflow status filter to prevent 500 on invalid enum value The /workflow/fetch and /workflow/summary endpoints accepted a free-form status query param and passed it straight into a query that casts to the workflow_status PG enum (active/archived). Any other value — e.g. an external caller passing 'published' (a workflow_definitions version state, not a workflow status) — failed deep in Postgres as InvalidTextRepresentationError, surfacing as an unhandled HTTP 500. Add _validate_status_filter() to reject values outside WorkflowStatus with a clean 422 before any DB query, for both the single and comma-separated paths. Add route tests covering invalid, valid-single, comma-separated, and mixed valid/invalid cases. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: add tests --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| agent_stream.py | ||
| auth.py | ||
| campaign.py | ||
| credentials.py | ||
| folder.py | ||
| knowledge_base.py | ||
| main.py | ||
| node_types.py | ||
| organization.py | ||
| organization_usage.py | ||
| public_agent.py | ||
| public_download.py | ||
| public_embed.py | ||
| reports.py | ||
| s3_signed_url.py | ||
| service_keys.py | ||
| superuser.py | ||
| telephony.py | ||
| tool.py | ||
| turn_credentials.py | ||
| user.py | ||
| webrtc_signaling.py | ||
| workflow.py | ||
| workflow_embed.py | ||
| workflow_recording.py | ||
| workflow_text_chat.py | ||