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