Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.75 KB | None | 0 0
  1. func fetchMonument(request: AboutMonument.FetchMonument.Request,
  2.                             completion: @escaping (Monument?, AppError?) -> ()) {
  3.         let query = BeaconParse.query()
  4.         query?.whereKey("major", equalTo: request.major)
  5.             .whereKey("minor", equalTo: request.minor)
  6.         query?.getFirstObjectInBackground { (object, error) in
  7.             if let error = error {
  8.                 print(error.localizedDescription)
  9.                 completion(nil, AppError(with: error))
  10.                 return
  11.             }
  12.             guard let beacon = object as? BeaconParse else {
  13.                 print("Something went wrong when monument list was fetched.")
  14.                 completion(nil, AppError(with: error))
  15.                 return
  16.             }
  17.             print(beacon)
  18.             self.getMonument(with: beacon, completion: completion)
  19.         }
  20.     }
  21.    
  22.     private func getMonument(with beacon: BeaconParse,
  23.                              completion: @escaping (Monument?, AppError?) -> ()) {
  24.         let monumentQuery = Monument.query()
  25.         guard let beaconId = beacon.objectId else { return }
  26.         monumentQuery?.whereKey("beaconId", equalTo: beaconId)
  27.         monumentQuery?.getFirstObjectInBackground { (object, error) in
  28.             if let error = error {
  29.                 print(error.localizedDescription)
  30.                 completion(nil, AppError(with: error))
  31.                 return
  32.             }
  33.             guard let monument = object as? Monument else {
  34.                 print("Something went wrong when monument list was fetched.")
  35.                 completion(nil, AppError(with: error))
  36.                 return
  37.             }
  38.             print(monument)
  39.             completion(monument, nil)
  40.         }
  41.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement