Files
Раис Юсупалиев 17772e5337 Добавлена dadata
2026-03-28 03:44:05 +03:00

25 lines
727 B
Python

"""Base interface for address suggestion providers."""
from abc import ABC, abstractmethod
from app.schemas.request import AddressSuggestRequest
from app.schemas.response import AddressSuggestion
class AddressSuggestionProvider(ABC):
name: str
@abstractmethod
async def suggest(self, request: AddressSuggestRequest) -> list[AddressSuggestion]:
"""Fetch address suggestions for a validated internal request."""
raise NotImplementedError
class AddressSuggestionClientError(RuntimeError):
"""Raised when an address suggestion adapter call fails."""
class AddressSuggestionRequestError(AddressSuggestionClientError):
"""Raised when a provider rejects an address suggestion request."""