feat: a lot of a lot

This commit is contained in:
2024-09-01 01:05:11 +03:00
parent 867dfbe597
commit 4ae03284a3
43 changed files with 700 additions and 13 deletions

19
external/marketplace/factory.py vendored Normal file
View File

@@ -0,0 +1,19 @@
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}")