From 749f8a50b324a0a4e8e0dc692e330d47906a1e77 Mon Sep 17 00:00:00 2001 From: Miguel Alatzar Date: Wed, 26 Jun 2019 11:50:44 -0700 Subject: [PATCH] Check if entities is nil (#2930) --- .../UploadAttachments/MattermostBucket.m | 7 ++- .../UploadAttachments/UploadSession.swift | 44 ++++++++++--------- 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/ios/UploadAttachments/UploadAttachments/MattermostBucket.m b/ios/UploadAttachments/UploadAttachments/MattermostBucket.m index 1aa8c7e3e..5b839a227 100644 --- a/ios/UploadAttachments/UploadAttachments/MattermostBucket.m +++ b/ios/UploadAttachments/UploadAttachments/MattermostBucket.m @@ -32,8 +32,13 @@ if(![fileManager fileExistsAtPath:filePath]) { return nil; } + NSData *data = [NSData dataWithContentsOfFile:filePath]; - return [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; + if (data != nil) { + return [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; + } + + return nil; } -(void)removeFile:(NSString *)fileName { diff --git a/ios/UploadAttachments/UploadAttachments/UploadSession.swift b/ios/UploadAttachments/UploadAttachments/UploadSession.swift index de1b51726..8a9c5b64f 100644 --- a/ios/UploadAttachments/UploadAttachments/UploadSession.swift +++ b/ios/UploadAttachments/UploadAttachments/UploadSession.swift @@ -126,28 +126,30 @@ import os.log public func notificationReceipt(notificationId: Any?, receivedAt: Int, type: Any?) { let store = StoreManager.shared() as StoreManager - let _ = store.getEntities(true) - let serverURL = store.getServerUrl() - let sessionToken = store.getToken() - let urlString = "\(serverURL!)/api/v4/notifications/ack" - - if (notificationId != nil) { - let jsonObject: [String: Any] = [ - "id": notificationId as Any, - "received_at": receivedAt, - "platform": "ios", - "type": type as Any - ] + let entities = store.getEntities(true) + if (entities != nil) { + let serverURL = store.getServerUrl() + let sessionToken = store.getToken() + let urlString = "\(serverURL!)/api/v4/notifications/ack" - if !JSONSerialization.isValidJSONObject(jsonObject) {return} - - guard let url = URL(string: urlString) else {return} - var request = URLRequest(url: url) - request.httpMethod = "POST" - request.setValue("Bearer \(sessionToken!)", forHTTPHeaderField: "Authorization") - request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type") - request.httpBody = try? JSONSerialization.data(withJSONObject: jsonObject, options: .prettyPrinted) - URLSession(configuration: .ephemeral).dataTask(with: request).resume() + if (notificationId != nil) { + let jsonObject: [String: Any] = [ + "id": notificationId as Any, + "received_at": receivedAt, + "platform": "ios", + "type": type as Any + ] + + if !JSONSerialization.isValidJSONObject(jsonObject) {return} + + guard let url = URL(string: urlString) else {return} + var request = URLRequest(url: url) + request.httpMethod = "POST" + request.setValue("Bearer \(sessionToken!)", forHTTPHeaderField: "Authorization") + request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type") + request.httpBody = try? JSONSerialization.data(withJSONObject: jsonObject, options: .prettyPrinted) + URLSession(configuration: .ephemeral).dataTask(with: request).resume() + } } } }