// Finish is called once the controller method completes func Finish(service *services.Service) { defer func() { if service.MongoSession != nil { mongo.CloseSession(service.UserId, service.MongoSession) service.MongoSession = nil } }() tracelog.COMPLETED(service.UserId, "Finish") }
// FindRegion retrieves the stations for the specified region func FindRegion(service *services.Service, region string) (buoyStations []*buoyModels.BuoyStation, err error) { defer helper.CatchPanic(&err, service.UserId, "FindRegion") tracelog.STARTED(service.UserId, "FindRegion") // Find the specified region queryMap := bson.M{"region": region} tracelog.TRACE(service.UserId, "FindRegion", "Query : %s", mongo.ToString(queryMap)) // Capture the specified buoy buoyStations = []*buoyModels.BuoyStation{} err = service.DBAction(Config.Database, "buoy_stations", func(collection *mgo.Collection) error { return collection.Find(queryMap).All(&buoyStations) }) if err != nil { tracelog.COMPLETED_ERROR(err, service.UserId, "FindRegion") return buoyStations, err } tracelog.COMPLETED(service.UserId, "FindRegion") return buoyStations, err }
// FindStation retrieves the specified station func FindStation(service *services.Service, stationId string) (buoyStation *buoyModels.BuoyStation, err error) { defer helper.CatchPanic(&err, service.UserId, "FindStation") tracelog.STARTED(service.UserId, "FindStation") // Find the specified station id queryMap := bson.M{"station_id": stationId} tracelog.TRACE(service.UserId, "FindStation", "Query : %s", mongo.ToString(queryMap)) // Execute the query buoyStation = &buoyModels.BuoyStation{} err = service.DBAction(Config.Database, "buoy_stations", func(collection *mgo.Collection) error { return collection.Find(queryMap).One(buoyStation) }) if err != nil { tracelog.COMPLETED_ERROR(err, service.UserId, "FindStation") return buoyStation, err } tracelog.COMPLETED(service.UserId, "FindStation") return buoyStation, err }