Example #1
0
func PlaceOrder(c *gin.Context) {
	json := struct {
		TabID       string `json:"tabID" binding:"required"`
		MenuNumbers []int  `json:"items" binding:"required"`
	}{}

	if err := c.BindJSON(&json); err != nil {
		c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
		return
	}

	order := []cafe.OrderedItem{}

	for _, menuNumber := range json.MenuNumbers {
		order = append(order, food[menuNumber])
	}

	cafe.Send(cafe.PlaceOrderTopic, cafe.NewPlaceOrder(uuid.Parse(json.TabID), order))
	c.String(http.StatusAccepted, "")
}