@ -88,6 +88,57 @@ class RestApiMananger {
}
}
func requestMultipart < T : Mappable > (
method : HTTPMethod ,
_ URLString : URLConvertible ,
parameters : [ String : String ] ? = nil ,
images : [ String : Data ] ,
encoding : Alamofire . ParameterEncoding = URLEncoding . default ,
needsAuthorization : Bool = true ,
success : @ escaping ( T ) -> Void ,
failure : @ escaping ( Error ) -> ( ) ) {
if NetworkReachabilityManager ( ) ? . isReachable = = true {
func makeRequest ( ) {
let headers = needsAuthorization ? getContentHeaderAfterLogin ( ) : getContentHeaderBeforeLogin ( )
self . manager . upload (
multipartFormData : { multipartFormData in
if ! images . isEmpty {
images . forEach ( { ( data ) in
multipartFormData . append ( data . value , withName : data . key , fileName : data . key + " .jpeg " , mimeType : " image/jpeg " )
} )
}
parameters ? . forEach ( { ( params ) in
multipartFormData . append ( params . value . data ( using : String . Encoding . utf8 , allowLossyConversion : false ) ! , withName : params . key )
} )
} ,
to : URLString ,
method : method ,
headers : headers ,
encodingCompletion : { encodingResult in
switch encodingResult {
case . success ( let upload , _ , _ ) :
upload . handle ( success : success , failure : failure )
case . failure ( let encodingError ) :
let error = NSError . init ( domain : " NETWORK_REACHABILITY_DOMAIN " , code : 0 , userInfo : [ NSLocalizedDescriptionKey : " No Internet connection found.
Check your connection. " ] )
failure ( error )
}
}
)
}
} else {
let error = NSError . init ( domain : " NETWORK_REACHABILITY_DOMAIN " , code : 0 , userInfo : [ NSLocalizedDescriptionKey : " No Internet connection found.
Check your connection. " ] )
failure ( error )
}
}
// c c r
@ -209,36 +260,7 @@ class RestApiMananger {
}
}
// L o g g i n g i n u s e r
func signInUser ( userId : String , password : String , completion : @ escaping ( ApiResult ) -> Void ) {
manager . request (
URL ( string : UrlManager . sharedInstance . getLogInURL ( ) ) ! ,
method : . post ,
parameters : [ " userId " : userId , " password " : password ] ,
encoding : JSONEncoding . default ,
headers : getContentHeaderBeforeLogin ( )
) . responseJSON { ( response ) -> Void in
if let error = response . result . error {
if error . _code = = NSURLErrorTimedOut {
completion ( . timeOut ( ) )
}
}
if response . result . isFailure {
completion ( . timeOut ( ) )
}
if response . response ? . statusCode = = nil {
return
}
guard ( response . response ? . statusCode = = 200 ) else {
completion ( . failure ( JSON ( response . data ! ) ) )
return
}
completion ( . success ( JSON ( response . data ! ) ) )
}
}
// C h e c k i n g u s e r v e r i f i c a t i o n f o r p a s s w o r d r e s e t p r o c e s s , 1 o f 3
func isVerifiedUser ( userId : String , completion : @ escaping ( ApiResult ) -> Void ) {