You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

85 lines
1.9 KiB

//
// 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)
}
)
}
}