From aee85c0087fecfe42717744160d72558954d5659 Mon Sep 17 00:00:00 2001 From: ga Date: Fri, 21 Aug 2026 11:55:22 +0000 Subject: [PATCH] =?UTF-8?q?Fix:=20Nearby=20struct=20=D0=B1=D0=B5=D0=B7=20J?= =?UTF-8?q?SON-=D1=82=D0=B5=D0=B3=D0=BE=D0=B2=20=E2=86=92=20=D0=BE=D1=82?= =?UTF-8?q?=D0=B4=D0=B0=D0=B2=D0=B0=D0=BB=D0=BE=D1=81=D1=8C=20PascalCase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit После Sprint 5.1 (snake_case lowercase) Nearby struct не получил json-теги. /search/nearby возвращал {UserID, Name, Lat, ...} а фронт ждал {user_id, name, lat, ...} — markers не рисовались. Фикс: добавил json:"..." на все поля Nearby. Проверено: snake_case теперь везде в /search/nearby. --- internal/locations/repo.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/locations/repo.go b/internal/locations/repo.go index 2c9313d..7213aa9 100644 --- a/internal/locations/repo.go +++ b/internal/locations/repo.go @@ -79,12 +79,12 @@ func (r *Repo) Get(ctx context.Context, userID uuid.UUID) (*Location, error) { // Оптимизация: фильтруем сначала по bounding-box (lat/lng), потом haversine только для отфильтрованных. // Это устраняет двойной расчёт haversine и даёт индекс если добавить GiST/btree на lat,lng. type Nearby struct { - UserID uuid.UUID - Name string - PhotoURL string - Lat float64 - Lng float64 - DistanceM float64 + UserID uuid.UUID `json:"user_id"` + Name string `json:"name"` + PhotoURL string `json:"photo_url"` + Lat float64 `json:"lat"` + Lng float64 `json:"lng"` + DistanceM float64 `json:"distance_m"` } func (r *Repo) Nearby(ctx context.Context, myID uuid.UUID, lat, lng, radiusKm float64, limit int) ([]Nearby, error) {