GET /history SELECTed latest estimates of ALL users -> cross-pilot leak. Adds trade_in_estimates.created_by (migration 083), populated from X-Authenticated-User on estimate creation. /history now: non-admin forced to own rows (legacy NULL rows excluded); admin sees all or ?account=<user>; 401 if header missing, 403 if user not in roles.yaml. _empty_estimate rows also tagged. tests/test_history_scope.py (5 cases) + estimator regression green. Closes #656 |
||
|---|---|---|
| .. | ||
| app | ||
| data/sql | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| Dockerfile | ||
| pyproject.toml | ||