| 123456789101112131415161718192021222324252627282930 |
- from __future__ import annotations
- from abc import ABC, abstractmethod
- from dataclasses import dataclass, field
- from typing import Any
- from bom_assistant.session.models import NormalizedParams
- @dataclass
- class SearchResult:
- count: int
- page: int
- page_size: int
- items: list[dict[str, Any]]
- error: str | None = None
- class SupplierAdapter(ABC):
- def __init__(self, api_token: str | None = None) -> None:
- self.api_token = api_token
- @abstractmethod
- def search(
- self,
- category_id: int,
- params: NormalizedParams,
- filters: dict[str, Any] | None = None,
- page: int = 1,
- ) -> SearchResult: ...
|