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.
 
 
 
 

62 lines
1.6 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
private func getFcmToken() -> String? {
let token = InstanceID.instanceID().token()
return token
}
}
// MARK: Home interactor input interface
extension HomeInteractor: HomeInteractorInput {
func fetchUserInfo() {
let userId = Utility.getMyUserName()
var param = ["userId" : userId]
param["uuid"] = Utility.getUUid() ?? ""
param["appVersion"] = Utility.getAppVersion()
param["phoneBrand"] = Utility.getPhoneBrand()
param["phoneOs"] = Utility.getPhoneOs()
param["fcmId"] = self.getFcmToken()
param["osVersion"] = Utility.getOsVersion()
self.service.fetchUserInfo(param: param, success: { user in
self.output?.show(model: user)
}) { error in
if let _error = error as? NSError {
if _error.code == AppConstants.emergencyLogoutErrorCode {
self.output?.show(panicError: error)
}
return
}
self.output?.show(error: error)
}
}
}