// // AddAccountInteractor.swift // GME Remit // // Created by InKwon Devik Kim on 12/04/2019. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. // import Foundation class AddAccountInteractor { // MARK: Properties weak var output: AddAccountInteractorOutput? private let service: AddAccountServiceType // MARK: Initialization init(service: AddAccountServiceType) { self.service = service } // MARK: Converting entities } // MARK: AddAccount interactor input interface extension AddAccountInteractor: AddAccountInteractorInput { func viewIsReady(model: KFTCModel?) { service.fetchBankList( success: {[weak self] in guard let `self` = self else {return} self.output?.setModel(model: (bankList: $0, kftcModel: model)) }, failure: {[weak self] in guard let `self` = self else {return} self.output?.failureSetModel(error: $0) } ) } func verifyAccount( customerID: String, bankCode: String, accountNumber: String ) { var params = ["CustomerId": customerID] params["BankCode"] = bankCode params["AccountNumber"] = accountNumber service.verifyAccountService( params: params, success: {[weak self] in guard let `self` = self else {return} self.output?.successVerify() }, failure: {[weak self] in guard let `self` = self else {return} self.output?.failure(error: $0) } ) } func fetchKFTCUrl(url: String, header: [String: String]) { service.fetchKftcUrlService( url: url, header: header, success: {[weak self] in guard let `self` = self, let response = $0 else {return} self.output?.successTestURL(url: response) }, failure: {[weak self] in guard let `self` = self else {return} self.output?.failure(error: $0) } ) } }