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

  1. //
  2. // AddAccountInteractor.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon Devik Kim on 12/04/2019.
  6. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import Foundation
  9. class AddAccountInteractor {
  10. // MARK: Properties
  11. weak var output: AddAccountInteractorOutput?
  12. private let service: AddAccountServiceType
  13. // MARK: Initialization
  14. init(service: AddAccountServiceType) {
  15. self.service = service
  16. }
  17. // MARK: Converting entities
  18. }
  19. // MARK: AddAccount interactor input interface
  20. extension AddAccountInteractor: AddAccountInteractorInput {
  21. func viewIsReady(model: KFTCModel?) {
  22. service.fetchBankList(
  23. success: {[weak self] in
  24. guard let `self` = self else {return}
  25. self.output?.setModel(model: (bankList: $0, kftcModel: model))
  26. },
  27. failure: {[weak self] in
  28. guard let `self` = self else {return}
  29. self.output?.failureSetModel(error: $0)
  30. }
  31. )
  32. }
  33. func verifyAccount(
  34. customerID: String,
  35. bankCode: String,
  36. accountNumber: String
  37. ) {
  38. var params = ["CustomerId": customerID]
  39. params["BankCode"] = bankCode
  40. params["AccountNumber"] = accountNumber
  41. service.verifyAccountService(
  42. params: params,
  43. success: {[weak self] in
  44. guard let `self` = self else {return}
  45. self.output?.successVerify()
  46. },
  47. failure: {[weak self] in
  48. guard let `self` = self else {return}
  49. self.output?.failure(error: $0)
  50. }
  51. )
  52. }
  53. func fetchKFTCUrl(url: String, header: [String: String]) {
  54. service.fetchKftcUrlService(
  55. url: url,
  56. header: header,
  57. success: {[weak self] in
  58. guard
  59. let `self` = self,
  60. let response = $0
  61. else {return}
  62. self.output?.successTestURL(url: response)
  63. },
  64. failure: {[weak self] in
  65. guard let `self` = self else {return}
  66. self.output?.failure(error: $0)
  67. }
  68. )
  69. }
  70. }