@@ -38,45 +38,51 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
38
38
func disableDeviceForCurrentUser( hexToken: String ,
39
39
withOnSuccess onSuccess: OnSuccessHandler ? = nil ,
40
40
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
41
- disableDevice ( forAllUsers: false , hexToken: hexToken, onSuccess: onSuccess, onFailure: onFailure)
41
+ disableDevice ( forAllUsers: false ,
42
+ hexToken: hexToken,
43
+ onSuccess: onSuccess,
44
+ onFailure: onFailure)
42
45
}
43
46
44
47
@discardableResult
45
48
func disableDeviceForAllUsers( hexToken: String ,
46
49
withOnSuccess onSuccess: OnSuccessHandler ? = nil ,
47
50
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
48
- disableDevice ( forAllUsers: true , hexToken: hexToken, onSuccess: onSuccess, onFailure: onFailure)
51
+ disableDevice ( forAllUsers: true ,
52
+ hexToken: hexToken,
53
+ onSuccess: onSuccess,
54
+ onFailure: onFailure)
49
55
}
50
56
51
57
@discardableResult
52
58
func updateUser( _ dataFields: [ AnyHashable : Any ] ,
53
59
mergeNestedObjects: Bool ,
54
60
onSuccess: OnSuccessHandler ? = nil ,
55
61
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
56
- applyCallbacks ( successHandler : onSuccess ,
57
- andFailureHandler : onFailure ,
58
- withIdentifier : " updateUser " ,
59
- forResult : apiClient . updateUser ( dataFields , mergeNestedObjects : mergeNestedObjects ) )
62
+ sendRequest ( requestProvider : { apiClient . updateUser ( dataFields , mergeNestedObjects : mergeNestedObjects ) } ,
63
+ successHandler : onSuccess ,
64
+ failureHandler : onFailure ,
65
+ requestIdentifier : " updateUser " )
60
66
}
61
67
62
68
@discardableResult
63
69
func updateEmail( _ newEmail: String ,
64
70
onSuccess: OnSuccessHandler ? = nil ,
65
71
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
66
- applyCallbacks ( successHandler : onSuccess ,
67
- andFailureHandler : onFailure ,
68
- withIdentifier : " updateEmail " ,
69
- forResult : apiClient . updateEmail ( newEmail : newEmail ) )
72
+ sendRequest ( requestProvider : { apiClient . updateEmail ( newEmail : newEmail ) } ,
73
+ successHandler : onSuccess ,
74
+ failureHandler : onFailure ,
75
+ requestIdentifier : " updateEmail " )
70
76
}
71
77
72
78
@discardableResult
73
79
func updateCart( items: [ CommerceItem ] ,
74
80
onSuccess: OnSuccessHandler ? = nil ,
75
81
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
76
- applyCallbacks ( successHandler : onSuccess ,
77
- andFailureHandler : onFailure ,
78
- withIdentifier : " updateCart " ,
79
- forResult : apiClient . updateCart ( items : items ) )
82
+ sendRequest ( requestProvider : { apiClient . updateCart ( items : items ) } ,
83
+ successHandler : onSuccess ,
84
+ failureHandler : onFailure ,
85
+ requestIdentifier : " updateCart " )
80
86
}
81
87
82
88
@discardableResult
@@ -87,10 +93,14 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
87
93
templateId: NSNumber ? ,
88
94
onSuccess: OnSuccessHandler ? = nil ,
89
95
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
90
- applyCallbacks ( successHandler: onSuccess,
91
- andFailureHandler: onFailure,
92
- withIdentifier: " trackPurchase " ,
93
- forResult: apiClient. track ( purchase: total, items: items, dataFields: dataFields, campaignId: campaignId, templateId: templateId) )
96
+ sendRequest ( requestProvider: { apiClient. track ( purchase: total,
97
+ items: items,
98
+ dataFields: dataFields,
99
+ campaignId: campaignId,
100
+ templateId: templateId) } ,
101
+ successHandler: onSuccess,
102
+ failureHandler: onFailure,
103
+ requestIdentifier: " trackPurchase " )
94
104
}
95
105
96
106
@discardableResult
@@ -101,14 +111,14 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
101
111
dataFields: [ AnyHashable : Any ] ? = nil ,
102
112
onSuccess: OnSuccessHandler ? = nil ,
103
113
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
104
- applyCallbacks ( successHandler : onSuccess ,
105
- andFailureHandler : onFailure ,
106
- withIdentifier : " trackPushOpen " ,
107
- forResult : apiClient . track ( pushOpen : campaignId ,
108
- templateId : templateId ,
109
- messageId : messageId ,
110
- appAlreadyRunning : appAlreadyRunning ,
111
- dataFields : dataFields ) )
114
+ sendRequest ( requestProvider : { apiClient . track ( pushOpen : campaignId ,
115
+ templateId : templateId ,
116
+ messageId : messageId ,
117
+ appAlreadyRunning : appAlreadyRunning ,
118
+ dataFields : dataFields ) } ,
119
+ successHandler : onSuccess ,
120
+ failureHandler : onFailure ,
121
+ requestIdentifier : " trackPushOpen " )
112
122
}
113
123
114
124
@discardableResult
@@ -126,15 +136,15 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
126
136
func updateSubscriptions( info: UpdateSubscriptionsInfo ,
127
137
onSuccess: OnSuccessHandler ? = nil ,
128
138
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
129
- applyCallbacks ( successHandler : onSuccess ,
130
- andFailureHandler : onFailure ,
131
- withIdentifier : " updateSubscriptions " ,
132
- forResult : apiClient . updateSubscriptions ( info. emailListIds ,
133
- unsubscribedChannelIds : info. unsubscribedChannelIds ,
134
- unsubscribedMessageTypeIds : info. unsubscribedMessageTypeIds ,
135
- subscribedMessageTypeIds : info . subscribedMessageTypeIds ,
136
- campaignId : info . campaignId ,
137
- templateId : info . templateId ) )
139
+ sendRequest ( requestProvider : { apiClient . updateSubscriptions ( info . emailListIds ,
140
+ unsubscribedChannelIds : info . unsubscribedChannelIds ,
141
+ unsubscribedMessageTypeIds : info . unsubscribedMessageTypeIds ,
142
+ subscribedMessageTypeIds : info. subscribedMessageTypeIds ,
143
+ campaignId : info. campaignId ,
144
+ templateId : info. templateId ) } ,
145
+ successHandler : onSuccess ,
146
+ failureHandler : onFailure ,
147
+ requestIdentifier : " updateSubscriptions " )
138
148
}
139
149
140
150
@discardableResult
@@ -143,11 +153,10 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
143
153
inboxSessionId: String ? = nil ,
144
154
onSuccess: OnSuccessHandler ? = nil ,
145
155
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
146
- let result = apiClient. track ( inAppOpen: InAppMessageContext . from ( message: message, location: location, inboxSessionId: inboxSessionId) )
147
- return applyCallbacks ( successHandler: onSuccess,
148
- andFailureHandler: onFailure,
149
- withIdentifier: " trackInAppOpen " ,
150
- forResult: result)
156
+ sendRequest ( requestProvider: { apiClient. track ( inAppOpen: InAppMessageContext . from ( message: message, location: location, inboxSessionId: inboxSessionId) ) } ,
157
+ successHandler: onSuccess,
158
+ failureHandler: onFailure,
159
+ requestIdentifier: " trackInAppOpen " )
151
160
}
152
161
153
162
@discardableResult
@@ -157,12 +166,11 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
157
166
clickedUrl: String ,
158
167
onSuccess: OnSuccessHandler ? = nil ,
159
168
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
160
- let result = apiClient. track ( inAppClick: InAppMessageContext . from ( message: message, location: location, inboxSessionId: inboxSessionId) ,
161
- clickedUrl: clickedUrl)
162
- return applyCallbacks ( successHandler: onSuccess,
163
- andFailureHandler: onFailure,
164
- withIdentifier: " trackInAppClick " ,
165
- forResult: result)
169
+ sendRequest ( requestProvider: { apiClient. track ( inAppClick: InAppMessageContext . from ( message: message, location: location, inboxSessionId: inboxSessionId) ,
170
+ clickedUrl: clickedUrl) } ,
171
+ successHandler: onSuccess,
172
+ failureHandler: onFailure,
173
+ requestIdentifier: " trackInAppClick " )
166
174
}
167
175
168
176
@discardableResult
@@ -173,45 +181,42 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
173
181
clickedUrl: String ? = nil ,
174
182
onSuccess: OnSuccessHandler ? = nil ,
175
183
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
176
- let result = apiClient. track ( inAppClose: InAppMessageContext . from ( message: message, location: location, inboxSessionId: inboxSessionId) ,
177
- source: source,
178
- clickedUrl: clickedUrl)
179
- return applyCallbacks ( successHandler: onSuccess,
180
- andFailureHandler: onFailure,
181
- withIdentifier: " trackInAppClose " ,
182
- forResult: result)
184
+ sendRequest ( requestProvider: { apiClient. track ( inAppClose: InAppMessageContext . from ( message: message, location: location, inboxSessionId: inboxSessionId) ,
185
+ source: source,
186
+ clickedUrl: clickedUrl) } ,
187
+ successHandler: onSuccess,
188
+ failureHandler: onFailure,
189
+ requestIdentifier: " trackInAppClose " )
183
190
}
184
191
185
192
@discardableResult
186
193
func track( inboxSession: IterableInboxSession ,
187
194
onSuccess: OnSuccessHandler ? = nil ,
188
195
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
189
- let result = apiClient. track ( inboxSession: inboxSession)
190
-
191
- return applyCallbacks ( successHandler: onSuccess,
192
- andFailureHandler: onFailure,
193
- withIdentifier: " trackInboxSession " ,
194
- forResult: result)
196
+ sendRequest ( requestProvider: { apiClient. track ( inboxSession: inboxSession) } ,
197
+ successHandler: onSuccess,
198
+ failureHandler: onFailure,
199
+ requestIdentifier: " trackInboxSession " )
195
200
}
196
201
197
202
@discardableResult
198
203
func track( inAppDelivery message: IterableInAppMessage ,
199
204
onSuccess: OnSuccessHandler ? = nil ,
200
205
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
201
- applyCallbacks ( successHandler : onSuccess ,
202
- andFailureHandler : onFailure ,
203
- withIdentifier : " trackInAppDelivery " ,
204
- forResult : apiClient . track ( inAppDelivery : InAppMessageContext . from ( message : message , location : nil ) ) )
206
+ sendRequest ( requestProvider : { apiClient . track ( inAppDelivery : InAppMessageContext . from ( message : message , location : nil ) ) } ,
207
+ successHandler : onSuccess ,
208
+ failureHandler : onFailure ,
209
+ requestIdentifier : " trackInAppDelivery " )
205
210
}
206
211
207
212
@discardableResult
208
213
func inAppConsume( _ messageId: String ,
209
214
onSuccess: OnSuccessHandler ? = nil ,
210
215
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
211
- applyCallbacks ( successHandler : onSuccess ,
212
- andFailureHandler : onFailure ,
213
- withIdentifier : " inAppConsume " ,
214
- forResult : apiClient . inAppConsume ( messageId : messageId ) )
216
+ sendRequest ( requestProvider : { apiClient . inAppConsume ( messageId : messageId ) } ,
217
+ successHandler : onSuccess ,
218
+ failureHandler : onFailure ,
219
+ requestIdentifier : " inAppConsume " )
215
220
}
216
221
217
222
@discardableResult
@@ -221,12 +226,11 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
221
226
inboxSessionId: String ? = nil ,
222
227
onSuccess: OnSuccessHandler ? = nil ,
223
228
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
224
- let result = apiClient. inAppConsume ( inAppMessageContext: InAppMessageContext . from ( message: message, location: location, inboxSessionId: inboxSessionId) ,
225
- source: source)
226
- return applyCallbacks ( successHandler: onSuccess,
227
- andFailureHandler: onFailure,
228
- withIdentifier: " inAppConsumeWithSource " ,
229
- forResult: result)
229
+ sendRequest ( requestProvider: { apiClient. inAppConsume ( inAppMessageContext: InAppMessageContext . from ( message: message, location: location, inboxSessionId: inboxSessionId) ,
230
+ source: source) } ,
231
+ successHandler: onSuccess,
232
+ failureHandler: onFailure,
233
+ requestIdentifier: " inAppConsumeWithSource " )
230
234
}
231
235
232
236
func getRemoteConfiguration( ) -> Pending < RemoteConfiguration , SendRequestError > {
@@ -241,22 +245,22 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
241
245
notificationsEnabled: Bool ,
242
246
onSuccess: OnSuccessHandler ? = nil ,
243
247
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
244
- return applyCallbacks ( successHandler : onSuccess ,
245
- andFailureHandler : onFailure ,
246
- withIdentifier : " registerToken " ,
247
- forResult : apiClient . register ( registerTokenInfo : registerTokenInfo ,
248
- notificationsEnabled : notificationsEnabled ) )
248
+ sendRequest ( requestProvider : { apiClient . register ( registerTokenInfo : registerTokenInfo ,
249
+ notificationsEnabled : notificationsEnabled ) } ,
250
+ successHandler : onSuccess ,
251
+ failureHandler : onFailure ,
252
+ requestIdentifier : " registerToken " )
249
253
}
250
254
251
255
@discardableResult
252
256
private func disableDevice( forAllUsers allUsers: Bool ,
253
257
hexToken: String ,
254
258
onSuccess: OnSuccessHandler ? = nil ,
255
259
onFailure: OnFailureHandler ? = nil ) -> Pending < SendRequestValue , SendRequestError > {
256
- applyCallbacks ( successHandler : onSuccess ,
257
- andFailureHandler : onFailure ,
258
- withIdentifier : " disableDevice " ,
259
- forResult : apiClient . disableDevice ( forAllUsers : allUsers , hexToken : hexToken ) )
260
+ sendRequest ( requestProvider : { apiClient . disableDevice ( forAllUsers : allUsers , hexToken : hexToken ) } ,
261
+ successHandler : onSuccess ,
262
+ failureHandler : onFailure ,
263
+ requestIdentifier : " disableDevice " )
260
264
}
261
265
262
266
private func sendRequest( requestProvider: @escaping ( ) -> Pending < SendRequestValue , SendRequestError > ,
@@ -269,15 +273,4 @@ struct OnlineRequestProcessor: RequestProcessorProtocol {
269
273
authManager: authManager,
270
274
requestIdentifier: identifier)
271
275
}
272
-
273
- private func applyCallbacks( successHandler onSuccess: OnSuccessHandler ? = nil ,
274
- andFailureHandler onFailure: OnFailureHandler ? = nil ,
275
- withIdentifier identifier: String ,
276
- forResult result: Pending < SendRequestValue , SendRequestError > ) -> Pending < SendRequestValue , SendRequestError > {
277
- RequestProcessorUtil . apply ( successHandler: onSuccess,
278
- andFailureHandler: onFailure,
279
- andAuthManager: authManager,
280
- toResult: result,
281
- withIdentifier: identifier)
282
- }
283
276
}
0 commit comments