From 524353bfa194be92b32076e585ad879d387909f4 Mon Sep 17 00:00:00 2001 From: Eli Ribble Date: Wed, 29 Apr 2026 13:55:10 +0000 Subject: [PATCH] Geocode address if we only have a raw value This will help with matching when the user does not select a suggested address. --- platform/publicreport.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/platform/publicreport.go b/platform/publicreport.go index f81a4fca..de354b60 100644 --- a/platform/publicreport.go +++ b/platform/publicreport.go @@ -305,11 +305,23 @@ func publicReportCreate(ctx context.Context, setter_report models.PublicreportRe } var addr *models.Address - if address != nil && address.GID != "" { - a := *address - addr, err = geocode.EnsureAddress(ctx, txn, a) - if err != nil { - return nil, fmt.Errorf("Failed to ensure address: %w", err) + if address != nil { + if address.GID != "" { + addr, err = geocode.EnsureAddress(ctx, txn, *address) + if err != nil { + return nil, fmt.Errorf("Failed to ensure address: %w", err) + } + } else if address.Raw != "" { + geo_res, err := geocode.GeocodeRaw(ctx, nil, address.Raw) + if err != nil { + return nil, fmt.Errorf("Failed to geocode raw: %w", err) + } + addr, err = models.FindAddress(ctx, txn, *geo_res.Address.ID) + if err != nil { + return nil, fmt.Errorf("Failed to lookup address: %w", err) + } + } else { + return nil, fmt.Errorf("empty address") } }