|
@ -35,6 +35,16 @@ class LoginInteractor { |
|
|
return data.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0)) |
|
|
return data.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0)) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private func isValid(userName: String, password: String) -> (isValid: Bool, error: Error){ |
|
|
|
|
|
var error = "" |
|
|
|
|
|
var isValid = true |
|
|
|
|
|
if userName.isEmpty { |
|
|
|
|
|
error = error + "Username field is required."; isValid = false} |
|
|
|
|
|
if password.isEmpty {error = error + "\n Password filed is required."; isValid = false} |
|
|
|
|
|
let _error = NSError.init(domain: "LoginInteractor", code: 0, userInfo: [NSLocalizedDescriptionKey : error]) |
|
|
|
|
|
return (isValid, _error) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// MARK: Converting entities |
|
|
// MARK: Converting entities |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -42,6 +52,12 @@ class LoginInteractor { |
|
|
|
|
|
|
|
|
extension LoginInteractor: LoginInteractorInput { |
|
|
extension LoginInteractor: LoginInteractorInput { |
|
|
func login(username: String, password: String) { |
|
|
func login(username: String, password: String) { |
|
|
|
|
|
|
|
|
|
|
|
let validationResult = self.isValid(userName: username, password: password) |
|
|
|
|
|
if !validationResult.isValid { |
|
|
|
|
|
self.output?.show(error: validationResult.error) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
guard let passwordBase64Data = self.toBase64(text: password) else { |
|
|
guard let passwordBase64Data = self.toBase64(text: password) else { |
|
|
return |
|
|
return |
|
|
|
|
|
|
|
|