def on_order_created()

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


def on_order_created(order: dict):
    """
    Process an OrderCreated event
    """

    order_id = order["orderId"]

    # Idempotency check
    metadata = get_metadata(order_id)
    # Check if the metadata exist and is newer/same version as the event
    if metadata is not None and metadata["modifiedDate"] >= order["modifiedDate"]:
        logger.info({
            "message": "Order {} is already in the database".format(order_id),
            "orderId": order_id
        })
        # Skipping
        return

    logger.info({
        "message": "Saving new packaging request for order {}".format(order_id),
        "orderId": order_id
    })
    save_products(order_id, order["products"])
    save_metadata(order_id, order["modifiedDate"])