36 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.5 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_marketplace_products(marketplace_id: int, product_ids: list[int]):
 | 
						|
    async with session_factory() as session:
 | 
						|
        updater = StocksUpdater(session)
 | 
						|
        await updater.update_marketplace_products(marketplace_id, product_ids)
 | 
						|
    return {
 | 
						|
        'message': f'Products [{",".join(list(map(str, product_ids)))}] successfully updated for marketplace {marketplace_id}'}
 | 
						|
 | 
						|
 | 
						|
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'}
 |