mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-07-19 11:41:04 +02:00
* fix(api): validate pagination bounds on run-list endpoints (#553) GET /workflow/{id}/runs and GET /campaign/{id}/runs declared bare `page: int = 1` / `limit: int = 50` params, then computed `total_pages = (total_count + limit - 1) // limit`. A `?limit=0` raised an unhandled ZeroDivisionError (HTTP 500), and negative limit/page produced a negative offset and nonsensical pagination. Add `Query(ge=1, le=100)` / `Query(1, ge=1)` bounds to both endpoints, matching the sibling list endpoints (/usage/runs and the superuser runs endpoint) that already validate these. Out-of-range values now return 422. Adds a regression test covering limit=0/-5/101 and page=0 on both endpoints. Fixes #553 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore(docs): regenerate openapi.json for run-list pagination bounds (#553) The added Query(ge/le) bounds on the workflow-run and campaign-run list endpoints changed the OpenAPI schema; regenerate the committed spec via `python -m scripts.dump_docs_openapi` so the drift-check passes. Only the limit/page parameter schemas for those two endpoints change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Abhishek Kumar <abhishek@a6k.me> |
||
|---|---|---|
| .. | ||
| __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 | ||