示例#1
0
// GetAll retrieves a list of all things
func (lr *ThingRouter) GetAll(r *http.Request, w http.ResponseWriter, thingModel *models.ThingModel, conn redis.Conn) {
	// if type is specified as a query param
	qs := r.URL.Query()

	var err error
	var things *[]*model.Thing

	if qs.Get("type") != "" {
		things, err = thingModel.FetchByType(qs.Get("type"), conn)
	} else {
		things, err = thingModel.FetchAll(conn)
	}

	if err != nil {
		WriteServerErrorResponse("Unable to retrieve things", http.StatusInternalServerError, w)
		return
	}

	WriteServerResponse(things, http.StatusOK, w)
}