Refactor updatePost() to use template request

This commit is contained in:
Angelo Stavrow 2021-05-13 16:42:49 -04:00
parent 53fb9e1198
commit 092861fd54
No known key found for this signature in database
GPG Key ID: 1A49C7064E060EEE
1 changed files with 9 additions and 23 deletions

View File

@ -593,35 +593,21 @@ public class WFClient {
completion(.failure(error))
}
let dataTask = session.dataTask(with: request) { (data, response, error) in
// Something went wrong; return the error message.
if let error = error {
completion(.failure(error))
}
if let response = response as? HTTPURLResponse {
guard let data = data else { return }
// If we get a 200 OK, return the WFPost as success; if not, return a WFError as failure.
if response.statusCode == 200 {
post(with: request, expecting: 200) { result in
switch result {
case .success(let data):
do {
let post = try self.decoder.decode(ServerData<WFPost>.self, from: data)
completion(.success(post.data))
} catch {
completion(.failure(error))
}
} else {
// We didn't get a 200 OK, so return a WFError
guard let error = self.translateWFError(fromServerResponse: data) else { return }
case .failure(let error):
completion(.failure(error))
}
}
}
dataTask.resume()
}
/// Deletes an existing post.
///
/// - Attention: INCOMPLETE IMPLEMENTATION