diff --git a/web/tasks/vk_sync.py b/web/tasks/vk_sync.py index 542b7fc..88f9b4a 100644 --- a/web/tasks/vk_sync.py +++ b/web/tasks/vk_sync.py @@ -164,6 +164,25 @@ def _sync_product( now = _now() if product.vk_product_id: + # Delete from VK if product is no longer for sale + if not product.allow_to_sell: + resp = _vk_post("market.delete", { + "owner_id": owner_id, + "item_id": product.vk_product_id, + }, token, user_id=user_id) + if "error" not in resp: + from web.models.connections import VkCachedProduct + vk_p = db.query(VkCachedProduct).filter_by( + user_id=user_id, vk_group_id=vk_group_id, vk_product_id=product.vk_product_id, + ).first() + if vk_p: + db.delete(vk_p) + product.vk_product_id = None + logger.info("user=%s deleted VK product '%s' (disabled)", user_id, name) + else: + logger.warning("market.delete error for disabled product %s: %s", product.evotor_id, resp["error"]) + return + # Check if update needed changed = False # Re-read current VK state from cache