Exemple #1
0
func getAllTrips(message *mq.Message) {
	trips, err := db.Table("Trips").Run(session)
	util.LogOnError(err, "[Trip Worker] Erro on getAllTrips")

	var rows []interface{}
	err = trips.All(&rows)
	util.LogOnError(err, "[Trip Worker] Erro on All function")

	message.ResponseCode = http.StatusOK
	message.Response = rows

	trips.Close()
}
Exemple #2
0
func getTrip(message *mq.Message) {
	var trip models.Trip
	trip.ID = message.Request.(string)

	result, err := db.Table("Trips").Get(trip.ID).Run(session)
	util.LogOnError(err, "[Trip Worker] Erro on getTrip")

	if result == nil {
		message.ResponseCode = http.StatusNotFound
		message.Response = nil
	} else {
		err = result.One(&trip)
		util.LogOnError(err, "[Trip Worker] Erro on One function")

		message.ResponseCode = http.StatusOK
		message.Response = trip
	}
	result.Close()
}
Exemple #3
0
//Post manages post method requests
func (t TripHandler) Post(request *http.Request) (int, interface{}) {
	body, err := ioutil.ReadAll(request.Body)
	util.LogOnError(err, "Post error reading request body")

	var message mq.Message
	message.CorrelationID = uuid.NewV4().String()
	message.RequestAction = "POST"
	message.Request = string(body)

	Tasks.PublishMessage(message, "Trip", message.CorrelationID, "callback")

	return processMessage(&message)
}
Exemple #4
0
func postTrip(message *mq.Message) {
	var trip models.Trip
	trip.Initialize()
	trip.LoadJSON(message.Request.(string))

	if trip.Validate() {
		resp, err := db.Table("Trips").Insert(trip).RunWrite(session)
		util.LogOnError(err, "[Trip Worker] Erro inserting new Trip")

		message.ResponseCode = http.StatusOK
		message.Response = resp
	} else {
		message.ResponseCode = http.StatusBadRequest
		message.Response = nil
	}
}