TF-2384 Create TwakeCore in ios folder to handle network jmap request to server
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit d8a330b987860f133b7e56b4aa67669c9d3c8f20)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import Foundation
|
||||
import Alamofire
|
||||
|
||||
class AlamofireService {
|
||||
static let shared: AlamofireService = AlamofireService()
|
||||
|
||||
func post<T: Codable>(
|
||||
url: String,
|
||||
payloadData: Data?,
|
||||
headers: HTTPHeaders? = nil,
|
||||
onSuccess: @escaping (T) -> Void,
|
||||
onFailure: @escaping (Error) -> Void
|
||||
) {
|
||||
guard let baseUrl = URL(string: url),
|
||||
var request = try? URLRequest(url: baseUrl, method: .post, headers: headers) else {
|
||||
return onFailure(NetworkExceptions.requestUrlInvalid)
|
||||
}
|
||||
|
||||
request.httpBody = payloadData
|
||||
|
||||
AF.request(request).responseDecodable(of: T.self) { response in
|
||||
switch(response.result) {
|
||||
case .success(let data):
|
||||
onSuccess(data)
|
||||
case .failure(let error):
|
||||
onFailure(NetworkExceptions(value: "\(error.localizedDescription)"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import Foundation
|
||||
|
||||
enum AuthenticationType: String, Codable {
|
||||
case basic, oidc, none
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import Foundation
|
||||
|
||||
struct TokenOidc: Codable {
|
||||
let token: String
|
||||
let tokenId: String
|
||||
let expiredTime: String?
|
||||
let refreshToken: String
|
||||
}
|
||||
|
||||
extension TokenOidc {
|
||||
func getAuthorization() -> String {
|
||||
return "Bearer \(token)"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user