Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 3.13 KB | None | 0 0
  1. /*Token*/
  2.     /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
  3.     static func getToken(username:String, password:String, completion:@escaping (_ didSucceed:Bool)-> Void){
  4.         let headers: HTTPHeaders = [
  5.             "Content-Type": "application/x-www-form-urlencoded"
  6.         ]
  7.        
  8.         let body: Parameters = [
  9.             "username" : username,
  10.             "password" : password,
  11.             "grant_type" : "password"
  12.         ]
  13.        
  14.         let url = "https://finisimaapi20161011111903.azurewebsites.net/Token"
  15.         Alamofire.request(url, method:.post, parameters:body, headers:headers)
  16.             .validate()
  17.             .responseJSON { response in
  18.                 switch response.result {
  19.                 case .success:
  20.                     if let data = response.data {
  21.                         let account = AccountCredentials.sharedInstance
  22.                         account.setCredentials(data as NSData, username: username, password: password)
  23.                         completion(true)
  24.                     }
  25.                     break
  26.                 case .failure:
  27.                     completion(false)
  28.                     break
  29.                 }
  30.         }
  31.     }
  32.    
  33.     /*RegisterUser*/
  34.     /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
  35.     static func registerUser(username:String, password:String, confirmPassword:String, completion:@escaping (_ didSucceed:Bool, _ strMsg:String)-> Void){
  36.         let headers: HTTPHeaders = [
  37.             "Content-Type": "application/x-www-form-urlencoded"
  38.         ]
  39.        
  40.         let body: Parameters = [
  41.             "Email" : username,
  42.             "Password" : password,
  43.             "ConfirmPassword" : confirmPassword
  44.         ]
  45.         //Not specific to register user, later to implement
  46.        
  47.         let url = "https://finisimaapi20161011111903.azurewebsites.net/api/Account/Register"
  48.         Alamofire.request(url, method:.post, parameters:body, headers:headers)
  49.             .validate()
  50.             .responseJSON { response in
  51.                 switch response.result {
  52.                 case .success:
  53.                     completion(true,"")
  54.                     break
  55.                 case .failure:
  56.                     var error = "Not possible at the time"
  57.                     let data = response.data
  58.                     let json = JSON(data: data! as Data)
  59.                     let modelState = json["ModelState"] as JSON
  60.                     if let passwordError = modelState["model.ConfirmPassword"].array {
  61.                         error = passwordError[0].stringValue
  62.                     }
  63.                     else if let passwordError = modelState["model.Password"].array {
  64.                         error = passwordError[0].stringValue
  65.                     }
  66.                     else if let passwordError = modelState[""].array {
  67.                         error = passwordError[0].stringValue
  68.                     }
  69.                     completion(false, error)
  70.                     break
  71.                 }
  72.         }
  73.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement