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> |
||
|---|---|---|
| .. | ||
| alembic | ||
| assets | ||
| db | ||
| errors | ||
| mcp_server | ||
| native/rnnoise | ||
| routes | ||
| schemas | ||
| services | ||
| tasks | ||
| tests | ||
| utils | ||
| .cursorignore | ||
| .dockerignore | ||
| .env.example | ||
| .env.test.example | ||
| .gitignore | ||
| __init__.py | ||
| AGENTS.md | ||
| alembic.ini | ||
| app.py | ||
| CLAUDE.md | ||
| conftest.py | ||
| constants.py | ||
| Dockerfile | ||
| enums.py | ||
| logging_config.py | ||
| pyproject.toml | ||
| pytest.ini | ||
| requirements.dev.txt | ||
| requirements.txt | ||
| sdk_expose.py | ||