func handler()

in order-new/main.go [41:62]


func handler(ctx context.Context, ord models.Order) (models.Order, error) {

	log.Printf("[%s] - received new order", ord.OrderID)

	// persist the order data. Set order status to new
	ord.OrderStatus = "New"

	err := saveOrder(ctx, ord)
	if err != nil {
		log.Printf("[%s] - error! %s", ord.OrderID, err.Error())
		return models.Order{}, models.NewErrProcessOrder(err.Error())
	}

	// testing scenario
	if ord.OrderID[0:1] == "1" {
		return models.Order{}, models.NewErrProcessOrder("Unable to process order " + ord.OrderID)
	}

	log.Printf("[%s] - order status set to new", ord.OrderID)

	return ord, nil
}