Files
g2s-aggregator/app/adapters/delivery_providers/base.py
T
Раис Юсупалиев 2d68aff34d fix cdek client
2026-03-08 23:35:04 +03:00

21 lines
515 B
Python

"""Base interface for delivery providers."""
from abc import ABC, abstractmethod
from app.schemas.request import DeliveryRequest
from app.schemas.response import DeliveryPrice
class DeliveryProvider(ABC):
name: str
@abstractmethod
async def get_price(self, request: DeliveryRequest) -> DeliveryPrice:
"""Fetch one quote from an external provider."""
raise NotImplementedError
class ProviderRequestError(RuntimeError):
"""Raised when a provider rejects input request data."""