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.
60 lines
1.2 KiB
60 lines
1.2 KiB
//
|
|
// HomeInteractor.swift
|
|
// GMERemittance
|
|
//
|
|
// Created by gme_2 on 21/09/2018.
|
|
//Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import FirebaseInstanceID
|
|
|
|
class HomeInteractor {
|
|
|
|
// MARK: Properties
|
|
|
|
weak var output: HomeInteractorOutput?
|
|
private let service: HomeServiceType
|
|
|
|
// MARK: Initialization
|
|
|
|
init(service: HomeServiceType) {
|
|
self.service = service
|
|
}
|
|
// MARK: Converting entities
|
|
}
|
|
|
|
// MARK: Home interactor input interface
|
|
|
|
extension HomeInteractor: HomeInteractorInput {
|
|
func fetchUserInfo() {
|
|
|
|
GMEDB.shared.getFcmToken { (token, error) in
|
|
self.service.fetchUserInfo(
|
|
token: token ?? "",
|
|
success: { user in
|
|
self.output?.show(model: user)
|
|
},
|
|
failure: {
|
|
let error = $0 as NSError
|
|
if error.code == AppConstants.emergencyLogoutErrorCode {
|
|
self.output?.show(panicError: error)
|
|
return
|
|
}
|
|
|
|
self.output?.show(error: error)
|
|
})
|
|
}
|
|
}
|
|
|
|
func fetchHotLines() {
|
|
service.fetchHotLines(
|
|
success: {
|
|
self.output?.setHotLine(with: $0)
|
|
},
|
|
failure: {
|
|
self.output?.show(error: $0)
|
|
}
|
|
)
|
|
}
|
|
}
|