Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func getList(_ request: Request)throws -> Future<Response> {
- let deviceIdReq = request.parameters.values[0].value
- let queryTrips = Trip.query(on: request).filter(.deviceId == deviceIdReq).all()
- var tripsR = [TripCustomContent]()
- var trips = [Trip]()
- return queryTrips.flatMap { (result) -> (Future<Response>) in
- trips = result
- var count = 0
- for t in trips {
- let tripIdString = String(t.id!)
- let v = Location.query(on: request).filter(.tripID == tripIdString).count().map({ (res) -> Int in
- return res
- })/*.map{ (result) -> (Int) in
- count = result
- return result
- }*/
- let tripCustomContent = TripCustomContent.init(startTimestamp: t.startTimestamp, endTimestamp: t.endTimestamp, deviceId: t.deviceId, locationCount: v)
- tripsR.append(tripCustomContent)
- }
- let jsonEncoder = JSONEncoder()
- let data = try jsonEncoder.encode(tripsR)
- let response = HTTPResponse.init(status: .ok, version: HTTPVersion.init(major: x, minor: y), headers: HTTPHeaders.init(), body: data)
- let finalResponse = Response.init(http: response, using: request)
- return try g.encode(for: request)
- }
- }
- struct TripCustomContent: Encodable {
- var startTimestamp: String?
- var endTimestamp: String?
- var deviceId: String
- var locationCount: Future<Int>
- }
Add Comment
Please, Sign In to add comment