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.
74 lines
1.7 KiB
74 lines
1.7 KiB
//
|
|
// AutoDebitPresenter.swift
|
|
// GME Remit
|
|
//
|
|
// Created by Mac on 12/19/18.
|
|
//Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class AutoDebitPresenter {
|
|
|
|
// MARK: Properties
|
|
|
|
weak var view: AutoDebitViewInterface?
|
|
var interactor: AutoDebitInteractorInput?
|
|
var wireframe: AutoDebitWireframeInput?
|
|
|
|
// MARK: Converting entities
|
|
}
|
|
|
|
// MARK: AutoDebit module interface
|
|
|
|
extension AutoDebitPresenter: AutoDebitModuleInterface {
|
|
func fetchKFTCBankAccountList() {
|
|
view?.startLoading()
|
|
interactor?.fetchKFTCBankAccountList()
|
|
}
|
|
|
|
func deleteKFTCBankAccount(of username: String, with account: Account) {
|
|
view?.startLoading()
|
|
interactor?.deleteKFTCBankAccount(of: username, with: account)
|
|
}
|
|
|
|
func goAddAccount(model: KFTCModel?){
|
|
wireframe?.goAddAccountViewController(with: model)
|
|
}
|
|
|
|
func goRefreshToken(selectedLanguage: KftcLanguage?) {
|
|
interactor?.refreshToken(language: selectedLanguage)
|
|
}
|
|
}
|
|
|
|
// MARK: AutoDebit interactor output interface
|
|
|
|
extension AutoDebitPresenter: AutoDebitInteractorOutput {
|
|
func refreshTokenSuccess(header: [KftcHeader]?, url: String?) {
|
|
wireframe?.goRefreshToken(header: header, url: url)
|
|
}
|
|
|
|
func refreshTokenError(with error: Error) {
|
|
view?.didFailRefreshToken(with: error)
|
|
}
|
|
|
|
func setModel(with model: KFTCModel?) {
|
|
view?.endLoading()
|
|
view?.setModel(with: model)
|
|
}
|
|
|
|
func didFailSetModel(with error: Error) {
|
|
view?.endLoading()
|
|
view?.didFailSetModel(with: error)
|
|
}
|
|
|
|
func didDeleteAccount() {
|
|
view?.endLoading()
|
|
view?.didDeleteAccount()
|
|
}
|
|
|
|
func didFailDeleteAccount(with error: Error){
|
|
view?.endLoading()
|
|
view?.didFailDeleteAccount(with: error)
|
|
}
|
|
}
|