feat(tradein/history): вернуть все параметры оценки в GET /history #2420
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#2420
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/tradein-history-full-params"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Живой запрос пользователя при тестировании «ПРЕДЫДУЩИЕ ОЦЕНКИ» (CacheView): таблица показывает только адрес, не хватает введённых параметров + строки не кликабельны для перехода к отчёту.
Проверено на проде (
\d trade_in_estimates):floor,total_floors,year_built,house_type,repair_state,has_balconyуже персистятся при создании оценки — просто не выбирались вGET /history(толькоaddress/rooms/area_m2). Схему БД трогать не нужно, чистое расширение SELECT.Изменения:
estimate_history()(trade_in.py) — добавлены 6 полей в SELECT, имена колонок 1:1 (без переименования) для прямого маппинга на фронте.created_by, #656) не тронут.Это backend-часть. Frontend follow-up (
CacheRow/mapCache/CacheView+ клик по строке →/v2?id=<uuid>) — отдельный PR после мержа/деплоя этого (нужен codegen против живого OpenAPI).Test plan
uv run pytest -q tests/test_history_scope.py— 6 passed (5 существующих scoping-тестов + 1 новый)pytest -q tests/ -k "history or trade_in"— 65 passed001_trade_in_estimates.sql,065_trade_in_estimates_floor_optional.sql) и обоих INSERT call-sites вestimator.py— совпадаютБез привязки к issue (ad-hoc фикс по живому запросу пользователя).