Files
Fulfillment-Backend/marketplaces/base/core.py
2024-09-01 01:05:11 +03:00

26 lines
882 B
Python

from abc import ABC, abstractmethod
from typing import Union
from sqlalchemy.ext.asyncio import AsyncSession
from external.marketplace.factory import MarketplaceApiFactory
from external.marketplace.ozon.core import OzonMarketplaceApi
from external.marketplace.wildberries.core import WildberriesMarketplaceApi
from external.marketplace.yandex.core import YandexMarketplaceApi
from models import Marketplace
class BaseMarketplaceController(ABC):
api: Union[WildberriesMarketplaceApi, OzonMarketplaceApi, YandexMarketplaceApi]
marketplace: Marketplace
session: AsyncSession
def __init__(self, session: AsyncSession, marketplace: Marketplace):
self.api = MarketplaceApiFactory.get_marketplace_api(marketplace)
self.marketplace = marketplace
self.session = session
@abstractmethod
async def synchronize_products(self):
pass