react-native-netmera 2.0.0-alpha02 → 2.0.0-alpha03
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/RNNetmera.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraConfiguration.kt +1 -1
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraModule.kt +42 -30
- package/android/src/main/java/com/netmera/reactnativesdk/{RNNetmeraPushBroadcastReceiver.kt → RNNetmeraPushActionCallbacks.kt} +1 -1
- package/ios/RNNetmera.h +3 -0
- package/ios/RNNetmera.mm +1 -5
- package/ios/RNNetmera.swift +204 -156
- package/ios/RNNetmeraPushLifecycleDelegate.swift +8 -13
- package/ios/{RNNetmeraUtils.swift → RNNetmeraPushObject.swift} +32 -122
- package/ios/RNNetmeraRCTEventEmitter.swift +12 -8
- package/lib/module/Netmera.js +0 -3
- package/lib/module/Netmera.js.map +1 -1
- package/lib/typescript/src/Netmera.d.ts +0 -1
- package/lib/typescript/src/Netmera.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Netmera.ts +0 -4
- package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraCategoryObject.kt +0 -54
- package/ios/RNNetmeraCategoryObject.swift +0 -61
package/README.md
CHANGED
|
@@ -173,8 +173,8 @@ RNNetmera.initNetmera()
|
|
|
173
173
|
|
|
174
174
|
```
|
|
175
175
|
// For receiving Media Push, you must add Netmera pods to top of your Podfile.
|
|
176
|
-
pod 'NetmeraNotificationServiceExtension', "4.
|
|
177
|
-
pod "NetmeraNotificationContentExtension", "4.
|
|
176
|
+
pod 'NetmeraNotificationServiceExtension', "4.17.0"
|
|
177
|
+
pod "NetmeraNotificationContentExtension", "4.17.0"
|
|
178
178
|
```
|
|
179
179
|
|
|
180
180
|
7. In order to use the widget URL callback, add these lines into `AppDelegate.swift` file.
|
|
@@ -191,12 +191,12 @@ import NetmeraNotification
|
|
|
191
191
|
...
|
|
192
192
|
|
|
193
193
|
extension AppDelegate: NetmeraPushDelegate {
|
|
194
|
-
func
|
|
195
|
-
return
|
|
194
|
+
func urlOpeningDecision(for url: URL, push: NetmeraNotificationCore.NetmeraBasePush) -> PushDelegateDecision {
|
|
195
|
+
return .sdkHandles
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
func
|
|
199
|
-
RNNetmeraRCTEventEmitter.
|
|
198
|
+
func openURL(_ url: URL, for push: NetmeraNotificationCore.NetmeraBasePush) {
|
|
199
|
+
RNNetmeraRCTEventEmitter.openURL(url, forPushObject: push)
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
```
|
package/RNNetmera.podspec
CHANGED
|
@@ -19,7 +19,7 @@ Pod::Spec.new do |s|
|
|
|
19
19
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
20
20
|
s.public_header_files = "ios/RNNetmera.h"
|
|
21
21
|
|
|
22
|
-
netmera_version = '4.
|
|
22
|
+
netmera_version = '4.17.0'
|
|
23
23
|
|
|
24
24
|
s.dependency "NetmeraAnalytic", netmera_version
|
|
25
25
|
s.dependency "NetmeraAnalyticAutotracking", netmera_version
|
package/android/build.gradle
CHANGED
|
@@ -24,7 +24,7 @@ class RNNetmeraConfiguration private constructor(
|
|
|
24
24
|
) {
|
|
25
25
|
|
|
26
26
|
fun getNetmeraConfiguration(): NetmeraConfiguration {
|
|
27
|
-
val pushCallbacks = nmPushActionCallbacks ?:
|
|
27
|
+
val pushCallbacks = nmPushActionCallbacks ?: RNNetmeraPushActionCallbacks()
|
|
28
28
|
val webWidgetCallbacks = nmWebWidgetCallbacks ?: RNNetmeraWebWidgetCallbacks()
|
|
29
29
|
|
|
30
30
|
val builder = NetmeraConfiguration.Builder()
|
|
@@ -3,6 +3,7 @@ package com.netmera.reactnativesdk
|
|
|
3
3
|
import android.app.Activity
|
|
4
4
|
import android.os.Bundle
|
|
5
5
|
import android.util.Log
|
|
6
|
+
import com.facebook.react.bridge.Arguments
|
|
6
7
|
import com.facebook.react.bridge.Promise
|
|
7
8
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
9
|
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
@@ -10,6 +11,8 @@ import com.facebook.react.bridge.ReactMethod
|
|
|
10
11
|
import com.facebook.react.bridge.ReadableMap
|
|
11
12
|
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
12
13
|
import com.google.firebase.messaging.RemoteMessage
|
|
14
|
+
import com.google.gson.Gson
|
|
15
|
+
import com.google.gson.JsonObject
|
|
13
16
|
import com.netmera.InternalNetmera
|
|
14
17
|
import com.netmera.NMUser
|
|
15
18
|
import com.netmera.Netmera
|
|
@@ -27,7 +30,10 @@ import com.netmera.callbacks.NMUpdateUserProfileListener
|
|
|
27
30
|
import com.netmera.data.NMCategoryPreference
|
|
28
31
|
import com.netmera.data.NMInboxStatusCount
|
|
29
32
|
import com.netmera.data.NMInboxStatusCountFilter
|
|
33
|
+
import com.netmera.NetmeraCategoryFilter
|
|
34
|
+
import com.netmera.data.NMCouponDetail
|
|
30
35
|
import com.netmera.reactnativesdk.RNNetmeraUtil.getInboxStatus
|
|
36
|
+
import com.netmera.reactnativesdk.RNNetmeraUtil.mapPushObject
|
|
31
37
|
import com.netmera.reactnativesdk.RNNetmeraUtil.mapPushObjects
|
|
32
38
|
import com.netmera.reactnativesdk.RNNetmeraUtil.parseInboxCountForStatusToMap
|
|
33
39
|
import com.netmera.reactnativesdk.RNNetmeraUtil.toMap
|
|
@@ -136,7 +142,7 @@ class RNNetmeraModule(reactContext: ReactApplicationContext) :
|
|
|
136
142
|
@ReactMethod
|
|
137
143
|
fun fetchCoupons(page: Int, max: Int, promise: Promise) {
|
|
138
144
|
Netmera.fetchCoupons(page, max, object : NMFetchCouponsResultListener {
|
|
139
|
-
override fun onSuccess(coupons: List<
|
|
145
|
+
override fun onSuccess(coupons: List<NMCouponDetail>?) {
|
|
140
146
|
promise.resolve(RNNetmeraUtil.mapCouponObjects(coupons ?: emptyList()))
|
|
141
147
|
}
|
|
142
148
|
|
|
@@ -226,9 +232,23 @@ class RNNetmeraModule(reactContext: ReactApplicationContext) :
|
|
|
226
232
|
|
|
227
233
|
@ReactMethod
|
|
228
234
|
fun fetchCategory(readableMap: ReadableMap, promise: Promise) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
235
|
+
val builder = NetmeraCategoryFilter.Builder()
|
|
236
|
+
if (readableMap.hasKey("status")) {
|
|
237
|
+
val status = readableMap.getInt("status")
|
|
238
|
+
builder.status(status)
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (readableMap.hasKey("pageSize")) {
|
|
242
|
+
val pageSize = readableMap.getInt("pageSize")
|
|
243
|
+
builder.pageSize(pageSize)
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
if (readableMap.hasKey("includeExpiredObjects")) {
|
|
247
|
+
val includeExpiredObjects = readableMap.getBoolean("includeExpiredObjects")
|
|
248
|
+
builder.includeExpiredObjects(includeExpiredObjects)
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
Netmera.fetchCategory(builder.build()) { netmeraInboxCategory, netmeraError ->
|
|
232
252
|
setCategory(
|
|
233
253
|
netmeraInboxCategory,
|
|
234
254
|
netmeraError,
|
|
@@ -257,26 +277,6 @@ class RNNetmeraModule(reactContext: ReactApplicationContext) :
|
|
|
257
277
|
}
|
|
258
278
|
}
|
|
259
279
|
|
|
260
|
-
@ReactMethod
|
|
261
|
-
fun handleLastMessage(categoryName: String?, promise: Promise) {
|
|
262
|
-
if (netmeraInboxCategory == null) {
|
|
263
|
-
promise.reject(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY)
|
|
264
|
-
return
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
if (categoryName == null || categoryName.isEmpty()) {
|
|
268
|
-
promise.reject(ERROR_CODE_INVALID_PUSH_OBJECT, ERROR_MESSAGE_INVALID_PUSH_OBJECT)
|
|
269
|
-
return
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
for (category in netmeraInboxCategory!!.categories()) {
|
|
273
|
-
if (categoryName == category.categoryName) {
|
|
274
|
-
Netmera.handlePushObject(reactApplicationContext.currentActivity!!, category.lastMessage)
|
|
275
|
-
break
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
280
|
@ReactMethod
|
|
281
281
|
fun updateStatusByCategories(fromIndex: Int, toIndex: Int, status: Int, promise: Promise) {
|
|
282
282
|
if (netmeraInboxCategory == null) {
|
|
@@ -403,12 +403,12 @@ class RNNetmeraModule(reactContext: ReactApplicationContext) :
|
|
|
403
403
|
@ReactMethod
|
|
404
404
|
fun sendEvent(readableMap: ReadableMap?) {
|
|
405
405
|
val eventMap = toMap(readableMap).toMutableMap()
|
|
406
|
-
val
|
|
406
|
+
val code = eventMap[CODE] as? String ?: return
|
|
407
|
+
if (code.isEmpty()) return
|
|
407
408
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
}
|
|
409
|
+
val event = RNNetmeraEvent()
|
|
410
|
+
event.setCode(code)
|
|
411
|
+
eventMap.remove(CODE)
|
|
412
412
|
|
|
413
413
|
if (eventMap.containsKey(REVENUE)) {
|
|
414
414
|
event.setRevenue(readableMap?.getDouble(REVENUE) ?: 0.0)
|
|
@@ -615,7 +615,19 @@ class RNNetmeraModule(reactContext: ReactApplicationContext) :
|
|
|
615
615
|
return
|
|
616
616
|
}
|
|
617
617
|
netmeraInboxCategory = nmInboxCategory
|
|
618
|
-
|
|
618
|
+
|
|
619
|
+
val writableArray = Arguments.createArray()
|
|
620
|
+
netmeraInboxCategory!!.categories().forEach { category ->
|
|
621
|
+
val map = Arguments.createMap()
|
|
622
|
+
map.putString("categoryName", category.categoryName)
|
|
623
|
+
map.putString("categoryStatus", Gson().toJson(category.status, JsonObject::class.java))
|
|
624
|
+
map.putInt("readCount", category.readCount)
|
|
625
|
+
map.putInt("unreadCount", category.unReadCount)
|
|
626
|
+
map.putInt("deletedCount", category.deletedCount)
|
|
627
|
+
map.putMap("lastMessage", mapPushObject(category.lastMessage))
|
|
628
|
+
writableArray.pushMap(map)
|
|
629
|
+
}
|
|
630
|
+
promise.resolve(writableArray)
|
|
619
631
|
}
|
|
620
632
|
|
|
621
633
|
companion object {
|
|
@@ -15,7 +15,7 @@ import com.netmera.callbacks.NMPushActionCallbacks
|
|
|
15
15
|
import com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.Companion.TASK_KEY
|
|
16
16
|
import com.netmera.reactnativesdk.RNNetmeraPushHeadlessService.Companion.TASK_MESSAGE
|
|
17
17
|
|
|
18
|
-
class
|
|
18
|
+
class RNNetmeraPushActionCallbacks : NMPushActionCallbacks {
|
|
19
19
|
|
|
20
20
|
override fun onPushRegister(context: Context, gcmSenderId: String, pushToken: String) {
|
|
21
21
|
val bundle = Bundle().apply {
|
package/ios/RNNetmera.h
CHANGED
package/ios/RNNetmera.mm
CHANGED
|
@@ -81,7 +81,7 @@ RCT_EXTERN_METHOD(inboxUpdateStatus:(NSInteger)fromIndex
|
|
|
81
81
|
withResolver:(RCTPromiseResolveBlock)resolve
|
|
82
82
|
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
83
83
|
|
|
84
|
-
RCT_EXTERN_METHOD(fetchCategory:(NSDictionary *)
|
|
84
|
+
RCT_EXTERN_METHOD(fetchCategory:(NSDictionary *)filterDict
|
|
85
85
|
withResolver:(RCTPromiseResolveBlock)resolve
|
|
86
86
|
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
87
87
|
|
|
@@ -97,10 +97,6 @@ RCT_EXTERN_METHOD(handleInteractiveAction:(NSString *)actionId
|
|
|
97
97
|
withResolver:(RCTPromiseResolveBlock)resolve
|
|
98
98
|
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
99
99
|
|
|
100
|
-
RCT_EXTERN_METHOD(handleLastMessage:(NSString *)pushId
|
|
101
|
-
withResolver:(RCTPromiseResolveBlock)resolve
|
|
102
|
-
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
103
|
-
|
|
104
100
|
RCT_EXTERN_METHOD(updateStatusByCategories:(NSArray<NSString *> *)categoryList
|
|
105
101
|
status:(NSInteger)status
|
|
106
102
|
withResolver:(RCTPromiseResolveBlock)resolve
|
package/ios/RNNetmera.swift
CHANGED
|
@@ -61,6 +61,8 @@ public class RNNetmera: NSObject {
|
|
|
61
61
|
var netmeraInbox: NetmeraInboxManager?
|
|
62
62
|
var categoryManager: NetmeraInboxCategoryManager?
|
|
63
63
|
|
|
64
|
+
// MARK: Initialize methods
|
|
65
|
+
|
|
64
66
|
/// Tracks whether `Netmera.initialize()` and shared setup have completed at least once.
|
|
65
67
|
private static var isInitialized = false
|
|
66
68
|
|
|
@@ -99,6 +101,8 @@ public class RNNetmera: NSObject {
|
|
|
99
101
|
])
|
|
100
102
|
}
|
|
101
103
|
|
|
104
|
+
// MARK: Notification methods
|
|
105
|
+
|
|
102
106
|
@objc(requestPushNotificationAuthorization:withRejecter:)
|
|
103
107
|
public func requestPushNotificationAuthorization(
|
|
104
108
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
@@ -117,14 +121,6 @@ public class RNNetmera: NSObject {
|
|
|
117
121
|
}
|
|
118
122
|
}
|
|
119
123
|
|
|
120
|
-
@objc(currentExternalId:withRejecter:)
|
|
121
|
-
func currentExternalId(
|
|
122
|
-
resolve: RCTPromiseResolveBlock,
|
|
123
|
-
reject: RCTPromiseRejectBlock
|
|
124
|
-
) {
|
|
125
|
-
resolve(Netmera.getCurrentExternalId())
|
|
126
|
-
}
|
|
127
|
-
|
|
128
124
|
@objc(checkNotificationPermission:withRejecter:)
|
|
129
125
|
func checkNotificationPermission(
|
|
130
126
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
@@ -146,6 +142,28 @@ public class RNNetmera: NSObject {
|
|
|
146
142
|
}
|
|
147
143
|
}
|
|
148
144
|
|
|
145
|
+
@objc(isPushEnabled:withRejecter:)
|
|
146
|
+
func isPushEnabled(
|
|
147
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
148
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
149
|
+
) {
|
|
150
|
+
Netmera.isReceivingPushNotificationsEnabled { isEnabled in
|
|
151
|
+
resolve(isEnabled)
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@objc(enablePush)
|
|
156
|
+
func enablePush() {
|
|
157
|
+
Netmera.setReceivingPushNotificationsEnabled(true)
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
@objc(disablePush)
|
|
161
|
+
func disablePush() {
|
|
162
|
+
Netmera.setReceivingPushNotificationsEnabled(false)
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// MARK: Location methods
|
|
166
|
+
|
|
149
167
|
@objc(requestPermissionsForLocation)
|
|
150
168
|
func requestPermissionsForLocation() {
|
|
151
169
|
Netmera.requestLocationAuthorization()
|
|
@@ -156,6 +174,8 @@ public class RNNetmera: NSObject {
|
|
|
156
174
|
Netmera.setNetmeraMaxActiveRegions(count: maxActiveRegions)
|
|
157
175
|
}
|
|
158
176
|
|
|
177
|
+
// MARK: Popup presentation methods
|
|
178
|
+
|
|
159
179
|
@objc(enablePopupPresentation)
|
|
160
180
|
func enablePopupPresentation() {
|
|
161
181
|
Netmera.setPopupPresentationEnabled(true)
|
|
@@ -171,25 +191,7 @@ public class RNNetmera: NSObject {
|
|
|
171
191
|
Netmera.dismissAllPresentations()
|
|
172
192
|
}
|
|
173
193
|
|
|
174
|
-
|
|
175
|
-
func isPushEnabled(
|
|
176
|
-
resolve: @escaping RCTPromiseResolveBlock,
|
|
177
|
-
reject: @escaping RCTPromiseRejectBlock
|
|
178
|
-
) {
|
|
179
|
-
Netmera.isReceivingPushNotificationsEnabled { isEnabled in
|
|
180
|
-
resolve(isEnabled)
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
@objc(enablePush)
|
|
185
|
-
func enablePush() {
|
|
186
|
-
Netmera.setReceivingPushNotificationsEnabled(true)
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
@objc(disablePush)
|
|
190
|
-
func disablePush() {
|
|
191
|
-
Netmera.setReceivingPushNotificationsEnabled(false)
|
|
192
|
-
}
|
|
194
|
+
// MARK: Data management methods
|
|
193
195
|
|
|
194
196
|
@objc(startDataTransfer)
|
|
195
197
|
func startDataTransfer() {
|
|
@@ -235,6 +237,8 @@ public class RNNetmera: NSObject {
|
|
|
235
237
|
Netmera.send(eventWithKey: code, attributes: filtered)
|
|
236
238
|
}
|
|
237
239
|
|
|
240
|
+
// MARK: User methods
|
|
241
|
+
|
|
238
242
|
@objc(identifyUser:hasCallback:withResolver:withRejecter:)
|
|
239
243
|
func identifyUser(_ userDictionary: [String: Any],
|
|
240
244
|
hasCallback: Bool,
|
|
@@ -295,6 +299,14 @@ public class RNNetmera: NSObject {
|
|
|
295
299
|
InternalNetmera.updateUserProfile(withDictionary: userProfileDictionary, completion: completionBlock)
|
|
296
300
|
}
|
|
297
301
|
|
|
302
|
+
@objc(currentExternalId:withRejecter:)
|
|
303
|
+
func currentExternalId(
|
|
304
|
+
resolve: RCTPromiseResolveBlock,
|
|
305
|
+
reject: RCTPromiseRejectBlock
|
|
306
|
+
) {
|
|
307
|
+
resolve(Netmera.getCurrentExternalId())
|
|
308
|
+
}
|
|
309
|
+
|
|
298
310
|
@objc(fetchCoupons:max:withResolver:withRejecter:)
|
|
299
311
|
func fetchCoupons(_ page: Int, max: Int, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
300
312
|
let filter = NetmeraCouponFilter(page: page, max: max)
|
|
@@ -302,8 +314,20 @@ public class RNNetmera: NSObject {
|
|
|
302
314
|
Netmera.fetchCoupons(using: filter) { result in
|
|
303
315
|
switch result {
|
|
304
316
|
case .success(let coupons):
|
|
305
|
-
|
|
306
|
-
|
|
317
|
+
resolve(coupons.map { coupon in
|
|
318
|
+
var data: [String: Any] = [
|
|
319
|
+
"couponId": coupon.couponId,
|
|
320
|
+
"name": coupon.name,
|
|
321
|
+
"code": coupon.code
|
|
322
|
+
]
|
|
323
|
+
if let assignDate = coupon.assignDate {
|
|
324
|
+
data["assignDate"] = String(format: "%f", assignDate.timeIntervalSince1970)
|
|
325
|
+
}
|
|
326
|
+
if let expireDate = coupon.expireDate {
|
|
327
|
+
data["expireDate"] = String(format: "%f", expireDate.timeIntervalSince1970)
|
|
328
|
+
}
|
|
329
|
+
return data
|
|
330
|
+
})
|
|
307
331
|
case .failure(let error):
|
|
308
332
|
reject(ERROR_CODE_COUPON_FETCH, ERROR_MESSAGE_COUPON_FETCH, error)
|
|
309
333
|
}
|
|
@@ -316,10 +340,13 @@ public class RNNetmera: NSObject {
|
|
|
316
340
|
Netmera.getUserCategoryPreferenceList { result in
|
|
317
341
|
switch result {
|
|
318
342
|
case .success(let categories):
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
343
|
+
resolve(categories.map { preference in
|
|
344
|
+
var data: [String: Any] = [:]
|
|
345
|
+
if let id = preference.categoryId { data["categoryId"] = id }
|
|
346
|
+
if let name = preference.categoryName { data["categoryName"] = name }
|
|
347
|
+
if let enabled = preference.categoryEnabled { data["optInStatus"] = enabled }
|
|
348
|
+
return data
|
|
349
|
+
})
|
|
323
350
|
case .failure(_):
|
|
324
351
|
reject(ERROR_CODE_GET_CATEGORY_PREFERENCE,
|
|
325
352
|
ERROR_MESSAGE_GET_CATEGORY_PREFERENCE,
|
|
@@ -346,15 +373,70 @@ public class RNNetmera: NSObject {
|
|
|
346
373
|
}
|
|
347
374
|
}
|
|
348
375
|
|
|
349
|
-
@objc(
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
} else {
|
|
376
|
+
@objc(setEmailPermission:withResolver:withRejecter:)
|
|
377
|
+
func setEmailPermission(isAllowed: Bool,
|
|
378
|
+
resolve: RCTPromiseResolveBlock,
|
|
379
|
+
reject: RCTPromiseRejectBlock) {
|
|
380
|
+
Netmera.setEmailPermission(isAllowed: isAllowed)
|
|
355
381
|
resolve(nil)
|
|
356
382
|
}
|
|
357
|
-
|
|
383
|
+
|
|
384
|
+
@objc(getEmailPermission:withRejecter:)
|
|
385
|
+
func getEmailPermission(resolve: @escaping RCTPromiseResolveBlock,
|
|
386
|
+
reject: @escaping RCTPromiseRejectBlock) {
|
|
387
|
+
Netmera.getEmailPermission { result in
|
|
388
|
+
switch result {
|
|
389
|
+
case .success(let isAllowed):
|
|
390
|
+
resolve(isAllowed)
|
|
391
|
+
case .failure(let error):
|
|
392
|
+
reject(ERROR_CODE_EMAIL_PERMISSION, ERROR_MESSAGE_EMAIL_PERMISSION, error)
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
@objc(setSmsPermission:withResolver:withRejecter:)
|
|
398
|
+
func setSmsPermission(isAllowed: Bool,
|
|
399
|
+
resolve: RCTPromiseResolveBlock,
|
|
400
|
+
reject: RCTPromiseRejectBlock) {
|
|
401
|
+
Netmera.setSmsPermission(isAllowed: isAllowed)
|
|
402
|
+
resolve(nil)
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
@objc(getSmsPermission:withRejecter:)
|
|
406
|
+
func getSmsPermission(resolve: @escaping RCTPromiseResolveBlock,
|
|
407
|
+
reject: @escaping RCTPromiseRejectBlock) {
|
|
408
|
+
Netmera.getSmsPermission { result in
|
|
409
|
+
switch result {
|
|
410
|
+
case .success(let isAllowed):
|
|
411
|
+
resolve(isAllowed)
|
|
412
|
+
case .failure(let error):
|
|
413
|
+
reject(ERROR_CODE_SMS_PERMISSION, ERROR_MESSAGE_SMS_PERMISSION, error)
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
@objc(setWhatsAppPermission:withResolver:withRejecter:)
|
|
419
|
+
func setWhatsAppPermission(isAllowed: Bool,
|
|
420
|
+
resolve: RCTPromiseResolveBlock,
|
|
421
|
+
reject: RCTPromiseRejectBlock) {
|
|
422
|
+
Netmera.setWhatsAppPermission(isAllowed: isAllowed)
|
|
423
|
+
resolve(nil)
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
@objc(getWhatsAppPermission:withRejecter:)
|
|
427
|
+
func getWhatsAppPermission(resolve: @escaping RCTPromiseResolveBlock,
|
|
428
|
+
reject: @escaping RCTPromiseRejectBlock) {
|
|
429
|
+
Netmera.getWhatsAppPermission { result in
|
|
430
|
+
switch result {
|
|
431
|
+
case .success(let isAllowed):
|
|
432
|
+
resolve(isAllowed)
|
|
433
|
+
case .failure(let error):
|
|
434
|
+
reject(ERROR_CODE_WHATSAPP_PERMISSION, ERROR_MESSAGE_WHATSAPP_PERMISSION, error)
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
// MARK: Push inbox methods
|
|
358
440
|
|
|
359
441
|
@objc(fetchInbox:withResolver:withRejecter:)
|
|
360
442
|
public func fetchInbox(_ inboxDictionary: [String: Any],
|
|
@@ -386,7 +468,7 @@ public class RNNetmera: NSObject {
|
|
|
386
468
|
switch result {
|
|
387
469
|
case .success:
|
|
388
470
|
let array: [[String: Any]] = manager.objects.map {
|
|
389
|
-
|
|
471
|
+
RNNetmeraPushObject.getPushObjectMap($0)
|
|
390
472
|
}
|
|
391
473
|
resolver(array)
|
|
392
474
|
self.netmeraInbox = manager
|
|
@@ -412,7 +494,7 @@ public class RNNetmera: NSObject {
|
|
|
412
494
|
inbox.nextPage { status in
|
|
413
495
|
switch status {
|
|
414
496
|
case .success:
|
|
415
|
-
let array =
|
|
497
|
+
let array = RNNetmeraPushObject.mapPushObjects(inbox.objects)
|
|
416
498
|
resolver(array)
|
|
417
499
|
case .failure(let error):
|
|
418
500
|
rejecter(ERROR_CODE_NOT_NEXT_PAGE, ERROR_MESSAGE_NOT_NEXT_PAGE, error)
|
|
@@ -477,10 +559,22 @@ public class RNNetmera: NSObject {
|
|
|
477
559
|
|
|
478
560
|
|
|
479
561
|
@objc(fetchCategory:withResolver:withRejecter:)
|
|
480
|
-
public func fetchCategory(_
|
|
562
|
+
public func fetchCategory(_ filterDict: [String: Any],
|
|
481
563
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
482
564
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
483
|
-
let
|
|
565
|
+
let categoryInboxStatus: NetmeraInboxStatus
|
|
566
|
+
if let statusRaw = filterDict["status"] as? Int {
|
|
567
|
+
categoryInboxStatus = NetmeraInboxStatus(rawValue: statusRaw)
|
|
568
|
+
} else {
|
|
569
|
+
categoryInboxStatus = .default
|
|
570
|
+
}
|
|
571
|
+
let categoryPageSize = filterDict["pageSize"] as? Int ?? 10
|
|
572
|
+
let categoryIncludeExpired = filterDict["includeExpiredObjects"] as? Bool ?? false
|
|
573
|
+
let filter = NetmeraInboxCategoryFilter(
|
|
574
|
+
status: categoryInboxStatus,
|
|
575
|
+
pageSize: categoryPageSize,
|
|
576
|
+
shouldIncludeExpiredObjects: categoryIncludeExpired
|
|
577
|
+
)
|
|
484
578
|
|
|
485
579
|
guard let manager = Netmera.inboxCategoryManager(with: filter) else {
|
|
486
580
|
rejecter(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY, nil)
|
|
@@ -492,10 +586,21 @@ public class RNNetmera: NSObject {
|
|
|
492
586
|
case .success(let isSuccess):
|
|
493
587
|
if isSuccess {
|
|
494
588
|
self.categoryManager = manager
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
589
|
+
resolver(manager.categories.map { categoryObject in
|
|
590
|
+
var data: [String: Any] = [:]
|
|
591
|
+
data["categoryName"] = categoryObject.categoryName
|
|
592
|
+
data["readCount"] = categoryObject.statusCounts[.read] ?? 0
|
|
593
|
+
data["unreadCount"] = categoryObject.statusCounts[.unread] ?? 0
|
|
594
|
+
data["deletedCount"] = categoryObject.statusCounts[.deleted] ?? 0
|
|
595
|
+
if let lastMessage = categoryObject.lastMessage {
|
|
596
|
+
let lastMsg = RNNetmeraPushObject.getPushObjectMap(lastMessage)
|
|
597
|
+
if let jsonData = try? JSONSerialization.data(withJSONObject: lastMsg, options: []),
|
|
598
|
+
let jsonStr = String(data: jsonData, encoding: .utf8) {
|
|
599
|
+
data["lastMessage"] = jsonStr
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
return data
|
|
603
|
+
})
|
|
499
604
|
} else {
|
|
500
605
|
rejecter(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY, nil)
|
|
501
606
|
}
|
|
@@ -521,10 +626,21 @@ public class RNNetmera: NSObject {
|
|
|
521
626
|
switch status {
|
|
522
627
|
case .success(let isSuccess):
|
|
523
628
|
if isSuccess {
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
629
|
+
resolve(category.categories.map { categoryObject in
|
|
630
|
+
var data: [String: Any] = [:]
|
|
631
|
+
data["categoryName"] = categoryObject.categoryName
|
|
632
|
+
data["readCount"] = categoryObject.statusCounts[.read] ?? 0
|
|
633
|
+
data["unreadCount"] = categoryObject.statusCounts[.unread] ?? 0
|
|
634
|
+
data["deletedCount"] = categoryObject.statusCounts[.deleted] ?? 0
|
|
635
|
+
if let lastMessage = categoryObject.lastMessage {
|
|
636
|
+
let lastMsg = RNNetmeraPushObject.getPushObjectMap(lastMessage)
|
|
637
|
+
if let jsonData = try? JSONSerialization.data(withJSONObject: lastMsg, options: []),
|
|
638
|
+
let jsonStr = String(data: jsonData, encoding: .utf8) {
|
|
639
|
+
data["lastMessage"] = jsonStr
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
return data
|
|
643
|
+
})
|
|
528
644
|
} else {
|
|
529
645
|
reject(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY, nil)
|
|
530
646
|
}
|
|
@@ -546,11 +662,11 @@ public class RNNetmera: NSObject {
|
|
|
546
662
|
return
|
|
547
663
|
}
|
|
548
664
|
|
|
549
|
-
if let pushInboxObject = inbox.objects.first(
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
665
|
+
if let pushInboxObject = inbox.objects.first(where: { $0.payload?.pushId == pushId }),
|
|
666
|
+
let payload = pushInboxObject.payload,
|
|
667
|
+
let action = payload.action {
|
|
668
|
+
Netmera.handleAction(action, for: payload)
|
|
669
|
+
|
|
554
670
|
}
|
|
555
671
|
|
|
556
672
|
resolver(nil)
|
|
@@ -568,14 +684,14 @@ public class RNNetmera: NSObject {
|
|
|
568
684
|
|
|
569
685
|
for pushInboxObject in inbox.objects {
|
|
570
686
|
guard
|
|
571
|
-
let pushObject = pushInboxObject.
|
|
687
|
+
let pushObject = pushInboxObject.payload,
|
|
572
688
|
let actions = pushObject.interactiveAction
|
|
573
689
|
else {
|
|
574
690
|
continue
|
|
575
691
|
}
|
|
576
692
|
if let interactiveAction = actions.first(where: { $0.id == interactiveActionId }),
|
|
577
693
|
let action = interactiveAction.action {
|
|
578
|
-
Netmera.
|
|
694
|
+
Netmera.handleAction(action, for: pushObject)
|
|
579
695
|
return
|
|
580
696
|
}
|
|
581
697
|
}
|
|
@@ -583,38 +699,6 @@ public class RNNetmera: NSObject {
|
|
|
583
699
|
resolver(false)
|
|
584
700
|
}
|
|
585
701
|
|
|
586
|
-
@objc(handleLastMessage:withResolver:withRejecter:)
|
|
587
|
-
public func handleLastMessage(_ pushId: String,
|
|
588
|
-
resolver: @escaping RCTPromiseResolveBlock,
|
|
589
|
-
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
590
|
-
|
|
591
|
-
guard let inbox = netmeraInbox else {
|
|
592
|
-
rejecter(ERROR_CODE_INBOX_NULL, ERROR_MESSAGE_INBOX_NULL, nil)
|
|
593
|
-
return
|
|
594
|
-
}
|
|
595
|
-
|
|
596
|
-
guard !pushId.isEmpty else {
|
|
597
|
-
rejecter(
|
|
598
|
-
ERROR_CODE_INVALID_PUSH_OBJECT,
|
|
599
|
-
ERROR_MESSAGE_INVALID_PUSH_OBJECT,
|
|
600
|
-
nil
|
|
601
|
-
)
|
|
602
|
-
return
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
if let matched = inbox.objects.last(where: { $0.push?.pushId == pushId }),
|
|
606
|
-
let pushObject = matched.push {
|
|
607
|
-
Netmera.handlePushObject(pushObject)
|
|
608
|
-
resolver(true)
|
|
609
|
-
} else {
|
|
610
|
-
rejecter(
|
|
611
|
-
ERROR_CODE_INVALID_PUSH_OBJECT,
|
|
612
|
-
ERROR_MESSAGE_INVALID_PUSH_OBJECT,
|
|
613
|
-
nil
|
|
614
|
-
)
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
|
|
618
702
|
@objc(updateStatusByCategories:status:withResolver:withRejecter:)
|
|
619
703
|
public func updateStatusByCategories(_ categoryList: [String],
|
|
620
704
|
status: Int,
|
|
@@ -670,7 +754,20 @@ public class RNNetmera: NSObject {
|
|
|
670
754
|
return
|
|
671
755
|
}
|
|
672
756
|
|
|
673
|
-
let status
|
|
757
|
+
let status: NetmeraInboxStatus
|
|
758
|
+
switch statusValue {
|
|
759
|
+
case NetmeraInboxStatus.deleted.rawValue:
|
|
760
|
+
status = .deleted
|
|
761
|
+
case NetmeraInboxStatus.read.rawValue:
|
|
762
|
+
status = .read
|
|
763
|
+
case NetmeraInboxStatus.unread.rawValue:
|
|
764
|
+
status = .unread
|
|
765
|
+
case NetmeraInboxStatus.all.rawValue:
|
|
766
|
+
fallthrough
|
|
767
|
+
default:
|
|
768
|
+
status = .all
|
|
769
|
+
}
|
|
770
|
+
|
|
674
771
|
let shouldIncludeExpiredObjects = filterDictionary["includeExpiredObjects"] as? Bool ?? false
|
|
675
772
|
let categories = filterDictionary["categoryList"] as? [String] ?? []
|
|
676
773
|
|
|
@@ -683,77 +780,28 @@ public class RNNetmera: NSObject {
|
|
|
683
780
|
Netmera.fetchInboxCount(with: filter) { resultStatus in
|
|
684
781
|
switch resultStatus {
|
|
685
782
|
case .success(let response):
|
|
686
|
-
|
|
687
|
-
|
|
783
|
+
resolver([
|
|
784
|
+
"7": response.count(for: .all),
|
|
785
|
+
"1": response.count(for: .read),
|
|
786
|
+
"2": response.count(for: .unread),
|
|
787
|
+
"4": response.count(for: .deleted)
|
|
788
|
+
])
|
|
688
789
|
case .failure(let error):
|
|
689
790
|
rejecter(ERROR_CODE_INBOX_STATUS, ERROR_MESSAGE_INBOX_STATUS, error)
|
|
690
791
|
}
|
|
691
792
|
}
|
|
692
793
|
}
|
|
693
794
|
|
|
694
|
-
// MARK:
|
|
695
|
-
|
|
696
|
-
@objc(
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
@objc(getEmailPermission:withRejecter:)
|
|
705
|
-
func getEmailPermission(resolve: @escaping RCTPromiseResolveBlock,
|
|
706
|
-
reject: @escaping RCTPromiseRejectBlock) {
|
|
707
|
-
Netmera.getEmailPermission { result in
|
|
708
|
-
switch result {
|
|
709
|
-
case .success(let isAllowed):
|
|
710
|
-
resolve(isAllowed)
|
|
711
|
-
case .failure(let error):
|
|
712
|
-
reject(ERROR_CODE_EMAIL_PERMISSION, ERROR_MESSAGE_EMAIL_PERMISSION, error)
|
|
713
|
-
}
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
|
|
717
|
-
@objc(setSmsPermission:withResolver:withRejecter:)
|
|
718
|
-
func setSmsPermission(isAllowed: Bool,
|
|
719
|
-
resolve: RCTPromiseResolveBlock,
|
|
720
|
-
reject: RCTPromiseRejectBlock) {
|
|
721
|
-
Netmera.setSmsPermission(isAllowed: isAllowed)
|
|
722
|
-
resolve(nil)
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
@objc(getSmsPermission:withRejecter:)
|
|
726
|
-
func getSmsPermission(resolve: @escaping RCTPromiseResolveBlock,
|
|
727
|
-
reject: @escaping RCTPromiseRejectBlock) {
|
|
728
|
-
Netmera.getSmsPermission { result in
|
|
729
|
-
switch result {
|
|
730
|
-
case .success(let isAllowed):
|
|
731
|
-
resolve(isAllowed)
|
|
732
|
-
case .failure(let error):
|
|
733
|
-
reject(ERROR_CODE_SMS_PERMISSION, ERROR_MESSAGE_SMS_PERMISSION, error)
|
|
734
|
-
}
|
|
735
|
-
}
|
|
736
|
-
}
|
|
737
|
-
|
|
738
|
-
@objc(setWhatsAppPermission:withResolver:withRejecter:)
|
|
739
|
-
func setWhatsAppPermission(isAllowed: Bool,
|
|
740
|
-
resolve: RCTPromiseResolveBlock,
|
|
741
|
-
reject: RCTPromiseRejectBlock) {
|
|
742
|
-
Netmera.setWhatsAppPermission(isAllowed: isAllowed)
|
|
795
|
+
// MARK: Other methods
|
|
796
|
+
|
|
797
|
+
@objc(getInitialURL:withRejecter:)
|
|
798
|
+
func getInitialURL(resolve: RCTPromiseResolveBlock,
|
|
799
|
+
reject: RCTPromiseRejectBlock) {
|
|
800
|
+
if let url = RNNetmeraRCTEventEmitter.getInitialUrl() {
|
|
801
|
+
resolve(url.absoluteString)
|
|
802
|
+
} else {
|
|
743
803
|
resolve(nil)
|
|
744
804
|
}
|
|
745
|
-
|
|
746
|
-
@objc(getWhatsAppPermission:withRejecter:)
|
|
747
|
-
func getWhatsAppPermission(resolve: @escaping RCTPromiseResolveBlock,
|
|
748
|
-
reject: @escaping RCTPromiseRejectBlock) {
|
|
749
|
-
Netmera.getWhatsAppPermission { result in
|
|
750
|
-
switch result {
|
|
751
|
-
case .success(let isAllowed):
|
|
752
|
-
resolve(isAllowed)
|
|
753
|
-
case .failure(let error):
|
|
754
|
-
reject(ERROR_CODE_WHATSAPP_PERMISSION, ERROR_MESSAGE_WHATSAPP_PERMISSION, error)
|
|
755
|
-
}
|
|
756
|
-
}
|
|
757
|
-
}
|
|
805
|
+
}
|
|
758
806
|
|
|
759
807
|
}
|
|
@@ -15,20 +15,17 @@ final class RNNetmeraPushLifecycleDelegate: NSObject, NetmeraPushLifecycleDelega
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
func didReceive(_ push: NetmeraBasePush) {
|
|
18
|
-
let payload =
|
|
19
|
-
guard !payload.isEmpty else { return }
|
|
18
|
+
guard let payload = RNNetmeraPushObject.getBasePushObjectMap(push) else { return }
|
|
20
19
|
RNNetmeraRCTEventEmitter.onPushReceive(["payload": payload])
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
func didOpen(_ push: NetmeraBasePush) {
|
|
24
|
-
let payload =
|
|
25
|
-
guard !payload.isEmpty else { return }
|
|
23
|
+
guard let payload = RNNetmeraPushObject.getBasePushObjectMap(push) else { return }
|
|
26
24
|
RNNetmeraRCTEventEmitter.onPushOpen(["payload": payload])
|
|
27
25
|
}
|
|
28
26
|
|
|
29
27
|
func didClickActionButton(_ identifier: String, for push: NetmeraBasePush) {
|
|
30
|
-
let payload =
|
|
31
|
-
guard !payload.isEmpty else { return }
|
|
28
|
+
guard let payload = RNNetmeraPushObject.getBasePushObjectMap(push) else { return }
|
|
32
29
|
RNNetmeraRCTEventEmitter.onPushButtonClicked([
|
|
33
30
|
"payload": payload,
|
|
34
31
|
"identifier": identifier,
|
|
@@ -36,12 +33,10 @@ final class RNNetmeraPushLifecycleDelegate: NSObject, NetmeraPushLifecycleDelega
|
|
|
36
33
|
}
|
|
37
34
|
|
|
38
35
|
func didClickCarouselItem(_ identifier: String?, for push: NetmeraBasePush) {
|
|
39
|
-
let payload =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
RNNetmeraRCTEventEmitter.onCarouselItemClicked(body)
|
|
36
|
+
guard let payload = RNNetmeraPushObject.getBasePushObjectMap(push) else { return }
|
|
37
|
+
RNNetmeraRCTEventEmitter.onCarouselItemClicked([
|
|
38
|
+
"payload": payload,
|
|
39
|
+
"identifier": identifier as Any
|
|
40
|
+
])
|
|
46
41
|
}
|
|
47
42
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
//
|
|
2
|
-
//
|
|
2
|
+
// RNNetmeraPushObject.swift
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
import Foundation
|
|
7
6
|
import NetmeraCore
|
|
8
7
|
import NetmeraNotification
|
|
@@ -14,33 +13,15 @@ import NetmeraNotificationInbox
|
|
|
14
13
|
import NetmeraAnalyticAutotracking
|
|
15
14
|
import NetmeraNotificationCore
|
|
16
15
|
|
|
17
|
-
class
|
|
18
|
-
|
|
19
|
-
static let shared = RNNetmeraUtils()
|
|
20
|
-
|
|
21
|
-
private override init() {
|
|
22
|
-
super.init()
|
|
23
|
-
}
|
|
16
|
+
class RNNetmeraPushObject {
|
|
24
17
|
|
|
25
|
-
func
|
|
26
|
-
|
|
27
|
-
let data = try JSONEncoder().encode(push)
|
|
28
|
-
guard let dict = try JSONSerialization.jsonObject(with: data) as? [String: Any] else {
|
|
29
|
-
return [:]
|
|
30
|
-
}
|
|
31
|
-
return dict
|
|
32
|
-
} catch {
|
|
33
|
-
return [:]
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
func mapPushObjects(_ pushObjects: [NetmeraInboxPush]) -> [[String: Any]] {
|
|
38
|
-
return pushObjects.map { dictionaryFromInboxPush($0) }
|
|
18
|
+
static func mapPushObjects(_ pushObjects: [NetmeraInboxPush]) -> [[String: Any]] {
|
|
19
|
+
return pushObjects.map { getPushObjectMap($0) }
|
|
39
20
|
}
|
|
40
|
-
|
|
41
|
-
func
|
|
21
|
+
|
|
22
|
+
static func getPushObjectMap(_ pushObject: NetmeraInboxPush) -> [String: Any] {
|
|
42
23
|
var data: [String: Any] = [:]
|
|
43
|
-
|
|
24
|
+
|
|
44
25
|
let push = pushObject.payload
|
|
45
26
|
data["pushType"] = push?.pushType.rawValue ?? 0
|
|
46
27
|
data["pushId"] = push?.pushId ?? ""
|
|
@@ -50,7 +31,7 @@ class RNNetmeraUtils: NSObject {
|
|
|
50
31
|
data["customJson"] = push?.params ?? [:]
|
|
51
32
|
data["mediaAttachmentURL"] = push?.mediaAttachmentURL ?? ""
|
|
52
33
|
data["externalId"] = push?.externalId ?? ""
|
|
53
|
-
|
|
34
|
+
|
|
54
35
|
if let carousel = push?.carousel {
|
|
55
36
|
data["carousel"] = carousel.map { item in
|
|
56
37
|
var itemMap: [String: Any?] = [:]
|
|
@@ -58,34 +39,32 @@ class RNNetmeraUtils: NSObject {
|
|
|
58
39
|
itemMap["bpp"] = item.url?.absoluteString
|
|
59
40
|
itemMap["ctitle"] = item.title
|
|
60
41
|
itemMap["ctext"] = item.subtitle
|
|
61
|
-
|
|
42
|
+
|
|
62
43
|
if let action = item.action {
|
|
63
44
|
itemMap["action"] = mapAction(action)
|
|
64
45
|
}
|
|
65
|
-
|
|
46
|
+
|
|
66
47
|
return itemMap
|
|
67
48
|
}
|
|
68
49
|
}
|
|
69
|
-
|
|
70
|
-
|
|
50
|
+
|
|
71
51
|
if let categories = push?.categoryIds {
|
|
72
52
|
data["categories"] = categories
|
|
73
53
|
}
|
|
74
|
-
|
|
75
|
-
|
|
54
|
+
|
|
76
55
|
let alert = pushObject.alert
|
|
77
56
|
data["title"] = alert?.title ?? ""
|
|
78
57
|
data["subtitle"] = alert?.subtitle ?? ""
|
|
79
58
|
data["body"] = alert?.body ?? ""
|
|
80
|
-
|
|
59
|
+
|
|
81
60
|
if let expireDate = push?.expirationDate {
|
|
82
61
|
data["expireTime"] = formatDate(expireDate)
|
|
83
62
|
}
|
|
84
|
-
|
|
63
|
+
|
|
85
64
|
if let action = push?.action {
|
|
86
65
|
let mappedAction = mapAction(action)
|
|
87
66
|
data["pushAction"] = mappedAction
|
|
88
|
-
|
|
67
|
+
|
|
89
68
|
if (action.actionType == .openDeeplink) {
|
|
90
69
|
if let a = action as? NetmeraDeeplinkAction {
|
|
91
70
|
data["action_deeplink_url"] = a.deeplinkURL
|
|
@@ -95,13 +74,12 @@ class RNNetmeraUtils: NSObject {
|
|
|
95
74
|
data["action_webpage_url"] = a.url
|
|
96
75
|
}
|
|
97
76
|
}
|
|
98
|
-
|
|
99
77
|
}
|
|
100
|
-
|
|
78
|
+
|
|
101
79
|
if let actions = push?.interactiveAction {
|
|
102
80
|
let mapped = actions.map { actionItem -> [String: Any] in
|
|
103
81
|
var dict: [String: Any] = [:]
|
|
104
|
-
dict["id"]
|
|
82
|
+
dict["id"] = actionItem.id ?? ""
|
|
105
83
|
dict["text"] = actionItem.title ?? ""
|
|
106
84
|
if let act = actionItem.action {
|
|
107
85
|
dict["act"] = mapAction(act)
|
|
@@ -109,102 +87,34 @@ class RNNetmeraUtils: NSObject {
|
|
|
109
87
|
dict["prms"] = actionItem.params ?? [:]
|
|
110
88
|
return dict
|
|
111
89
|
}
|
|
112
|
-
|
|
90
|
+
|
|
113
91
|
if let jsonData = try? JSONSerialization.data(withJSONObject: mapped, options: []) {
|
|
114
92
|
data["interactiveActions"] = String(data: jsonData, encoding: .utf8)
|
|
115
93
|
}
|
|
116
94
|
}
|
|
117
|
-
|
|
118
|
-
|
|
95
|
+
|
|
119
96
|
if let sendDate = push?.sendDate {
|
|
120
97
|
data["sendDate"] = formatDate(sendDate)
|
|
121
98
|
}
|
|
122
|
-
|
|
123
|
-
return data
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
// MARK: - Inbox Status
|
|
128
|
-
func getInboxStatus(code: Int) -> NetmeraInboxStatus {
|
|
129
|
-
switch code {
|
|
130
|
-
case NetmeraInboxStatus.deleted.rawValue:
|
|
131
|
-
return .deleted
|
|
132
|
-
case NetmeraInboxStatus.read.rawValue:
|
|
133
|
-
return .read
|
|
134
|
-
case NetmeraInboxStatus.unread.rawValue:
|
|
135
|
-
return .unread
|
|
136
|
-
case NetmeraInboxStatus.all.rawValue:
|
|
137
|
-
fallthrough
|
|
138
|
-
default:
|
|
139
|
-
return .all
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
func parseInboxCount(for response: NetmeraInboxCountResponse) -> [String: Any] {
|
|
144
|
-
var data: [String: Any] = [:]
|
|
145
|
-
data["7"] = response.count(for: .all)
|
|
146
|
-
data["1"] = response.count(for: .read)
|
|
147
|
-
data["2"] = response.count(for: .unread)
|
|
148
|
-
data["4"] = response.count(for: .deleted)
|
|
149
|
-
return data
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
func parseUserCategoryPreferences(_ preferences: [NetmeraUserCategoryPreference]) -> [[String: Any]] {
|
|
153
|
-
var array: [[String: Any]] = []
|
|
154
|
-
for pref in preferences {
|
|
155
|
-
var data: [String: Any] = [:]
|
|
156
|
-
data["categoryId"] = pref.categoryId
|
|
157
|
-
data["categoryName"] = pref.categoryName
|
|
158
|
-
data["optInStatus"] = pref.categoryEnabled
|
|
159
|
-
array.append(data)
|
|
160
|
-
}
|
|
161
|
-
return array
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
func parseUserCategoryPreferenceListToMap(_ preferences: [NetmeraUserCategoryPreference]) -> [[String: Any]] {
|
|
165
|
-
var array: [[String: Any]] = []
|
|
166
|
-
|
|
167
|
-
for preference in preferences {
|
|
168
|
-
var data: [String: Any] = [:]
|
|
169
|
-
data["categoryId"] = preference.categoryId
|
|
170
|
-
data["categoryName"] = preference.categoryName
|
|
171
|
-
data["optInStatus"] = preference.categoryEnabled
|
|
172
|
-
array.append(data)
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
return array
|
|
176
|
-
}
|
|
177
99
|
|
|
178
|
-
|
|
179
|
-
var array: [[String: Any]] = []
|
|
180
|
-
for couponObject in couponObjects {
|
|
181
|
-
array.append(mapCouponObject(couponObject))
|
|
182
|
-
}
|
|
183
|
-
return array
|
|
100
|
+
return data
|
|
184
101
|
}
|
|
185
|
-
|
|
186
|
-
private func mapCouponObject(_ couponObject: NetmeraCouponObject) -> [String: Any] {
|
|
187
|
-
var data: [String: Any] = [
|
|
188
|
-
"couponId": couponObject.couponId,
|
|
189
|
-
"name": couponObject.name,
|
|
190
|
-
"code": couponObject.code
|
|
191
|
-
]
|
|
192
|
-
|
|
193
|
-
if let assignDate = couponObject.assignDate {
|
|
194
|
-
data["assignDate"] = String(format: "%f", assignDate.timeIntervalSince1970)
|
|
195
|
-
}
|
|
196
102
|
|
|
197
|
-
|
|
198
|
-
|
|
103
|
+
static func getBasePushObjectMap(_ push: NetmeraBasePush) -> [String: Any]? {
|
|
104
|
+
guard
|
|
105
|
+
let data = try? JSONEncoder().encode(push),
|
|
106
|
+
let dict = try? JSONSerialization.jsonObject(with: data) as? [String: Any]
|
|
107
|
+
else {
|
|
108
|
+
return nil
|
|
199
109
|
}
|
|
200
110
|
|
|
201
|
-
return
|
|
111
|
+
return dict
|
|
202
112
|
}
|
|
203
|
-
|
|
204
|
-
private func mapAction(_ action: NetmeraPushAction) -> [String: Any] {
|
|
113
|
+
|
|
114
|
+
private static func mapAction(_ action: NetmeraPushAction) -> [String: Any] {
|
|
205
115
|
var dict: [String: Any] = [:]
|
|
206
116
|
dict["at"] = action.actionType?.rawValue
|
|
207
|
-
|
|
117
|
+
|
|
208
118
|
switch action.actionType {
|
|
209
119
|
case .openDeeplink:
|
|
210
120
|
if let a = action as? NetmeraDeeplinkAction {
|
|
@@ -224,8 +134,8 @@ class RNNetmeraUtils: NSObject {
|
|
|
224
134
|
}
|
|
225
135
|
return dict.filter { !($0.value is NSNull) }
|
|
226
136
|
}
|
|
227
|
-
|
|
228
|
-
private func formatDate(_ date: Date) -> String {
|
|
137
|
+
|
|
138
|
+
private static func formatDate(_ date: Date) -> String {
|
|
229
139
|
let formatter = DateFormatter()
|
|
230
140
|
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
231
141
|
return formatter.string(from: date)
|
|
@@ -15,6 +15,7 @@ public class RNNetmeraRCTEventEmitter: RCTEventEmitter {
|
|
|
15
15
|
private static var waitingOnPushDismiss: [String: Any]?
|
|
16
16
|
private static var waitingOnPushButtonClicked: [String: Any]?
|
|
17
17
|
private static var waitingOnCarouselItemClicked: [String: Any]?
|
|
18
|
+
private static var waitingOnWidgetUrlTriggered: [String: Any]?
|
|
18
19
|
|
|
19
20
|
public override init() {
|
|
20
21
|
super.init()
|
|
@@ -67,6 +68,11 @@ public class RNNetmeraRCTEventEmitter: RCTEventEmitter {
|
|
|
67
68
|
sendEvent(withName: "onCarouselItemClicked", body: body)
|
|
68
69
|
RNNetmeraRCTEventEmitter.waitingOnCarouselItemClicked = nil
|
|
69
70
|
}
|
|
71
|
+
|
|
72
|
+
if let body = RNNetmeraRCTEventEmitter.waitingOnWidgetUrlTriggered {
|
|
73
|
+
sendEvent(withName: "onWidgetUrlTriggered", body: body)
|
|
74
|
+
RNNetmeraRCTEventEmitter.waitingOnWidgetUrlTriggered = nil
|
|
75
|
+
}
|
|
70
76
|
}
|
|
71
77
|
|
|
72
78
|
public override func stopObserving() {
|
|
@@ -94,15 +100,13 @@ public class RNNetmeraRCTEventEmitter: RCTEventEmitter {
|
|
|
94
100
|
return waitingDeeplink
|
|
95
101
|
}
|
|
96
102
|
|
|
97
|
-
public static func
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
name: Notification.Name("onWidgetUrlTriggered"),
|
|
102
|
-
object: nil,
|
|
103
|
-
userInfo: urlDictionary
|
|
104
|
-
)
|
|
103
|
+
public static func openURL(_ url: URL, forPushObject object: NetmeraBasePush) {
|
|
104
|
+
guard object.pushType == NetmeraPushType.widget
|
|
105
|
+
|| object.action?.actionType == .showWidget else {
|
|
106
|
+
return
|
|
105
107
|
}
|
|
108
|
+
let body = ["url": url.absoluteString]
|
|
109
|
+
deliver("onWidgetUrlTriggered", body: body, waiting: &waitingOnWidgetUrlTriggered)
|
|
106
110
|
}
|
|
107
111
|
|
|
108
112
|
//TODO: implement
|
package/lib/module/Netmera.js
CHANGED
|
@@ -190,9 +190,6 @@ export default class Netmera {
|
|
|
190
190
|
static handleInteractiveAction = interactiveActionId => {
|
|
191
191
|
RNNetmera.handleInteractiveAction(interactiveActionId);
|
|
192
192
|
};
|
|
193
|
-
static handleLastMessage = categoryName => {
|
|
194
|
-
RNNetmera.handleLastMessage(categoryName);
|
|
195
|
-
};
|
|
196
193
|
static updateStatusByCategories = (fromIndex, toIndex, status = NMInboxStatus.STATUS_UNREAD) => {
|
|
197
194
|
return RNNetmera.updateStatusByCategories(fromIndex, toIndex, status);
|
|
198
195
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AppRegistry","DeviceEventEmitter","Linking","NMInboxStatus","isAndroid","isIos","NotificationPermissionStatus","netmeraRCTEventEmitter","RNNetmera","Netmera","initBroadcastReceiver","onPushRegister","onPushReceive","onPushOpen","onPushDismiss","onPushButtonClicked","onCarouselObjectSelected","registerHeadlessTask","addListener","onWidgetUrlTriggered","handler","eventData","url","currentExternalId","checkNotificationPermission","status","statusMap","NotDetermined","Blocked","Denied","Granted","requestPushNotificationAuthorization","requestPermissionsForLocation","setNetmeraMaxActiveRegions","maxActiveRegions","enablePopupPresentation","disablePopupPresentation","dismissAllPresentations","isPushEnabled","enablePush","disablePush","kill","startDataTransfer","stopDataTransfer","fetchCoupons","page","max","fetchInbox","netmeraInboxFilter","fetchNextPage","countForStatus","STATUS_UNREAD","inboxUpdateStatus","fromIndex","toIndex","fetchCategory","categoryFilter","fetchNextCategoryPage","sendEvent","event","sendGenericEvent","code","attributes","processedAttrs","key","value","Object","entries","Date","getTime","Array","isArray","length","every","v","map","d","identifyUser","user","callback","payload","getIdentifyPayload","then","catch","error","updateUserProfile","userProfile","getChangesPayload","updateAll","inboxStatus","handlePushObject","pushId","handleInteractiveAction","interactiveActionId","handleLastMessage","categoryName","updateStatusByCategories","getInboxCountForStatus","nmInboxStatusCountFilter","getUserCategoryPreferenceList","setUserCategoryPreference","categoryId","categoryEnabled","onNetmeraFirebasePushMessageReceived","from","data","onNetmeraPushMessageReceived","onNetmeraHuaweiPushMessageReceived","_nm","JSON","stringify","onNetmeraNewToken","pushToken","isNetmeraRemoteMessage","undefined","hasOwnProperty","getInitialURL","initialUrl","setEmailPermission","isAllowed","getEmailPermission","setSmsPermission","getSmsPermission","setWhatsAppPermission","getWhatsAppPermission"],"sourceRoot":"../../src","sources":["Netmera.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AppRegistry","DeviceEventEmitter","Linking","NMInboxStatus","isAndroid","isIos","NotificationPermissionStatus","netmeraRCTEventEmitter","RNNetmera","Netmera","initBroadcastReceiver","onPushRegister","onPushReceive","onPushOpen","onPushDismiss","onPushButtonClicked","onCarouselObjectSelected","registerHeadlessTask","addListener","onWidgetUrlTriggered","handler","eventData","url","currentExternalId","checkNotificationPermission","status","statusMap","NotDetermined","Blocked","Denied","Granted","requestPushNotificationAuthorization","requestPermissionsForLocation","setNetmeraMaxActiveRegions","maxActiveRegions","enablePopupPresentation","disablePopupPresentation","dismissAllPresentations","isPushEnabled","enablePush","disablePush","kill","startDataTransfer","stopDataTransfer","fetchCoupons","page","max","fetchInbox","netmeraInboxFilter","fetchNextPage","countForStatus","STATUS_UNREAD","inboxUpdateStatus","fromIndex","toIndex","fetchCategory","categoryFilter","fetchNextCategoryPage","sendEvent","event","sendGenericEvent","code","attributes","processedAttrs","key","value","Object","entries","Date","getTime","Array","isArray","length","every","v","map","d","identifyUser","user","callback","payload","getIdentifyPayload","then","catch","error","updateUserProfile","userProfile","getChangesPayload","updateAll","inboxStatus","handlePushObject","pushId","handleInteractiveAction","interactiveActionId","updateStatusByCategories","getInboxCountForStatus","nmInboxStatusCountFilter","getUserCategoryPreferenceList","setUserCategoryPreference","categoryId","categoryEnabled","onNetmeraFirebasePushMessageReceived","from","data","onNetmeraPushMessageReceived","onNetmeraHuaweiPushMessageReceived","_nm","JSON","stringify","onNetmeraNewToken","pushToken","isNetmeraRemoteMessage","undefined","hasOwnProperty","getInitialURL","initialUrl","setEmailPermission","isAllowed","getEmailPermission","setSmsPermission","getSmsPermission","setWhatsAppPermission","getWhatsAppPermission"],"sourceRoot":"../../src","sources":["Netmera.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,7 +44,6 @@ export default class Netmera {
|
|
|
44
44
|
static updateAll: (inboxStatus: number) => any;
|
|
45
45
|
static handlePushObject: (pushId: string) => void;
|
|
46
46
|
static handleInteractiveAction: (interactiveActionId: string) => void;
|
|
47
|
-
static handleLastMessage: (categoryName: string) => void;
|
|
48
47
|
static updateStatusByCategories: (fromIndex: number, toIndex: number, status?: number) => any;
|
|
49
48
|
static getInboxCountForStatus: (nmInboxStatusCountFilter: NMInboxStatusCountFilter) => any;
|
|
50
49
|
static getUserCategoryPreferenceList: () => Promise<Array<NMCategoryPreference>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Netmera.d.ts","sourceRoot":"","sources":["../../../src/Netmera.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Netmera.d.ts","sourceRoot":"","sources":["../../../src/Netmera.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Netmera.ts
CHANGED
|
@@ -284,10 +284,6 @@ export default class Netmera {
|
|
|
284
284
|
RNNetmera.handleInteractiveAction(interactiveActionId);
|
|
285
285
|
};
|
|
286
286
|
|
|
287
|
-
static handleLastMessage = (categoryName: string) => {
|
|
288
|
-
RNNetmera.handleLastMessage(categoryName);
|
|
289
|
-
};
|
|
290
|
-
|
|
291
287
|
static updateStatusByCategories = (
|
|
292
288
|
fromIndex: number,
|
|
293
289
|
toIndex: number,
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
package com.netmera.reactnativesdk
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Arguments
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap
|
|
5
|
-
import com.facebook.react.bridge.WritableArray
|
|
6
|
-
import com.facebook.react.bridge.WritableMap
|
|
7
|
-
import com.google.gson.Gson
|
|
8
|
-
import com.google.gson.JsonObject
|
|
9
|
-
import com.netmera.NetmeraCategory
|
|
10
|
-
import com.netmera.NetmeraCategoryFilter
|
|
11
|
-
import com.netmera.reactnativesdk.RNNetmeraUtil.mapPushObject
|
|
12
|
-
|
|
13
|
-
object RNNetmeraCategoryObject {
|
|
14
|
-
fun mapCategoryObjects(categoryObjects: MutableList<NetmeraCategory>): WritableArray {
|
|
15
|
-
val writableArray = Arguments.createArray()
|
|
16
|
-
for (category in categoryObjects) {
|
|
17
|
-
writableArray.pushMap(getCategoryObjectMap(category))
|
|
18
|
-
}
|
|
19
|
-
return writableArray
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
private fun getCategoryObjectMap(category: NetmeraCategory): WritableMap {
|
|
23
|
-
val map = Arguments.createMap()
|
|
24
|
-
map.putString("categoryName", category.categoryName)
|
|
25
|
-
map.putString("categoryStatus", Gson().toJson(category.status, JsonObject::class.java))
|
|
26
|
-
map.putInt("readCount", category.readCount)
|
|
27
|
-
map.putInt("unreadCount", category.unReadCount)
|
|
28
|
-
map.putInt("deletedCount", category.deletedCount)
|
|
29
|
-
map.putMap("lastMessage", mapPushObject(category.lastMessage))
|
|
30
|
-
|
|
31
|
-
return map
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
fun getInboxObject(map: ReadableMap): NetmeraCategoryFilter {
|
|
35
|
-
val builder = NetmeraCategoryFilter.Builder()
|
|
36
|
-
|
|
37
|
-
if (map.hasKey("status")) {
|
|
38
|
-
val status = map.getInt("status")
|
|
39
|
-
builder.status(status)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (map.hasKey("pageSize")) {
|
|
43
|
-
val pageSize = map.getInt("pageSize")
|
|
44
|
-
builder.pageSize(pageSize)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (map.hasKey("includeExpiredObjects")) {
|
|
48
|
-
val includeExpiredObjects = map.getBoolean("includeExpiredObjects")
|
|
49
|
-
builder.includeExpiredObjects(includeExpiredObjects)
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return builder.build()
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RNNetmeraCategoryObject.swift
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import NetmeraCore
|
|
6
|
-
import NetmeraNotification
|
|
7
|
-
import NetmeraNotificationInbox
|
|
8
|
-
|
|
9
|
-
@objc(RNNetmeraCategoryObject)
|
|
10
|
-
public class RNNetmeraCategoryObject: NSObject {
|
|
11
|
-
|
|
12
|
-
// MARK: - Map category objects to array of dictionaries
|
|
13
|
-
static func mapCategoryObjects(_ categoryObjects: [NetmeraInboxCategoryObject]) -> [[String: Any]] {
|
|
14
|
-
var categoryObjectList: [[String: Any]] = []
|
|
15
|
-
for categoryObject in categoryObjects {
|
|
16
|
-
categoryObjectList.append(getCategoryObjectMap(categoryObject))
|
|
17
|
-
}
|
|
18
|
-
return categoryObjectList
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// MARK: - Convert single category object to dictionary
|
|
22
|
-
static func getCategoryObjectMap(_ categoryObject: NetmeraInboxCategoryObject) -> [String: Any] {
|
|
23
|
-
var data: [String: Any] = [:]
|
|
24
|
-
|
|
25
|
-
data["categoryName"] = categoryObject.categoryName
|
|
26
|
-
data["readCount"] = categoryObject.statusCounts[.read] ?? 0
|
|
27
|
-
data["unreadCount"] = categoryObject.statusCounts[.unread] ?? 0
|
|
28
|
-
data["deletedCount"] = categoryObject.statusCounts[.deleted] ?? 0
|
|
29
|
-
|
|
30
|
-
if let lastMessage = categoryObject.lastMessage {
|
|
31
|
-
let lastMsg = RNNetmeraUtils.shared.dictionaryFromInboxPush(lastMessage)
|
|
32
|
-
if let jsonData = try? JSONSerialization.data(withJSONObject: lastMsg, options: []),
|
|
33
|
-
let jsonStr = String(data: jsonData, encoding: .utf8) {
|
|
34
|
-
data["lastMessage"] = jsonStr
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return data
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
static func getCategoryFilter(_ inboxDictionary: [String: Any]) -> NetmeraInboxCategoryFilter {
|
|
42
|
-
let status: NetmeraInboxStatus
|
|
43
|
-
if let statusRaw = inboxDictionary["status"] as? Int {
|
|
44
|
-
status = NetmeraInboxStatus(rawValue: statusRaw)
|
|
45
|
-
} else {
|
|
46
|
-
status = .default
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
let pageSize = inboxDictionary["pageSize"] as? Int ?? 10
|
|
50
|
-
|
|
51
|
-
let shouldIncludeExpiredObjects = inboxDictionary["includeExpiredObjects"] as? Bool ?? false
|
|
52
|
-
|
|
53
|
-
let filter = NetmeraInboxCategoryFilter(
|
|
54
|
-
status: status,
|
|
55
|
-
pageSize: pageSize,
|
|
56
|
-
shouldIncludeExpiredObjects: shouldIncludeExpiredObjects
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
return filter
|
|
60
|
-
}
|
|
61
|
-
}
|