Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class API {
- let apiEndPoint = "endpoint"
- let apiUrl:String!
- let consumerKey:String!
- let consumerSecret:String!
- var returnData = [:]
- init(){
- self.apiUrl = "https://myurl.com/"
- self.consumerKey = "my consumer key"
- self.consumerSecret = "my consumer secret"
- }
- func getOrders() -> NSDictionary{
- return makeCall("orders")
- }
- func makeCall(section:String) -> NSDictionary{
- let params = ["consumer_key":"key", "consumer_secret":"secret"]
- Alamofire.request(.GET, "(self.apiUrl)/(self.apiEndPoint + section)", parameters: params)
- .authenticate(user: self.consumerKey, password: self.consumerSecret)
- .responseJSON { (request, response, data, error) -> Void in
- println("error (request)")
- self.returnData = data! as NSDictionary
- }
- return self.returnData
- }
- }
- var api = API()
- api.getOrders()
- println(api.returnData) // returnData is empty
- func getOrders(completionHandler: @escaping (NSDictionary?, Error?) -> ()) {
- makeCall("orders", completionHandler: completionHandler)
- }
- func makeCall(_ section: String, completionHandler: @escaping (NSDictionary?, Error?) -> ()) {
- let params = ["consumer_key":"key", "consumer_secret":"secret"]
- Alamofire.request("(apiUrl)/(apiEndPoint + section)", parameters: params)
- .authenticate(user: consumerKey, password: consumerSecret)
- .responseJSON { response in
- switch response.result {
- case .success(let value):
- completionHandler(value as? NSDictionary, nil)
- case .failure(let error):
- completionHandler(nil, error)
- }
- }
- }
- let api = API()
- api.getOrders() { responseObject, error in
- // use responseObject and error here
- print("responseObject = (responseObject); error = (error)")
- return
- }
- // but don't try to use them here
- func loginBtnTapped(sender: AnyObject) {
- MBProgressHUD.showHUDAddedTo(self.view, animated: true)
- dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
- let loginInfo : Dictionary<String,AnyObject> = ["email":"abc@g.com","password":"abc123"]
- self.loginUser(loginInfo) { responseObject, error in
- print("(responseObject) n (error) ")
- // Parsing JSON Below
- let status = Int(responseObject?.objectForKey("status") as! String)
- if status == 1 {
- // Login Successfull...Move To New VC
- }
- else {
- print(responseObject?.objectForKey("message"))! as! String)
- }
- return
- }
- dispatch_async(dispatch_get_main_queue()) {
- MBProgressHUD.hideHUDForView(self.view, animated: true)
- }
- }
- }
- func loginUser(parameters:NSDictionary, completionHandler: (NSDictionary?, NSError?) -> ()) {
- self.postRequest("http://qa.company.com/project/index.php/user/login",
- paramDict: parameters as? Dictionary<String, AnyObject>,
- completionHandler: completionHandler)
- }
- func postRequest(urlString: String, paramDict:Dictionary<String, AnyObject>? = nil,
- completionHandler: (NSDictionary?, NSError?) -> ()) {
- Alamofire.request(.POST, urlString, parameters: paramDict)
- .responseJSON { response in
- switch response.result {
- case .Success(let JSON):
- completionHandler(JSON as? NSDictionary, nil)
- case .Failure(let error):
- completionHandler(nil, error)
- }
- }
- }
- func uploadScans(parameters: [String: AnyObject], completionHandler: (AnyObject?, NSError?) -> ()) {
- makePostCall(CommonFunctions().getSaveSKUDataUrl(), parameters: parameters,completionHandler: completionHandler)
- }
- func makePostCall(url: String, parameters: [String: AnyObject], completionHandler: (AnyObject?, NSError?) -> ()) {
- Alamofire.request(.POST, url, parameters: parameters)
- .responseJSON { response in
- switch response.result {
- case .Success(let value):
- completionHandler(value, nil)
- case .Failure(let error):
- completionHandler(nil, error)
- }
- }
- }
- uploadScans(params) { responseObject, error in
- let json = JSON(responseObject!)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement