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.

171 lines
5.0 KiB

6 years ago
6 years ago
6 years ago
  1. //
  2. // User.swift
  3. // GMERemittance
  4. //
  5. // Created by gme_2 on 02/09/2018.
  6. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import Foundation
  9. import ObjectMapper
  10. protocol LoginApiService: ApiServiceType {
  11. func _login(userId: String, password: String ,success: @escaping (User?) -> (), failure: @escaping (Error) -> ())
  12. }
  13. extension LoginApiService {
  14. func _login(userId: String, password: String, success: @escaping (User?) -> (), failure: @escaping (Error) -> ()) {
  15. let params = [ "userId": userId, "password": password ]
  16. let url = baseUrl + "users/access-code"
  17. auth.request(method: .post, url: url, params: params,needsAuthorization: false, success: { (response: UserContainer ) in
  18. if (response.errorCode ?? "") == "1" {
  19. let error = NSError.init(domain: "Network", code: 0, userInfo: [NSLocalizedDescriptionKey : response.message ?? ""])
  20. failure(error)
  21. }else {
  22. let model = response.data
  23. success(model)
  24. }
  25. }) { (error) in
  26. failure(error)
  27. }
  28. }
  29. }
  30. struct UserKeys {
  31. static let yearlyLimit = "yearlyLimit"
  32. static let userId = "com.gmeremit.username"
  33. static let senderId = "senderId"
  34. static let fullName = "com.gmeremit.fullName"
  35. static let firstName = "firstName"
  36. static let middleName = "middleName"
  37. static let lastName = "lastName"
  38. static let nickName = "com.gmeremit.nickName"
  39. static let email = "com.gmeremit.email"
  40. static let mobileNumber = "com.gmeremit.mobileNumber"
  41. static let rewardPoint = "com.gmeremit.rewardPoint"
  42. static let walletNumber = "com.gmeremit.walletNumber"
  43. static let availableBalance = "com.gmeremit.balance"
  44. static let primaryBankName = "com.gmeremit.bankName"
  45. static let accessCode = "com.gmeremit.accessCode"
  46. static let dpUrl = "com.gmeremit.dpUrl"
  47. static let kyc = "com.gmeremit.isKYCSubmitted"
  48. static let verified = "com.gmeremit.isVerified"
  49. static let active = "active"
  50. static let cmRegistrationId = "cmRegistrationId"
  51. static let isReferred = "com.gmeremit.isReferred"
  52. static let country = "country"
  53. static let province = "province"
  54. static let provinceId = "provinceId"
  55. static let sourceId = "com.gmeremit.sourceId"
  56. static let idType = "idType"
  57. static let idNumber = "idNumber"
  58. static let countryCode = "countryCode"
  59. static let ErrorCode = "ErrorCode"
  60. static let Msg = "Msg"
  61. static let Id = "Id"
  62. static let Data = "Data"
  63. }
  64. class UserContainer: Mappable {
  65. var errorCode: String?
  66. var message: String?
  67. var id: String?
  68. var data: User?
  69. required init?(map: Map) {
  70. }
  71. func mapping(map: Map) {
  72. errorCode <- map["ErrorCode"]
  73. message <- map["Msg"]
  74. id <- map["Id"]
  75. data <- map["Data"]
  76. }
  77. }
  78. class User: Mappable {
  79. var userId: String?
  80. var firstName: String?
  81. var middleName: String?
  82. var lastName: String?
  83. var nickName: String?
  84. var email: String?
  85. var mobileNumber: String?
  86. var rewardPoint: String?
  87. var walletNumber: String?
  88. var availableBalance: String?
  89. var yearlyLimit: String?
  90. var accessCode: String?
  91. var dpUrl: String?
  92. var kyc: Bool?
  93. var verified: Bool?
  94. var active: Bool?
  95. var primaryBankName: String?
  96. var cmRegistrationId: String?
  97. var isReferred: Bool?
  98. var country: String?
  99. var province: String?
  100. var provinceId: String?
  101. var sourceId: String?
  102. var idType: String?
  103. var idNumber: String?
  104. var senderId: String?
  105. var countryCode: String?
  106. var ErrorCode: String?
  107. var Msg: String?
  108. var Id: String?
  109. var Data: String?
  110. required init?(map: Map) {
  111. }
  112. func mapping(map: Map) {
  113. userId <- map["userId"]
  114. firstName <- map["firstName"]
  115. middleName <- map["middleName"]
  116. lastName <- map["lastName"]
  117. nickName <- map["nickName"]
  118. email <- map["email"]
  119. mobileNumber <- map["mobileNumber"]
  120. rewardPoint <- map["rewardPoint"]
  121. walletNumber <- map["walletNumber"]
  122. availableBalance <- map["availableBalance"]
  123. accessCode <- map["accessCode"]
  124. dpUrl <- map["dpUrl"]
  125. kyc <- map["kyc"]
  126. yearlyLimit <- map["yearlyLimit"]
  127. verified <- map["verified"]
  128. active <- map["active"]
  129. primaryBankName <- map["primaryBankName"]
  130. cmRegistrationId <- map["cmRegistrationId"]
  131. isReferred <- map["isReferred"]
  132. country <- map["country"]
  133. province <- map["province"]
  134. provinceId <- map["provinceId"]
  135. sourceId <- map["sourceId"]
  136. idType <- map["idType"]
  137. idNumber <- map["idNumber"]
  138. countryCode <- map["countryCode"]
  139. senderId <- map["senderId"]
  140. ErrorCode <- map["ErrorCode"]
  141. Msg <- map["Msg"]
  142. Id <- map["Id"]
  143. Data <- map["Data"]
  144. }
  145. }