Добавлен POST /api/v1/delivery/suggest-address

This commit is contained in:
Раис Юсупалиев
2026-03-29 02:05:21 +03:00
parent 17772e5337
commit 4a3737999f
11 changed files with 666 additions and 23 deletions
@@ -133,14 +133,27 @@ def _map_dadata_suggestion(payload: object) -> AddressSuggestion:
if raw_data is not None and not isinstance(raw_data, dict):
raise ValueError("Dadata suggestion data must be an object when provided.")
street = None
house = None
flat = None
postal_code = None
if isinstance(raw_data, dict):
raw_postal_code = raw_data.get("postal_code")
if raw_postal_code is not None:
postal_code = str(raw_postal_code).strip() or None
street = _coerce_optional_text(raw_data.get("street"))
house = _coerce_optional_text(raw_data.get("house"))
flat = _coerce_optional_text(raw_data.get("flat"))
postal_code = _coerce_optional_text(raw_data.get("postal_code"))
return AddressSuggestion(
provider="dadata",
address=raw_address.strip(),
street=street,
house=house,
flat=flat,
postal_code=postal_code,
)
def _coerce_optional_text(value: object) -> str | None:
if value is None:
return None
return str(value).strip() or None