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"])