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.
93 lines
2.9 KiB
93 lines
2.9 KiB
//
|
|
// ForgetPasswordViewModel.swift
|
|
// GMERemittance
|
|
//
|
|
// Created by Sujal on 12/19/17.
|
|
// Copyright © 2017 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class ForgetPasswordViewModel: ModelExtension {
|
|
|
|
private var userId: String?
|
|
private var userDOB: String?
|
|
|
|
let user_id = UserDefaults.standard.object(forKey: "com.gmeremit.username") as? String
|
|
let password = UserDefaults.standard.object(forKey: "com.gmeremit.password") as? String
|
|
|
|
var requestAcknowledged: Box<Bool?> = Box(nil)
|
|
var forgetPasswordConnectionTimeOut: Box<Bool?> = Box(nil)
|
|
var isVerifiedUser: Bool?
|
|
}
|
|
|
|
extension ForgetPasswordViewModel {
|
|
|
|
/**
|
|
To set user id
|
|
- parameter userId: userId
|
|
*/
|
|
func setUserId(userId: String) {
|
|
self.userId = userId
|
|
}
|
|
|
|
/**
|
|
To set user DOB
|
|
- parameter userDOB: date
|
|
*/
|
|
func setUserDOB(userDOB: String) {
|
|
self.userDOB = userDOB
|
|
}
|
|
|
|
/**
|
|
Api request for verification of user account
|
|
*/
|
|
func checkUserVerification() {
|
|
if !Reachability.isConnectedToNetwork() {
|
|
self.internetConnection.value = false
|
|
} else {
|
|
RestApiMananger.sharedInstance.isVerifiedUser(userId: self.userId!) { result in
|
|
switch result {
|
|
case let .success(authJSON):
|
|
self.isVerifiedUser = authJSON["verified"].boolValue
|
|
UserDefaults.standard.set(authJSON["userId"].stringValue, forKey: "com.gmeremit.username")
|
|
self.requestAcknowledged.value = true
|
|
case let .failure(errorJSON):
|
|
self.setErrorMessage(message: errorJSON["message"].stringValue)
|
|
self.requestAcknowledged.value = false
|
|
case .updateAccessCode:
|
|
return
|
|
case .logOutUser():
|
|
return
|
|
case .timeOut:
|
|
self.forgetPasswordConnectionTimeOut.value = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
Api request to submit DOB of user
|
|
*/
|
|
func submitDOB() {
|
|
if !Reachability.isConnectedToNetwork() {
|
|
self.internetConnection.value = false
|
|
} else {
|
|
RestApiMananger.sharedInstance.submitUserDOB(userId: self.userId!, userDOB: self.userDOB!) { result in
|
|
switch result {
|
|
case .success(_):
|
|
self.requestAcknowledged.value = true
|
|
case let .failure(errorJSON):
|
|
self.setErrorMessage(message: errorJSON["message"].stringValue)
|
|
self.requestAcknowledged.value = false
|
|
case .updateAccessCode:
|
|
return
|
|
case .logOutUser():
|
|
return
|
|
case .timeOut:
|
|
self.forgetPasswordConnectionTimeOut.value = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|