Guest User

Untitled

a guest
Feb 16th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. func getList(_ request: Request)throws -> Future<Response> {
  2.  
  3. let deviceIdReq = request.parameters.values[0].value
  4. let queryTrips = Trip.query(on: request).filter(.deviceId == deviceIdReq).all()
  5. var tripsR = [TripCustomContent]()
  6. var trips = [Trip]()
  7.  
  8. return queryTrips.flatMap { (result) -> (Future<Response>) in
  9. trips = result
  10.  
  11. var count = 0
  12. for t in trips {
  13. let tripIdString = String(t.id!)
  14. let v = Location.query(on: request).filter(.tripID == tripIdString).count().map({ (res) -> Int in
  15. return res
  16. })/*.map{ (result) -> (Int) in
  17. count = result
  18. return result
  19. }*/
  20. let tripCustomContent = TripCustomContent.init(startTimestamp: t.startTimestamp, endTimestamp: t.endTimestamp, deviceId: t.deviceId, locationCount: v)
  21. tripsR.append(tripCustomContent)
  22. }
  23. let jsonEncoder = JSONEncoder()
  24. let data = try jsonEncoder.encode(tripsR)
  25. let response = HTTPResponse.init(status: .ok, version: HTTPVersion.init(major: x, minor: y), headers: HTTPHeaders.init(), body: data)
  26. let finalResponse = Response.init(http: response, using: request)
  27. return try g.encode(for: request)
  28. }
  29. }
  30.  
  31. struct TripCustomContent: Encodable {
  32. var startTimestamp: String?
  33. var endTimestamp: String?
  34. var deviceId: String
  35. var locationCount: Future<Int>
  36. }
Add Comment
Please, Sign In to add comment