Refactor getCollection() to use template request

This commit is contained in:
Angelo Stavrow 2021-05-06 16:54:12 -04:00
parent ff857f70d6
commit f886886ade
No known key found for this signature in database
GPG Key ID: 1A49C7064E060EEE
1 changed files with 10 additions and 24 deletions

View File

@ -137,35 +137,21 @@ public class WFClient {
request.addValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type") request.addValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
request.addValue(tokenToVerify, forHTTPHeaderField: "Authorization") request.addValue(tokenToVerify, forHTTPHeaderField: "Authorization")
let dataTask = URLSession.shared.dataTask(with: request) { (data, response, error) in get(with: request) { result in
// Something went wrong; return the error message. switch result {
if let error = error { case .success(let data):
completion(.failure(error))
}
if let response = response as? HTTPURLResponse {
guard let data = data else { return }
// If we get a 200 OK, return the WFUser as success; if not, return a WFError as failure.
if response.statusCode == 200 {
do { do {
let collection = try self.decoder.decode(ServerData<WFCollection>.self, from: data) let collection = try self.decoder.decode(ServerData<WFCollection>.self, from: data)
completion(.success(collection.data)) completion(.success(collection.data))
} catch { } catch {
completion(.failure(error)) completion(.failure(WFError.invalidData))
} }
} else { case .failure(let error):
// We didn't get a 200 OK, so return a WFError
guard let error = self.translateWFError(fromServerResponse: data) else { return }
completion(.failure(error)) completion(.failure(error))
} }
} }
} }
dataTask.resume()
}
/// Permanently deletes a collection. /// Permanently deletes a collection.
/// ///
/// Any posts in the collection are not deleted; rather, they are made anonymous. /// Any posts in the collection are not deleted; rather, they are made anonymous.