in order-update/main.go [41:68]
func handler(ctx context.Context, ord models.Order) (models.Order, error) {
log.Printf("[%s] - received request to update order status", ord.OrderID)
order, err := getOrder(ctx, ord.OrderID)
if err != nil {
log.Printf("[%s] - error! %s", ord.OrderID, err.Error())
return ord, models.NewErrUpdateOrderStatus(err.Error())
}
// Set order to status to "pending"
order.OrderStatus = "Pending"
err = saveOrder(ctx, order)
if err != nil {
log.Printf("[%s] - error! %s", ord.OrderID, err.Error())
return ord, models.NewErrUpdateOrderStatus(err.Error())
}
// testing scenario
if ord.OrderID[0:2] == "11" {
return models.Order{}, models.NewErrUpdateOrderStatus("Unable to update order status for " + ord.OrderID)
}
log.Printf("[%s] - order status updated to pending", ord.OrderID)
return ord, nil
}