33 lines
		
	
	
		
			990 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			990 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import json
 | 
						|
 | 
						|
import jwt
 | 
						|
from celery.backends.database import retry
 | 
						|
 | 
						|
from queries.general import StockData
 | 
						|
from sender.base import StockRequest
 | 
						|
from updaters.base import BaseMarketplaceUpdater
 | 
						|
 | 
						|
 | 
						|
class WildberriesUpdater(BaseMarketplaceUpdater):
 | 
						|
 | 
						|
    def _get_identifier(self) -> str:
 | 
						|
        try:
 | 
						|
            auth_data = self.get_auth_data()
 | 
						|
            token = auth_data.get('token')
 | 
						|
            decoded_token = jwt.decode(token, algorithms=["HS256"], options={"verify_signature": False})
 | 
						|
            sid = decoded_token.get('sid')
 | 
						|
            return str(sid)
 | 
						|
        except Exception:
 | 
						|
            return f'-1'
 | 
						|
 | 
						|
    def get_stock_request(self, stock_data: StockData) -> StockRequest:
 | 
						|
        return {
 | 
						|
            'request_data': {
 | 
						|
                'sku': stock_data['marketplace_product'].third_additional_article,
 | 
						|
                'amount': stock_data['full_stock']
 | 
						|
            },
 | 
						|
            'product_id': stock_data['product_id'],
 | 
						|
 | 
						|
        'full_stock': stock_data['full_stock']
 | 
						|
        }
 |