feat: get stocks
This commit is contained in:
@@ -11,6 +11,7 @@ from sqlalchemy.orm import joinedload, selectinload
|
||||
from backend.session import session_factory
|
||||
from database import Marketplace, MarketplaceProduct, Warehouse, Company
|
||||
from database.sipro.enums.general import BaseMarketplace
|
||||
from queries.general import StockData
|
||||
from schemas.general import StockUpdate
|
||||
from updaters.factory import UpdaterFactory
|
||||
|
||||
@@ -47,7 +48,7 @@ class StocksUpdater:
|
||||
Company.is_archived == False,
|
||||
Marketplace.is_deleted == False,
|
||||
Marketplace.is_paused == False,
|
||||
Marketplace.send_stocks==True,
|
||||
Marketplace.send_stocks == True,
|
||||
Marketplace.base_marketplace.in_([
|
||||
BaseMarketplace.OZON,
|
||||
BaseMarketplace.WILDBERRIES,
|
||||
@@ -72,6 +73,11 @@ class StocksUpdater:
|
||||
logging.info(
|
||||
f"{marketplace.name} successfully fully updated in {round(time.time() - start, 2)} seconds.")
|
||||
|
||||
async def get_all_stocks_for_marketplace(self, marketplace_id: int, only_available: bool) -> List[StockData]:
|
||||
marketplace = await self.get_marketplace(marketplace_id)
|
||||
updater = UpdaterFactory.get_updater(self.session, marketplace)
|
||||
return await updater.get_all_stocks(only_available)
|
||||
|
||||
async def full_update_all_marketplaces(self, marketplace_ids: Union[List[int], None] = None):
|
||||
marketplaces = await self.get_marketplaces(marketplace_ids)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user