      - parameter token: The authorisation token to authenticate with the hat
      - parameter userDomain: The user's HAT domain
      - parameter successCallback: An @escaping (Bool) -> Void function to execute when the file has been deleted
-     - parameter errorCallBack: An @escaping (HATError) -> Void t execute when something went wrong
+     - parameter errorCallBack: An @escaping (HATError) -> Void to execute when something went wrong
      */
     public class func deleteFile(fileID: String, token: String, userDomain: String, successCallback: @escaping (Bool) -> Void, errorCallBack: @escaping (HATError) -> Void) {
         

     - parameter token: The authorisation token to authenticate with the hat
     - parameter userDomain: The user's HAT domain
     - parameter successCallback: An @escaping ([FileUploadObject]) -> Void function to execute when the server has returned the files we were looking for
     - parameter errorCallBack: An @escaping (HATError) -> Void t execute when something went wrong
     */
    public class func searchFiles(userDomain: String, token: String, successCallback: @escaping ([FileUploadObject]) -> Void, errorCallBack: @escaping (HATError) -> Void) {
        

        })
    }
    
    /**
     Makes an already uploaded file public
     
     - parameter fileID: The ID of the file to change
     - parameter token: The authorisation token to authenticate with the hat
     - parameter userDomain: The user's HAT domain
     - parameter successCallback: An @escaping (Bool) -> Void function to execute when the file has been made public
     - parameter errorCallBack: An @escaping (HATError) -> Void to execute when something went wrong
     */
    public class func makeFilePublic(fileID: String, token: String, userDomain: String, successCallback: @escaping (Bool) -> Void, errorCallBack: @escaping (HATError) -> Void) {
        
        let url: String = "https://" + userDomain + "/api/v2/files/allowAccessPublic/" + fileID
        let headers = ["X-Auth-Token" : token]
        
        HATNetworkHelper.AsynchronousRequest(url, method: .delete, encoding: Alamofire.URLEncoding.default, contentType: ContentType.JSON, parameters: [:], headers: headers, completion: { (r) -> Void in
            // handle result
            switch r {
                
            case .isSuccess(let isSuccess, let statusCode, _):
                
                if isSuccess {
                    
                    if statusCode == 200 {
                        
                        successCallback(true)
                    } else {
                        
                        let message = "Server returned unexpected respone"
                        errorCallBack(.generalError(message, statusCode, nil))
                    }
                } else {
                    
                    let message = "Server returned unexpected respone"
                    errorCallBack(.generalError(message, statusCode, nil))
                }
                
            case .error(let error, let statusCode):
                
                let message = "Server returned unexpected respone"
                errorCallBack(.generalError(message, statusCode, error))
            }
        })
    }
    
    /**
     Makes an already uploaded file private
     
     - parameter fileID: The ID of the file to change
     - parameter token: The authorisation token to authenticate with the hat
     - parameter userDomain: The user's HAT domain
     - parameter successCallback: An @escaping (Bool) -> Void function to execute when the file has been made private
     - parameter errorCallBack: An @escaping (HATError) -> Void to execute when something went wrong
     */
    public class func makeFilePrivate(fileID: String, token: String, userDomain: String, successCallback: @escaping (Bool) -> Void, errorCallBack: @escaping (HATError) -> Void) {
        
        let url: String = "https://" + userDomain + "/api/v2/files/restrictAccessPublic/" + fileID
        let headers = ["X-Auth-Token" : token]
        
        HATNetworkHelper.AsynchronousRequest(url, method: .delete, encoding: Alamofire.URLEncoding.default, contentType: ContentType.JSON, parameters: [:], headers: headers, completion: { (r) -> Void in
            // handle result
            switch r {
                
            case .isSuccess(let isSuccess, let statusCode, _):
                
                if isSuccess {
                    
                    if statusCode == 200 {
                        
                        successCallback(true)
                    } else {
                        
                        let message = "Server returned unexpected respone"
                        errorCallBack(.generalError(message, statusCode, nil))
                    }
                } else {
                    
                    let message = "Server returned unexpected respone"
                    errorCallBack(.generalError(message, statusCode, nil))
                }
                
            case .error(let error, let statusCode):
                
                let message = "Server returned unexpected respone"
                errorCallBack(.generalError(message, statusCode, error))
            }
        })
    }
    
}
