Skip to content

Commit

Permalink
feat(api): request change active profile
Browse files Browse the repository at this point in the history
  • Loading branch information
Hector Rondon authored and ajsb85 committed Oct 27, 2017
1 parent b604945 commit e0b668e
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 15 deletions.
36 changes: 24 additions & 12 deletions Source/GlpiRequest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,11 @@ public class GlpiRequest {
.responseJSON { response in
switch response.result {
case .success(let result):
do {
if let data = (result as AnyObject).data(using: String.Encoding.utf8.rawValue) {
if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: String] {

if let session_token = json["session_token"] {
SESSION_TOKEN = session_token
}
completion(result)
}
if let data = result as? [String: AnyObject] {
if let session_token = data["session_token"] {
SESSION_TOKEN = session_token as? String ?? ""
}
} catch {
completion(GlpiRequest.handlerError(response))
completion(result)
}
case .failure(_ ):
SESSION_TOKEN = ""
Expand Down Expand Up @@ -152,6 +145,26 @@ public class GlpiRequest {
}
}

/**
Request change active profile
*/
class public func changeActiveProfile(profileID: String, completion: @escaping (_ result: Any?) -> Void) {

var dictionary = [String: AnyObject]()
dictionary["profiles_id"] = profileID as AnyObject

Alamofire.request(Routers.changeActiveProfile(dictionary))
.validate(statusCode: 200..<300)
.responseData { response in
switch response.result {
case .success(let result):
completion(result)
case .failure(_ ):
completion(response.error)
}
}
}

/**
Request get my entities
*/
Expand Down Expand Up @@ -237,7 +250,6 @@ public class GlpiRequest {
}
}


/**
handler Error
- return: error message
Expand Down
18 changes: 15 additions & 3 deletions Source/Routers.swift
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ public enum Routers: URLRequestConvertible {
case getMyProfiles
/// GET /getActiveProfile
case getActiveProfile
/// POST /changeActiveProfile
case changeActiveProfile([String: AnyObject])
/// GET /getMyEntities
case getMyEntities
/// GET /getActiveEntities
Expand All @@ -60,6 +62,8 @@ public enum Routers: URLRequestConvertible {
case .initSession, .initSessionByBasicAuth, .killSession, .getMyProfiles, .getActiveProfile,
.getMyEntities, .getActiveEntities, .getFullSession, .getGlpiConfig, .getMultipleItems:
return .get
case .changeActiveProfile:
return .post
}
}

Expand All @@ -75,6 +79,8 @@ public enum Routers: URLRequestConvertible {
return "/getMyProfiles"
case .getActiveProfile:
return "/getActiveProfile"
case .changeActiveProfile:
return "/changeActiveProfile"
case .getMyEntities:
return "/getMyEntities"
case .getActiveEntities:
Expand All @@ -93,7 +99,8 @@ public enum Routers: URLRequestConvertible {

switch self {
case .initSession, .initSessionByBasicAuth, .killSession, .getMyProfiles, .getActiveProfile,
.getMyEntities, .getActiveEntities, .getFullSession, .getGlpiConfig, .getMultipleItems:
.changeActiveProfile, .getMyEntities, .getActiveEntities, .getFullSession, .getGlpiConfig,
.getMultipleItems:
return ""
}
}
Expand Down Expand Up @@ -125,7 +132,7 @@ public enum Routers: URLRequestConvertible {
return dictHeader
default:

dictHeader["Session-Token"] = "user_token \(SESSION_TOKEN)"
dictHeader["Session-Token"] = SESSION_TOKEN
return dictHeader
}
}
Expand All @@ -147,6 +154,11 @@ public enum Routers: URLRequestConvertible {
urlRequest.setValue(value, forHTTPHeaderField: key)
}

return urlRequest
switch self {
case .changeActiveProfile(let parameters):
return try Alamofire.JSONEncoding.default.encode(urlRequest, with: parameters)
default:
return urlRequest
}
}
}

0 comments on commit e0b668e

Please sign in to comment.