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

25
marketplaces/base/core.py Normal file
View File

@@ -0,0 +1,25 @@
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