gendesign/backend/app
lekss361 57676d5299 feat(sf-b1): GET /parcels/by-bbox — map entry endpoint + parcel_user_status table
Добавляет bbox-поиск участков для карты Site Finder (issue #307):
- GET /api/v1/parcels/by-bbox с query params min_lat/min_lon/max_lat/max_lon/limit/user_id
- Overlay статуса из parcel_user_status (user_id опционален)
- Pydantic schemas: ParcelMapMarker, ParcelBboxResponse в app/schemas/parcel.py
- SQL-миграция 119_parcel_user_status.sql (CREATE TABLE IF NOT EXISTS + индексы)
- 4 unit-теста: valid bbox / invalid bbox (400) / status overlay / no-user-id null status
2026-05-18 00:17:40 +03:00
..
api feat(sf-b1): GET /parcels/by-bbox — map entry endpoint + parcel_user_status table 2026-05-18 00:17:40 +03:00
core fix(infra): wire GlitchTip DSNs (build-arg + env_file) + reject sentry.io promote 2026-05-16 21:48:28 +03:00
models feat(jobs): centralized job_settings API + DB-driven beat schedule 2026-05-11 15:38:13 +03:00
observability feat(backend): sentry-sdk init для FastAPI + Celery (#204 backend) (#207) 2026-05-16 15:09:16 +00:00
schemas feat(sf-b1): GET /parcels/by-bbox — map entry endpoint + parcel_user_status table 2026-05-18 00:17:40 +03:00
scrapers Merge pull request 'feat(#263 sub-A): cad_* overlay schemas + cadastre territorial_zones (ПЗЗ)' (#265) from feat/263-sub-a-cad-nspd-overlay-schemas-and-pzz into main 2026-05-17 07:50:08 +00:00
services feat(sf-b6): GET /parcels/{cad}/poi-score — weighted top-7 (#333) 2026-05-17 21:11:25 +00:00
templates feat(sf-b7): GET /parcels/{cad}/snapshot.pdf — 1-page WeasyPrint export (#334) 2026-05-17 21:11:03 +00:00
workers fix(scrape-objective): stream-parse lots_pf via ijson to avoid OOM (#315) 2026-05-17 16:37:30 +00:00
__init__.py init 2026-04-25 13:45:19 +03:00
main.py feat(sf-b2): GET /users/me/recent-parcels — stub endpoint (auth TODO) (#329) 2026-05-17 21:04:16 +00:00