Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.25 KB | None | 0 0
  1. class API {
  2.  
  3. let apiEndPoint = "endpoint"
  4. let apiUrl:String!
  5. let consumerKey:String!
  6. let consumerSecret:String!
  7.  
  8. var returnData = [:]
  9.  
  10. init(){
  11. self.apiUrl = "https://myurl.com/"
  12. self.consumerKey = "my consumer key"
  13. self.consumerSecret = "my consumer secret"
  14. }
  15.  
  16. func getOrders() -> NSDictionary{
  17. return makeCall("orders")
  18. }
  19.  
  20. func makeCall(section:String) -> NSDictionary{
  21.  
  22. let params = ["consumer_key":"key", "consumer_secret":"secret"]
  23.  
  24. Alamofire.request(.GET, "(self.apiUrl)/(self.apiEndPoint + section)", parameters: params)
  25. .authenticate(user: self.consumerKey, password: self.consumerSecret)
  26. .responseJSON { (request, response, data, error) -> Void in
  27. println("error (request)")
  28. self.returnData = data! as NSDictionary
  29. }
  30. return self.returnData
  31. }
  32.  
  33. }
  34.  
  35. var api = API()
  36. api.getOrders()
  37. println(api.returnData) // returnData is empty
  38.  
  39. func getOrders(completionHandler: @escaping (NSDictionary?, Error?) -> ()) {
  40. makeCall("orders", completionHandler: completionHandler)
  41. }
  42.  
  43. func makeCall(_ section: String, completionHandler: @escaping (NSDictionary?, Error?) -> ()) {
  44. let params = ["consumer_key":"key", "consumer_secret":"secret"]
  45.  
  46. Alamofire.request("(apiUrl)/(apiEndPoint + section)", parameters: params)
  47. .authenticate(user: consumerKey, password: consumerSecret)
  48. .responseJSON { response in
  49. switch response.result {
  50. case .success(let value):
  51. completionHandler(value as? NSDictionary, nil)
  52. case .failure(let error):
  53. completionHandler(nil, error)
  54. }
  55. }
  56. }
  57.  
  58. let api = API()
  59. api.getOrders() { responseObject, error in
  60. // use responseObject and error here
  61.  
  62. print("responseObject = (responseObject); error = (error)")
  63. return
  64. }
  65.  
  66. // but don't try to use them here
  67.  
  68. func loginBtnTapped(sender: AnyObject) {
  69.  
  70. MBProgressHUD.showHUDAddedTo(self.view, animated: true)
  71.  
  72. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
  73.  
  74. let loginInfo : Dictionary<String,AnyObject> = ["email":"abc@g.com","password":"abc123"]
  75.  
  76. self.loginUser(loginInfo) { responseObject, error in
  77.  
  78. print("(responseObject) n (error) ")
  79.  
  80. // Parsing JSON Below
  81. let status = Int(responseObject?.objectForKey("status") as! String)
  82. if status == 1 {
  83. // Login Successfull...Move To New VC
  84. }
  85. else {
  86. print(responseObject?.objectForKey("message"))! as! String)
  87. }
  88. return
  89. }
  90. dispatch_async(dispatch_get_main_queue()) {
  91. MBProgressHUD.hideHUDForView(self.view, animated: true)
  92. }
  93. }
  94.  
  95. }
  96.  
  97.  
  98. func loginUser(parameters:NSDictionary, completionHandler: (NSDictionary?, NSError?) -> ()) {
  99.  
  100. self.postRequest("http://qa.company.com/project/index.php/user/login",
  101. paramDict: parameters as? Dictionary<String, AnyObject>,
  102. completionHandler: completionHandler)
  103. }
  104.  
  105. func postRequest(urlString: String, paramDict:Dictionary<String, AnyObject>? = nil,
  106. completionHandler: (NSDictionary?, NSError?) -> ()) {
  107.  
  108. Alamofire.request(.POST, urlString, parameters: paramDict)
  109. .responseJSON { response in
  110. switch response.result {
  111. case .Success(let JSON):
  112. completionHandler(JSON as? NSDictionary, nil)
  113. case .Failure(let error):
  114. completionHandler(nil, error)
  115. }
  116. }
  117.  
  118. }
  119.  
  120. func uploadScans(parameters: [String: AnyObject], completionHandler: (AnyObject?, NSError?) -> ()) {
  121. makePostCall(CommonFunctions().getSaveSKUDataUrl(), parameters: parameters,completionHandler: completionHandler)
  122. }
  123.  
  124. func makePostCall(url: String, parameters: [String: AnyObject], completionHandler: (AnyObject?, NSError?) -> ()) {
  125. Alamofire.request(.POST, url, parameters: parameters)
  126. .responseJSON { response in
  127. switch response.result {
  128. case .Success(let value):
  129. completionHandler(value, nil)
  130. case .Failure(let error):
  131. completionHandler(nil, error)
  132. }
  133. }
  134. }
  135.  
  136. uploadScans(params) { responseObject, error in
  137. let json = JSON(responseObject!)
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement