feat(market): GRANT listings + offer_price_history → gendesign_reader (#1191) #1193

Merged
lekss361 merged 1 commit from feat/market-grant-listings-reader into main 2026-06-12 09:06:19 +00:00
Owner

Summary

Одна миграция tradein-mvp/backend/data/sql/102_grant_listings_gendesign_reader.sql: market-слой — SF получает read-доступ к unit-level квартирам-объявлениям через существующую роль gendesign_reader (#976/PR #1185, канал верифицирован QA на проде сегодня: end-to-end коннект ок, ETL идемпотентен, счётчики сходятся).

  • GRANT SELECT ON listings + offer_price_history (динамика цен квартир — trend/volatility для SF). Внутренние ETL-таблицы (listing_sources/snapshots/events) сознательно НЕ грантятся.
  • Fail-fast DO-блок: понятная ошибка, если роли нет (м.101 раньше по NN).
  • Контракт в шапке: потребитель фильтрует listing_segment сам (канон IS NULL OR ='vtorichka', #1186).

Review: однофайловая миграция вычитана main-сессией (BEGIN/COMMIT, идемпотентные GRANT, без секретов). ⚠️ Авто-apply на прод при следующем tradein-деплое.

Test plan

  • Синтаксис/парность блоков, pre-commit hooks
  • post-merge: \dp listings показывает grant gendesign_reader (verify-коммент в issue)

Refs #1191

## Summary Одна миграция `tradein-mvp/backend/data/sql/102_grant_listings_gendesign_reader.sql`: market-слой — SF получает read-доступ к unit-level квартирам-объявлениям через существующую роль `gendesign_reader` (#976/PR #1185, канал верифицирован QA на проде сегодня: end-to-end коннект ок, ETL идемпотентен, счётчики сходятся). - `GRANT SELECT ON listings` + `offer_price_history` (динамика цен квартир — trend/volatility для SF). Внутренние ETL-таблицы (`listing_sources`/snapshots/events) сознательно НЕ грантятся. - Fail-fast DO-блок: понятная ошибка, если роли нет (м.101 раньше по NN). - Контракт в шапке: потребитель фильтрует `listing_segment` сам (канон `IS NULL OR ='vtorichka'`, #1186). Review: однофайловая миграция вычитана main-сессией (BEGIN/COMMIT, идемпотентные GRANT, без секретов). ⚠️ Авто-apply на прод при следующем tradein-деплое. ## Test plan - [x] Синтаксис/парность блоков, pre-commit hooks - [ ] post-merge: `\dp listings` показывает grant gendesign_reader (verify-коммент в issue) Refs #1191
lekss361 added 1 commit 2026-06-12 09:05:50 +00:00
feat(market): GRANT listings → gendesign_reader — unit-level доступ SF (#1191)
All checks were successful
CI / changes (push) Successful in 6s
CI / backend-tests (push) Has been skipped
CI / frontend-tests (push) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 6s
9ffadb9ea6
- listings + offer_price_history SELECT для gendesign_reader
- fail-fast DO-блок: RAISE EXCEPTION если роль не существует (м.101 не применён)
- НЕ грантятся listing_sources/snapshots/events (внутренний ETL, не нужен SF)
- Контракт: consumer фильтрует vtorichka канон-предикатом сам

Closes #1191
lekss361 added the
scope/backend
site-finder
status/review
labels 2026-06-12 09:06:05 +00:00
lekss361 merged commit 6d4dbd3e9d into main 2026-06-12 09:06:19 +00:00
lekss361 deleted branch feat/market-grant-listings-reader 2026-06-12 09:06:19 +00:00
Sign in to join this conversation.
No reviewers
No milestone
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".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1193
No description provided.