[P1] История по аккаунту: привязать оценку к username + фильтр /history + admin-просмотр (сейчас видны все — data-leak) #656

Closed
opened 2026-05-29 13:15:33 +00:00 by lekss361 · 0 comments
Owner

Требование Артёма: «Отслеживать что они смотрели по истории». Сейчас /history отдаёт последние оценки ВСЕХ пользователей без фильтра (estimate не привязан к аккаунту) — и функционально не то, и data-leak между пилотами.

Сделать

  • Миграция (следующий свободный номер, 071 занят → 077+): ALTER TABLE trade_in_estimates ADD COLUMN IF NOT EXISTS created_by text + индекс (created_by, created_at DESC).
  • POST /estimate: пробросить X-Authenticated-User → estimate_quality → INSERT created_by.
  • GET /history: фильтр WHERE created_by = :user по X-Authenticated-User.
  • Admin: возможность посмотреть историю конкретного аккаунта (напр. /history?account=praktika для admin).

Acceptance

  • praktika видит только свою историю; admin может посмотреть, что смотрела praktika.
Требование Артёма: «Отслеживать что они смотрели по истории». Сейчас `/history` отдаёт последние оценки ВСЕХ пользователей без фильтра (estimate не привязан к аккаунту) — и функционально не то, и data-leak между пилотами. ## Сделать - Миграция (следующий свободный номер, 071 занят → 077+): `ALTER TABLE trade_in_estimates ADD COLUMN IF NOT EXISTS created_by text` + индекс (created_by, created_at DESC). - POST /estimate: пробросить X-Authenticated-User → estimate_quality → INSERT created_by. - GET /history: фильтр `WHERE created_by = :user` по X-Authenticated-User. - Admin: возможность посмотреть историю конкретного аккаунта (напр. /history?account=praktika для admin). ## Acceptance - praktika видит только свою историю; admin может посмотреть, что смотрела praktika.
lekss361 added this to the Praktika demo — Mon 2026-06-01 milestone 2026-05-29 13:15:33 +00:00
lekss361 added the
security
tradein
scope/backend
priority/p1
status/ready
labels 2026-05-29 13:15:33 +00:00
bot-reviewer added
status/qa
and removed
status/ready
labels 2026-05-29 15:59:19 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

2026-06-01

Dependencies

No dependencies set.

Reference: lekss361/gendesign#656
No description provided.