Добавлен POST /api/v1/delivery/suggest-address
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user