def save_products()

in warehouse/src/on_order_events/main.py [0:0]


def save_products(order_id: str, products: List[dict]) -> None:
    """
    Save products in the DynamoDB table
    """

    logger.info({
        "message": "Writing {} products for order {}".format(
            len(products), order_id
        ),
        "operation": "put",
        "orderId": order_id,
        "productCount": len(products)
    })

    with table.batch_writer() as batch:
        for product in products:
            item = {
                "orderId": order_id,
                "productId": product["productId"],
                "quantity": product.get("quantity", 1)
            }
            logger.debug({
                "message": "Writing product {}".format(product["productId"]),
                "operation": "put",
                "product": item,
                "orderId": order_id
            })
            batch.put_item(Item=item)