from enums.base_marketplace import BaseMarketplace from external.marketplace.ozon.core import OzonMarketplaceApi from external.marketplace.wildberries.core import WildberriesApiUrl, WildberriesMarketplaceApi from external.marketplace.yandex.core import YandexMarketplaceApi from models import Marketplace class MarketplaceApiFactory: @staticmethod def get_marketplace_api(marketplace: Marketplace): match marketplace.base_marketplace_key: case BaseMarketplace.WILDBERRIES: return WildberriesMarketplaceApi(marketplace) case BaseMarketplace.OZON: return OzonMarketplaceApi(marketplace) case BaseMarketplace.YANDEX_MARKET: return YandexMarketplaceApi(marketplace) case _: raise ValueError(f"Unsupported marketplace: {marketplace.base_marketplace_key}")