diff --git a/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSRequestCreateUser.swift b/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSRequestCreateUser.swift index 4d05341db..b52fb2195 100644 --- a/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSRequestCreateUser.swift +++ b/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSRequestCreateUser.swift @@ -48,6 +48,7 @@ class OSRequestCreateUser: OneSignalRequest, OSUserRequest { OneSignalLog.onesignalLog(.LL_DEBUG, message: "Cannot generate the create user request due to null app ID.") return false } + let _ = self.addPushSubscriptionIdToAdditionalHeaders() self.addJWTHeader(identityModel: identityModel) self.path = "apps/\(appId)/users" // The pushSub doesn't need to have a token. diff --git a/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSRequestUpdateProperties.swift b/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSRequestUpdateProperties.swift index 7a7bdbea3..dcbdeda34 100644 --- a/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSRequestUpdateProperties.swift +++ b/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSRequestUpdateProperties.swift @@ -43,8 +43,8 @@ class OSRequestUpdateProperties: OneSignalRequest, OSUserRequest { // Note Android adds it to requests, if the push sub ID exists func prepareForExecution() -> Bool { if let onesignalId = identityModel.onesignalId, - let appId = OneSignalConfigManager.getAppId(), - addPushSubscriptionIdToAdditionalHeaders() { + let appId = OneSignalConfigManager.getAppId() { + let _ = self.addPushSubscriptionIdToAdditionalHeaders() self.addJWTHeader(identityModel: identityModel) self.path = "apps/\(appId)/users/by/\(OS_ONESIGNAL_ID)/\(onesignalId)" return true @@ -55,17 +55,6 @@ class OSRequestUpdateProperties: OneSignalRequest, OSUserRequest { } } - func addPushSubscriptionIdToAdditionalHeaders() -> Bool { - if let pushSubscriptionId = OneSignalUserManagerImpl.sharedInstance.pushSubscriptionId { - var additionalHeaders = self.additionalHeaders ?? [String: String]() - additionalHeaders["OneSignal-Subscription-Id"] = pushSubscriptionId - self.additionalHeaders = additionalHeaders - return true - } else { - return false - } - } - init(properties: [String: Any], deltas: [String: Any]?, refreshDeviceMetadata: Bool?, modelToUpdate: OSPropertiesModel, identityModel: OSIdentityModel) { self.modelToUpdate = modelToUpdate self.identityModel = identityModel diff --git a/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSUserRequest.swift b/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSUserRequest.swift index 19ac164ce..43057203e 100644 --- a/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSUserRequest.swift +++ b/iOS_SDK/OneSignalSDK/OneSignalUser/Source/Requests/OSUserRequest.swift @@ -41,4 +41,16 @@ internal extension OneSignalRequest { // additionalHeaders["Authorization"] = "Bearer \(token)" // self.additionalHeaders = additionalHeaders } + + /** Returns if the `OneSignal-Subscription-Id` header was added successfully. */ + func addPushSubscriptionIdToAdditionalHeaders() -> Bool { + if let pushSubscriptionId = OneSignalUserManagerImpl.sharedInstance.pushSubscriptionId { + var additionalHeaders = self.additionalHeaders ?? [String: String]() + additionalHeaders["OneSignal-Subscription-Id"] = pushSubscriptionId + self.additionalHeaders = additionalHeaders + return true + } else { + return false + } + } }