dograh/api/services
Abhishek d2cda85b78
fix: validate workflow status filter to prevent 500 on invalid enum value (#450)
* 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>
2026-06-18 08:39:59 +05:30
..
auth feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
campaign feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
configuration fix: add pace option in sarvam tts config (#447) 2026-06-17 14:45:09 +05:30
filesystem chore: bump pipecat version and fix tests (#263) 2026-05-04 21:35:37 +05:30
gen_ai feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
gender Initial Commit 🚀 🚀 2025-09-09 14:37:32 +05:30
integrations fix timestamps in tuner accumelator (#335) 2026-05-21 07:43:50 +05:30
pipecat fix: add pace option in sarvam tts config (#447) 2026-06-17 14:45:09 +05:30
reports feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
telephony feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
voice_prompting_guide feat: add mcp guides for various topic and stages for bot building (#380) 2026-05-31 16:07:32 +05:30
worker_sync feat: add worker sync events 2026-04-04 14:26:47 +05:30
workflow feat: persist split user and bot audio 2026-06-16 15:19:49 +05:30
managed_model_services.py feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
mps_billing.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
mps_service_key_client.py fix: validate workflow status filter to prevent 500 on invalid enum value (#450) 2026-06-18 08:39:59 +05:30
organization_context.py feat: billing and credit management v2 (#429) 2026-06-12 14:55:30 +05:30
organization_preferences.py feat: add config v2 to simplify billing (#428) 2026-06-09 16:10:26 +05:30
posthog_client.py feat: add posthog signup and signin events, enable backend posthog events for oss version (#249) 2026-04-24 12:02:52 +05:30
quota_service.py feat: centralise workflow run authorization 2026-06-12 18:16:30 +05:30
storage.py chore: bump pipecat version and fix tests (#263) 2026-05-04 21:35:37 +05:30
tool_management.py feat: create tools using MCP 2026-05-31 16:50:44 +05:30
user_onboarding.py feat: UI refresh and user onboarding (#430) 2026-06-17 19:49:33 +05:30
workflow_run_billing.py fix: validate workflow status filter to prevent 500 on invalid enum value (#450) 2026-06-18 08:39:59 +05:30