Skip to content

Instantly share code, notes, and snippets.

@poksi592
Created May 15, 2018 09:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save poksi592/77f1b26c00685e2add06ec07bb779cf4 to your computer and use it in GitHub Desktop.
Save poksi592/77f1b26c00685e2add06ec07bb779cf4 to your computer and use it in GitHub Desktop.
class LoginInteractor {
func getPaymentToken(parameters: ModuleParameters?,
completion: @escaping (String?, HTTPURLResponse?, Error?) -> Void) {
let service = MockLoginNetworkService()
guard let parameters = parameters,
let username = parameters[LoginModuleParameters.username.rawValue],
let password = parameters[LoginModuleParameters.password.rawValue] else {
return
}
let getTokenParameters = [LoginModuleParameters.username.rawValue: username,
LoginModuleParameters.password.rawValue: password]
service.post(host: "login",
path: "/payment-token",
parameters: getTokenParameters) { (response, urlResponse, error) in
// We are not going to check errors and URL response status codes, just a shortest path.
var networkError: ResponseError? = nil
if let error = error {
networkError = ResponseError(error: error, response: urlResponse)
}
let token = response?["paymentToken"] as? String
completion(token, urlResponse, networkError)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment