@@ -583,7 +583,9 @@ class OSRequestUpdateProperties: OneSignalRequest, OSUserRequest {
583583 let identityModel : OSIdentityModel
584584
585585 func prepareForExecution( ) -> Bool {
586- if let onesignalId = identityModel. onesignalId, let appId = OneSignalConfigManager . getAppId ( ) {
586+ if let onesignalId = identityModel. onesignalId,
587+ let appId = OneSignalConfigManager . getAppId ( ) ,
588+ addPushSubscriptionIdToAdditionalHeadersIfNeeded ( ) {
587589 self . addJWTHeader ( identityModel: identityModel)
588590 self . path = " apps/ \( appId) /users/by/ \( OS_ONESIGNAL_ID) / \( onesignalId) "
589591 return true
@@ -593,6 +595,23 @@ class OSRequestUpdateProperties: OneSignalRequest, OSUserRequest {
593595 return false
594596 }
595597 }
598+
599+ func addPushSubscriptionIdToAdditionalHeadersIfNeeded( ) -> Bool {
600+ guard let parameters = self . parameters else {
601+ return true
602+ }
603+ if parameters [ " deltas " ] != nil {
604+ if let pushSubscriptionId = OneSignalUserManagerImpl . sharedInstance. pushSubscriptionId {
605+ var additionalHeaders = self . additionalHeaders ?? [ String: String] ( )
606+ additionalHeaders [ " OneSignal-Subscription-Id " ] = pushSubscriptionId
607+ self . additionalHeaders = additionalHeaders
608+ return true
609+ } else {
610+ return false
611+ }
612+ }
613+ return true
614+ }
596615
597616 init ( properties: [ String : Any ] , deltas: [ String : Any ] ? , refreshDeviceMetadata: Bool ? , modelToUpdate: OSPropertiesModel , identityModel: OSIdentityModel ) {
598617 self . modelToUpdate = modelToUpdate
@@ -602,9 +621,10 @@ class OSRequestUpdateProperties: OneSignalRequest, OSUserRequest {
602621
603622 var params : [ String : Any ] = [ : ]
604623 params [ " properties " ] = properties
605- params [ " deltas " ] = deltas
606624 params [ " refresh_device_metadata " ] = refreshDeviceMetadata
607-
625+ if let deltas = deltas {
626+ params [ " deltas " ] = deltas
627+ }
608628 self . parameters = params
609629 self . method = PATCH
610630 _ = prepareForExecution ( ) // sets the path property
0 commit comments