28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from typing import Union, List
|
|
|
|
from backend.session import session_factory
|
|
from schemas.general import StockUpdate
|
|
from updaters.stocks_updater import StocksUpdater
|
|
|
|
|
|
async def process_update(product_ids: list[int]):
|
|
async with session_factory() as session:
|
|
updates = [StockUpdate(product_id=product_id) for product_id in product_ids]
|
|
updater = StocksUpdater(session)
|
|
await updater.update(updates)
|
|
return {'message': f'Stocks for products [{",".join(map(str, product_ids))}] successfully updated'}
|
|
|
|
|
|
async def update_marketplace(marketplace_id: int):
|
|
async with session_factory() as session:
|
|
updater = StocksUpdater(session)
|
|
await updater.full_update_marketplace(marketplace_id)
|
|
return {'message': f'Stocks for marketplace {marketplace_id} successfully updated'}
|
|
|
|
|
|
async def update_marketplaces(marketplace_ids: Union[List[int], None]):
|
|
async with session_factory() as session:
|
|
updater = StocksUpdater(session)
|
|
await updater.full_update_all_marketplaces(marketplace_ids)
|
|
return {'message': f'Stocks for marketplaces [{",".join(map(str, marketplace_ids))}] successfully updated'}
|