react-native-netmera 1.11.3 → 2.0.0-alpha02

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.
Files changed (280) hide show
  1. package/README.md +109 -120
  2. package/RNNetmera.podspec +31 -14
  3. package/android/build.gradle +83 -19
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +0 -5
  6. package/android/src/main/AndroidManifestNew.xml +5 -0
  7. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmera.kt +24 -0
  8. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraCategoryObject.kt +54 -0
  9. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraConfiguration.kt +108 -0
  10. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraEvent.kt +24 -0
  11. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraModule.kt +694 -0
  12. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPackage.kt +17 -0
  13. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPushBroadcastReceiver.kt +81 -0
  14. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPushHeadlessService.kt +32 -0
  15. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraUtil.kt +218 -0
  16. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraWebWidgetCallbacks.kt +25 -0
  17. package/ios/AnyCodable/AnyCodable.swift +151 -0
  18. package/ios/AnyCodable/AnyDecodable.swift +192 -0
  19. package/ios/AnyCodable/AnyEncodable.swift +295 -0
  20. package/ios/RNNetmera-Bridging-Header.h +3 -0
  21. package/ios/RNNetmera.h +9 -29
  22. package/ios/RNNetmera.mm +143 -0
  23. package/ios/RNNetmera.swift +759 -0
  24. package/ios/RNNetmeraCategoryObject.swift +61 -0
  25. package/ios/RNNetmeraEvent.swift +26 -0
  26. package/ios/RNNetmeraPushLifecycleDelegate.swift +47 -0
  27. package/ios/RNNetmeraRCTEventEmitter.mm +8 -0
  28. package/ios/RNNetmeraRCTEventEmitter.swift +134 -0
  29. package/ios/RNNetmeraUtils.swift +233 -0
  30. package/lib/module/Netmera.js +256 -0
  31. package/lib/module/Netmera.js.map +1 -0
  32. package/lib/module/events/NetmeraEvent.js +8 -0
  33. package/lib/module/events/NetmeraEvent.js.map +1 -0
  34. package/lib/module/events/NetmeraEventBannerOpen.js +13 -0
  35. package/lib/module/events/NetmeraEventBannerOpen.js.map +1 -0
  36. package/lib/module/events/NetmeraEventBatteryLevel.js +10 -0
  37. package/lib/module/events/NetmeraEventBatteryLevel.js.map +1 -0
  38. package/lib/module/events/NetmeraEventCategoryView.js +13 -0
  39. package/lib/module/events/NetmeraEventCategoryView.js.map +1 -0
  40. package/lib/module/events/NetmeraEventInAppPurchase.js +28 -0
  41. package/lib/module/events/NetmeraEventInAppPurchase.js.map +1 -0
  42. package/lib/module/events/NetmeraEventLogin.js +10 -0
  43. package/lib/module/events/NetmeraEventLogin.js.map +1 -0
  44. package/lib/module/events/NetmeraEventRegister.js +10 -0
  45. package/lib/module/events/NetmeraEventRegister.js.map +1 -0
  46. package/lib/module/events/NetmeraEventScreenView.js +22 -0
  47. package/lib/module/events/NetmeraEventScreenView.js.map +1 -0
  48. package/lib/module/events/NetmeraEventSearch.js +13 -0
  49. package/lib/module/events/NetmeraEventSearch.js.map +1 -0
  50. package/lib/module/events/NetmeraEventShare.js +13 -0
  51. package/lib/module/events/NetmeraEventShare.js.map +1 -0
  52. package/lib/module/events/commerce/NetmeraEventCartAddProduct.js +13 -0
  53. package/lib/module/events/commerce/NetmeraEventCartAddProduct.js.map +1 -0
  54. package/lib/module/events/commerce/NetmeraEventCartRemoveProduct.js +10 -0
  55. package/lib/module/events/commerce/NetmeraEventCartRemoveProduct.js.map +1 -0
  56. package/lib/module/events/commerce/NetmeraEventCartView.js +13 -0
  57. package/lib/module/events/commerce/NetmeraEventCartView.js.map +1 -0
  58. package/lib/module/events/commerce/NetmeraEventOrderCancel.js +19 -0
  59. package/lib/module/events/commerce/NetmeraEventOrderCancel.js.map +1 -0
  60. package/lib/module/events/commerce/NetmeraEventProductComment.js +7 -0
  61. package/lib/module/events/commerce/NetmeraEventProductComment.js.map +1 -0
  62. package/lib/module/events/commerce/NetmeraEventProductRate.js +10 -0
  63. package/lib/module/events/commerce/NetmeraEventProductRate.js.map +1 -0
  64. package/lib/module/events/commerce/NetmeraEventProductView.js +7 -0
  65. package/lib/module/events/commerce/NetmeraEventProductView.js.map +1 -0
  66. package/lib/module/events/commerce/NetmeraEventPurchase.js +34 -0
  67. package/lib/module/events/commerce/NetmeraEventPurchase.js.map +1 -0
  68. package/lib/module/events/commerce/NetmeraEventWishList.js +7 -0
  69. package/lib/module/events/commerce/NetmeraEventWishList.js.map +1 -0
  70. package/lib/module/events/commerce/NetmeraLineItem.js +9 -0
  71. package/lib/module/events/commerce/NetmeraLineItem.js.map +1 -0
  72. package/lib/module/events/commerce/NetmeraProduct.js +46 -0
  73. package/lib/module/events/commerce/NetmeraProduct.js.map +1 -0
  74. package/lib/module/events/media/NetmeraEventContent.js +42 -0
  75. package/lib/module/events/media/NetmeraEventContent.js.map +1 -0
  76. package/lib/module/events/media/NetmeraEventContentComment.js +7 -0
  77. package/lib/module/events/media/NetmeraEventContentComment.js.map +1 -0
  78. package/lib/module/events/media/NetmeraEventContentRate.js +10 -0
  79. package/lib/module/events/media/NetmeraEventContentRate.js.map +1 -0
  80. package/lib/module/events/media/NetmeraEventContentView.js +7 -0
  81. package/lib/module/events/media/NetmeraEventContentView.js.map +1 -0
  82. package/lib/module/index.js +43 -0
  83. package/lib/module/index.js.map +1 -0
  84. package/lib/module/models/NMCategoryPreference.js +8 -0
  85. package/lib/module/models/NMCategoryPreference.js.map +1 -0
  86. package/lib/module/models/NMInboxStatus.js +11 -0
  87. package/lib/module/models/NMInboxStatus.js.map +1 -0
  88. package/lib/module/models/NMInboxStatusCountFilter.js +12 -0
  89. package/lib/module/models/NMInboxStatusCountFilter.js.map +1 -0
  90. package/lib/module/models/NetmeraCategory.js +8 -0
  91. package/lib/module/models/NetmeraCategory.js.map +1 -0
  92. package/lib/module/models/NetmeraCategoryFilter.js +8 -0
  93. package/lib/module/models/NetmeraCategoryFilter.js.map +1 -0
  94. package/lib/module/models/NetmeraCouponObject.js +8 -0
  95. package/lib/module/models/NetmeraCouponObject.js.map +1 -0
  96. package/lib/module/models/NetmeraInbox.js +8 -0
  97. package/lib/module/models/NetmeraInbox.js.map +1 -0
  98. package/lib/module/models/NetmeraInboxFilter.js +8 -0
  99. package/lib/module/models/NetmeraInboxFilter.js.map +1 -0
  100. package/lib/module/models/NetmeraProfileAttribute.js +75 -0
  101. package/lib/module/models/NetmeraProfileAttribute.js.map +1 -0
  102. package/lib/module/models/NetmeraUser.js +89 -0
  103. package/lib/module/models/NetmeraUser.js.map +1 -0
  104. package/lib/module/models/NetmeraUserProfile.js +58 -0
  105. package/lib/module/models/NetmeraUserProfile.js.map +1 -0
  106. package/lib/module/models/NotificationPermissionStatus.js +10 -0
  107. package/lib/module/models/NotificationPermissionStatus.js.map +1 -0
  108. package/lib/module/package.json +1 -0
  109. package/lib/module/utils/DeviceUtils.js +10 -0
  110. package/lib/module/utils/DeviceUtils.js.map +1 -0
  111. package/lib/module/utils/Optional.js +32 -0
  112. package/lib/module/utils/Optional.js.map +1 -0
  113. package/lib/module/utils/RNNetmera.js +16 -0
  114. package/lib/module/utils/RNNetmera.js.map +1 -0
  115. package/lib/typescript/package.json +1 -0
  116. package/lib/typescript/src/Netmera.d.ts +70 -0
  117. package/lib/typescript/src/Netmera.d.ts.map +1 -0
  118. package/lib/typescript/src/events/NetmeraEvent.d.ts +5 -0
  119. package/lib/typescript/src/events/NetmeraEvent.d.ts.map +1 -0
  120. package/lib/typescript/src/events/NetmeraEventBannerOpen.d.ts +9 -0
  121. package/lib/typescript/src/events/NetmeraEventBannerOpen.d.ts.map +1 -0
  122. package/lib/typescript/src/events/NetmeraEventBatteryLevel.d.ts +7 -0
  123. package/lib/typescript/src/events/NetmeraEventBatteryLevel.d.ts.map +1 -0
  124. package/lib/typescript/src/events/NetmeraEventCategoryView.d.ts +9 -0
  125. package/lib/typescript/src/events/NetmeraEventCategoryView.d.ts.map +1 -0
  126. package/lib/typescript/src/events/NetmeraEventInAppPurchase.d.ts +19 -0
  127. package/lib/typescript/src/events/NetmeraEventInAppPurchase.d.ts.map +1 -0
  128. package/lib/typescript/src/events/NetmeraEventLogin.d.ts +7 -0
  129. package/lib/typescript/src/events/NetmeraEventLogin.d.ts.map +1 -0
  130. package/lib/typescript/src/events/NetmeraEventRegister.d.ts +7 -0
  131. package/lib/typescript/src/events/NetmeraEventRegister.d.ts.map +1 -0
  132. package/lib/typescript/src/events/NetmeraEventScreenView.d.ts +15 -0
  133. package/lib/typescript/src/events/NetmeraEventScreenView.d.ts.map +1 -0
  134. package/lib/typescript/src/events/NetmeraEventSearch.d.ts +9 -0
  135. package/lib/typescript/src/events/NetmeraEventSearch.d.ts.map +1 -0
  136. package/lib/typescript/src/events/NetmeraEventShare.d.ts +9 -0
  137. package/lib/typescript/src/events/NetmeraEventShare.d.ts.map +1 -0
  138. package/lib/typescript/src/events/commerce/NetmeraEventCartAddProduct.d.ts +9 -0
  139. package/lib/typescript/src/events/commerce/NetmeraEventCartAddProduct.d.ts.map +1 -0
  140. package/lib/typescript/src/events/commerce/NetmeraEventCartRemoveProduct.d.ts +7 -0
  141. package/lib/typescript/src/events/commerce/NetmeraEventCartRemoveProduct.d.ts.map +1 -0
  142. package/lib/typescript/src/events/commerce/NetmeraEventCartView.d.ts +9 -0
  143. package/lib/typescript/src/events/commerce/NetmeraEventCartView.d.ts.map +1 -0
  144. package/lib/typescript/src/events/commerce/NetmeraEventOrderCancel.d.ts +13 -0
  145. package/lib/typescript/src/events/commerce/NetmeraEventOrderCancel.d.ts.map +1 -0
  146. package/lib/typescript/src/events/commerce/NetmeraEventProductComment.d.ts +5 -0
  147. package/lib/typescript/src/events/commerce/NetmeraEventProductComment.d.ts.map +1 -0
  148. package/lib/typescript/src/events/commerce/NetmeraEventProductRate.d.ts +7 -0
  149. package/lib/typescript/src/events/commerce/NetmeraEventProductRate.d.ts.map +1 -0
  150. package/lib/typescript/src/events/commerce/NetmeraEventProductView.d.ts +5 -0
  151. package/lib/typescript/src/events/commerce/NetmeraEventProductView.d.ts.map +1 -0
  152. package/lib/typescript/src/events/commerce/NetmeraEventPurchase.d.ts +24 -0
  153. package/lib/typescript/src/events/commerce/NetmeraEventPurchase.d.ts.map +1 -0
  154. package/lib/typescript/src/events/commerce/NetmeraEventWishList.d.ts +5 -0
  155. package/lib/typescript/src/events/commerce/NetmeraEventWishList.d.ts.map +1 -0
  156. package/lib/typescript/src/events/commerce/NetmeraLineItem.d.ts +6 -0
  157. package/lib/typescript/src/events/commerce/NetmeraLineItem.d.ts.map +1 -0
  158. package/lib/typescript/src/events/commerce/NetmeraProduct.d.ts +23 -0
  159. package/lib/typescript/src/events/commerce/NetmeraProduct.d.ts.map +1 -0
  160. package/lib/typescript/src/events/media/NetmeraEventContent.d.ts +23 -0
  161. package/lib/typescript/src/events/media/NetmeraEventContent.d.ts.map +1 -0
  162. package/lib/typescript/src/events/media/NetmeraEventContentComment.d.ts +5 -0
  163. package/lib/typescript/src/events/media/NetmeraEventContentComment.d.ts.map +1 -0
  164. package/lib/typescript/src/events/media/NetmeraEventContentRate.d.ts +7 -0
  165. package/lib/typescript/src/events/media/NetmeraEventContentRate.d.ts.map +1 -0
  166. package/lib/typescript/src/events/media/NetmeraEventContentView.d.ts +5 -0
  167. package/lib/typescript/src/events/media/NetmeraEventContentView.d.ts.map +1 -0
  168. package/lib/typescript/src/index.d.ts +39 -0
  169. package/lib/typescript/src/index.d.ts.map +1 -0
  170. package/lib/typescript/src/models/NMCategoryPreference.d.ts +6 -0
  171. package/lib/typescript/src/models/NMCategoryPreference.d.ts.map +1 -0
  172. package/lib/typescript/src/models/NMInboxStatus.d.ts +8 -0
  173. package/lib/typescript/src/models/NMInboxStatus.d.ts.map +1 -0
  174. package/lib/typescript/src/models/NMInboxStatusCountFilter.d.ts +7 -0
  175. package/lib/typescript/src/models/NMInboxStatusCountFilter.d.ts.map +1 -0
  176. package/lib/typescript/src/models/NetmeraCategory.d.ts +10 -0
  177. package/lib/typescript/src/models/NetmeraCategory.d.ts.map +1 -0
  178. package/lib/typescript/src/models/NetmeraCategoryFilter.d.ts +6 -0
  179. package/lib/typescript/src/models/NetmeraCategoryFilter.d.ts.map +1 -0
  180. package/lib/typescript/src/models/NetmeraCouponObject.d.ts +8 -0
  181. package/lib/typescript/src/models/NetmeraCouponObject.d.ts.map +1 -0
  182. package/lib/typescript/src/models/NetmeraInbox.d.ts +22 -0
  183. package/lib/typescript/src/models/NetmeraInbox.d.ts.map +1 -0
  184. package/lib/typescript/src/models/NetmeraInboxFilter.d.ts +7 -0
  185. package/lib/typescript/src/models/NetmeraInboxFilter.d.ts.map +1 -0
  186. package/lib/typescript/src/models/NetmeraProfileAttribute.d.ts +33 -0
  187. package/lib/typescript/src/models/NetmeraProfileAttribute.d.ts.map +1 -0
  188. package/lib/typescript/src/models/NetmeraUser.d.ts +25 -0
  189. package/lib/typescript/src/models/NetmeraUser.d.ts.map +1 -0
  190. package/lib/typescript/src/models/NetmeraUserProfile.d.ts +21 -0
  191. package/lib/typescript/src/models/NetmeraUserProfile.d.ts.map +1 -0
  192. package/lib/typescript/src/models/NotificationPermissionStatus.d.ts +7 -0
  193. package/lib/typescript/src/models/NotificationPermissionStatus.d.ts.map +1 -0
  194. package/lib/typescript/src/utils/DeviceUtils.d.ts +3 -0
  195. package/lib/typescript/src/utils/DeviceUtils.d.ts.map +1 -0
  196. package/lib/typescript/src/utils/Optional.d.ts +15 -0
  197. package/lib/typescript/src/utils/Optional.d.ts.map +1 -0
  198. package/lib/typescript/src/utils/RNNetmera.d.ts +5 -0
  199. package/lib/typescript/src/utils/RNNetmera.d.ts.map +1 -0
  200. package/package.json +104 -17
  201. package/src/Netmera.ts +139 -88
  202. package/src/events/NetmeraEvent.ts +1 -1
  203. package/src/events/NetmeraEventBannerOpen.ts +4 -4
  204. package/src/events/NetmeraEventBatteryLevel.ts +3 -3
  205. package/src/events/NetmeraEventCategoryView.ts +4 -4
  206. package/src/events/NetmeraEventInAppPurchase.ts +10 -10
  207. package/src/events/NetmeraEventLogin.ts +3 -3
  208. package/src/events/NetmeraEventRegister.ts +3 -3
  209. package/src/events/NetmeraEventScreenView.ts +7 -7
  210. package/src/events/NetmeraEventSearch.ts +4 -4
  211. package/src/events/NetmeraEventShare.ts +4 -4
  212. package/src/events/commerce/NetmeraEventCartAddProduct.ts +4 -4
  213. package/src/events/commerce/NetmeraEventCartRemoveProduct.ts +3 -3
  214. package/src/events/commerce/NetmeraEventCartView.ts +4 -4
  215. package/src/events/commerce/NetmeraEventOrderCancel.ts +6 -6
  216. package/src/events/commerce/NetmeraEventProductComment.ts +2 -2
  217. package/src/events/commerce/NetmeraEventProductRate.ts +3 -3
  218. package/src/events/commerce/NetmeraEventProductView.ts +2 -2
  219. package/src/events/commerce/NetmeraEventPurchase.ts +13 -13
  220. package/src/events/commerce/NetmeraEventWishList.ts +2 -2
  221. package/src/events/commerce/NetmeraLineItem.ts +2 -2
  222. package/src/events/commerce/NetmeraProduct.ts +10 -10
  223. package/src/events/media/NetmeraEventContent.ts +8 -8
  224. package/src/events/media/NetmeraEventContentComment.ts +2 -2
  225. package/src/events/media/NetmeraEventContentRate.ts +3 -3
  226. package/src/events/media/NetmeraEventContentView.ts +2 -2
  227. package/src/index.ts +87 -0
  228. package/src/models/NMCategoryPreference.ts +1 -1
  229. package/src/models/NMInboxStatusCountFilter.ts +1 -1
  230. package/src/models/NetmeraCategory.ts +2 -2
  231. package/src/models/NetmeraCategoryFilter.ts +1 -1
  232. package/src/models/NetmeraCouponObject.ts +1 -1
  233. package/src/models/NetmeraInbox.ts +1 -1
  234. package/src/models/NetmeraInboxFilter.ts +1 -1
  235. package/src/models/NetmeraProfileAttribute.ts +81 -0
  236. package/src/models/NetmeraUser.ts +76 -74
  237. package/src/models/NetmeraUserProfile.ts +67 -0
  238. package/src/models/NotificationPermissionStatus.ts +4 -4
  239. package/src/utils/DeviceUtils.ts +3 -3
  240. package/src/utils/Optional.ts +31 -0
  241. package/src/utils/RNNetmera.ts +24 -0
  242. package/.eslintignore +0 -7
  243. package/.gitattributes +0 -1
  244. package/.github/workflows/code_quality_check.yaml +0 -38
  245. package/.prettierignore +0 -14
  246. package/.yarnrc.yml +0 -1
  247. package/android/.project +0 -17
  248. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  249. package/android/gradle/wrapper/gradle-wrapper.properties +0 -6
  250. package/android/gradlew +0 -172
  251. package/android/gradlew.bat +0 -84
  252. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmera.java +0 -24
  253. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraCategoryObject.java +0 -56
  254. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraConfiguration.java +0 -154
  255. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraEvent.java +0 -36
  256. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraModule.java +0 -631
  257. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPackage.java +0 -35
  258. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPushBroadcastReceiver.java +0 -86
  259. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraPushHeadlessService.java +0 -32
  260. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraUser.java +0 -24
  261. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraUtil.java +0 -354
  262. package/android/src/main/java/com/netmera/reactnativesdk/RNNetmeraWebWidgetCallbacks.java +0 -27
  263. package/index.ts +0 -80
  264. package/ios/RNNetmera.m +0 -507
  265. package/ios/RNNetmera.xcodeproj/project.pbxproj +0 -316
  266. package/ios/RNNetmera.xcodeproj/xcshareddata/xcschemes/RNNetmera.xcscheme +0 -67
  267. package/ios/RNNetmera.xcworkspace/contents.xcworkspacedata +0 -9
  268. package/ios/RNNetmeraCategoryObject.h +0 -16
  269. package/ios/RNNetmeraCategoryObject.m +0 -59
  270. package/ios/RNNetmeraEvent.h +0 -17
  271. package/ios/RNNetmeraEvent.m +0 -27
  272. package/ios/RNNetmeraRCTEventEmitter.h +0 -23
  273. package/ios/RNNetmeraRCTEventEmitter.m +0 -142
  274. package/ios/RNNetmeraUser.h +0 -15
  275. package/ios/RNNetmeraUser.m +0 -19
  276. package/ios/RNNetmeraUtils.h +0 -27
  277. package/ios/RNNetmeraUtils.m +0 -128
  278. package/scripts/update-version.js +0 -38
  279. package/scripts/yarn_rebuild.sh +0 -31
  280. package/tsconfig.json +0 -3
package/ios/RNNetmera.m DELETED
@@ -1,507 +0,0 @@
1
- //
2
- // RNNetmera.m
3
- //
4
- // Created by Initial Code
5
- // Copyright © 2019 Netmera. All rights reserved.
6
- //
7
-
8
- #import "RNNetmera.h"
9
- #import "RNNetmeraEvent.h"
10
- #import "RNNetmeraUser.h"
11
- #import "RNNetmeraUtils.h"
12
- #import "RNNetmeraCategoryObject.h"
13
- #import <Netmera/Netmera.h>
14
- #import <RNNetmera/RNNetmeraRCTEventEmitter.h>
15
-
16
- NSString *const ERROR_CODE_INBOX = @"2016";
17
- NSString *const ERROR_MESSAGE_INBOX = @"There was a problem fetching inbox";
18
- NSString *const ERROR_CODE_NOT_NEXT_PAGE = @"2018";
19
- NSString *const ERROR_MESSAGE_NOT_NEXT_PAGE = @"Not next page";
20
- NSString *const ERROR_CODE_UPDATE_STATUS = @"2019";
21
- NSString *const ERROR_MESSAGE_UPDATE_STATUS = @"There was a problem updating status";
22
- NSString *const ERROR_CODE_NULL_CATEGORY = @"2020";
23
- NSString *const ERROR_MESSAGE_NULL_CATEGORY = @"Must call fetchCategory method first";
24
- NSString *const ERROR_CODE_INVALID_PUSH_OBJECT = @"2021";
25
- NSString *const ERROR_MESSAGE_INVALID_PUSH_OBJECT = @"Received NetmeraPushObject was not valid.";
26
- NSString *const ERROR_CODE_NULL_INBOX_STATUS = @"2022";
27
- NSString *const ERROR_MESSAGE_NULL_INBOX_STATUS = @"Inbox status can't be null.";
28
- NSString *const ERROR_CODE_INBOX_STATUS = @"2023";
29
- NSString *const ERROR_MESSAGE_INBOX_STATUS = @"Error occurred while fetching inbox count for status";
30
- NSString *const ERROR_CODE_GET_CATEGORY_PREFERENCE = @"2024";
31
- NSString *const ERROR_MESSAGE_GET_CATEGORY_PREFERENCE = @"Error occurred while fetching user category preference list.";
32
- NSString *const ERROR_CODE_SET_CATEGORY_PREFERENCE = @"2025";
33
- NSString *const ERROR_MESSAGE_SET_CATEGORY_PREFERENCE = @"Error occurred while setting user category preference list.";
34
- NSString *const ERROR_CODE_COUPON_FETCH = @"2026";
35
- NSString *const ERROR_MESSAGE_COUPON_FETCH = @"Error occurred while fetching coupons.";
36
- NSString *const ERROR_CODE_UPDATE_USER = @"2027";
37
- NSString *const ERROR_MESSAGE_UPDATE_USER = @"Error occurred while updating user. Reason: ";
38
-
39
- @implementation RNNetmera
40
-
41
- - (instancetype)init {
42
- return self;
43
- }
44
-
45
- + (void)initNetmera:(NSString *)apiKey {
46
- [Netmera start];
47
- [Netmera setAPIKey:apiKey];
48
- [self setNetmeraHeaders];
49
- [Netmera setDeeplinkCallback:^(NSURL * _Nullable url, NetmeraPushObject * _Nullable pushObject) {
50
- if (url != nil) {
51
- [RNNetmeraRCTEventEmitter onDeeplinkTriggered:url];
52
- }
53
- }];
54
- }
55
-
56
- + (void)setNetmeraHeaders {
57
- [Netmera setFramework:@"react"];
58
- [Netmera setFrameworkVersion:@"1.11.3"];
59
- }
60
-
61
- + (void)setPushDelegate:(NSObject<NetmeraPushDelegate> *)delegate {
62
- [Netmera setPushDelegate:delegate];
63
- }
64
-
65
- + (void)requestPushNotificationAuthorization {
66
- [Netmera requestPushNotificationAuthorizationForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound];
67
- }
68
-
69
- + (BOOL)requiresMainQueueSetup {
70
- return NO;
71
- }
72
-
73
- + (void)logging: (BOOL) enabled {
74
- if(enabled){
75
- [Netmera setLogLevel:(NetmeraLogLevelDebug)];
76
- }else{
77
- [Netmera setLogLevel:(NetmeraLogLevelNone)];
78
- }
79
- }
80
-
81
- - (dispatch_queue_t)methodQueue {
82
- return dispatch_get_main_queue();
83
- }
84
-
85
- RCT_EXPORT_MODULE()
86
-
87
- RCT_EXPORT_METHOD(currentExternalId:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
88
- resolve([Netmera getCurrentExternalId]);
89
- }
90
-
91
- RCT_EXPORT_METHOD(logging:(BOOL *)enabled) {
92
- [RNNetmera logging:enabled];
93
- }
94
-
95
- RCT_EXPORT_METHOD(setBaseUrl:(NSString *)baseUrl) {
96
- [Netmera setBaseURL:baseUrl];
97
- }
98
-
99
- RCT_EXPORT_METHOD(requestPushNotificationAuthorization) {
100
- [Netmera requestPushNotificationAuthorizationForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound];
101
- }
102
-
103
- RCT_EXPORT_METHOD(areNotificationsEnabled:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
104
- resolve(@([Netmera isEnabledReceivingPushNotifications]));
105
- }
106
-
107
- RCT_EXPORT_METHOD(checkNotificationPermission:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
108
- resolve([@([Netmera checkNotificationPermission]) stringValue]);
109
- }
110
-
111
- RCT_EXPORT_METHOD(requestPermissionsForLocation) {
112
- [Netmera requestLocationAuthorization];
113
- }
114
-
115
- RCT_EXPORT_METHOD(setNetmeraMaxActiveRegions :(NSInteger)maxActiveRegions) {
116
- [Netmera setNetmeraMaxActiveRegions:maxActiveRegions];
117
- }
118
-
119
- RCT_EXPORT_METHOD(enablePopupPresentation) {
120
- [Netmera setEnabledPopupPresentation:true];
121
- }
122
-
123
- RCT_EXPORT_METHOD(disablePopupPresentation) {
124
- [Netmera setEnabledPopupPresentation:false];
125
- }
126
-
127
- RCT_EXPORT_METHOD(isPushEnabled:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
128
- resolve(@([Netmera isEnabledReceivingPushNotifications]));
129
- }
130
-
131
- RCT_EXPORT_METHOD(enablePush) {
132
- [Netmera setEnabledReceivingPushNotifications:true];
133
- }
134
-
135
- RCT_EXPORT_METHOD(disablePush) {
136
- [Netmera setEnabledReceivingPushNotifications:false];
137
- }
138
-
139
- RCT_EXPORT_METHOD(startDataTransfer) {
140
- [Netmera startDataTransfer];
141
- }
142
-
143
- RCT_EXPORT_METHOD(stopDataTransfer) {
144
- [Netmera stopDataTransfer];
145
- }
146
-
147
- RCT_EXPORT_METHOD(kill) {
148
- [Netmera kill];
149
- }
150
-
151
- RCT_EXPORT_METHOD(fetchCoupons:(int)page
152
- max: (int)max
153
- resolver: (RCTPromiseResolveBlock)resolve
154
- rejecter:(RCTPromiseRejectBlock)reject) {
155
- NetmeraCouponFilter *filter = [[NetmeraCouponFilter alloc] init];
156
-
157
- filter.page = page;
158
- filter.max = max;
159
-
160
- [Netmera fetchCouponUsingFilter:filter completion:^(NSArray<NetmeraCouponObject *> *coupons, NSError *error) {
161
- if (error) {
162
- reject(ERROR_CODE_COUPON_FETCH, ERROR_MESSAGE_COUPON_FETCH, nil);
163
- } else {
164
- NSMutableArray *array = [[NSMutableArray alloc]init];
165
- for(NetmeraCouponObject *object in coupons){
166
- [array addObject:[[RNNetmeraUtils shared] dictionaryFromCouponObject:object]];
167
- }
168
- resolve(array);
169
- }
170
- }];
171
- }
172
-
173
- RCT_EXPORT_METHOD(fetchInbox:(NSDictionary *)inboxDictionary
174
- resolver: (RCTPromiseResolveBlock)resolve
175
- rejecter:(RCTPromiseRejectBlock)reject) {
176
- NetmeraInboxFilter *filter = [[NetmeraInboxFilter alloc] init];
177
-
178
- if(inboxDictionary[@"status"]){
179
- NetmeraInboxStatus netmeraInboxStatus =[inboxDictionary[@"status"] integerValue];
180
- filter.status = netmeraInboxStatus;
181
- }
182
-
183
- if(inboxDictionary[@"pageSize"]){
184
- filter.pageSize = [inboxDictionary[@"pageSize"] integerValue];
185
- }
186
-
187
- if(inboxDictionary[@"includeExpiredObjects"]){
188
- filter.shouldIncludeExpiredObjects = [inboxDictionary[@"includeExpiredObjects"] boolValue];
189
- }
190
-
191
- if(inboxDictionary[@"categories"]){
192
- filter.categories = inboxDictionary[@"categories"];
193
- }
194
-
195
- [Netmera fetchInboxUsingFilter:filter
196
- completion:^(NetmeraInbox *inbox, NSError *error) {
197
- if(error) {
198
- reject(ERROR_CODE_INBOX, ERROR_MESSAGE_INBOX, nil);
199
- }else{
200
- self.netmeraInbox = inbox;
201
- NSMutableArray *array = [[NSMutableArray alloc]init];
202
- for(NetmeraPushObject *object in self.netmeraInbox.objects){
203
- [array addObject:[[RNNetmeraUtils shared] dictionaryFromPushObject:object]];
204
- }
205
- resolve(array);
206
- }
207
- }];
208
- }
209
-
210
- RCT_REMAP_METHOD(fetchNextPage, resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
211
- [self.netmeraInbox fetchNextPageWithCompletionBlock:^(NSError *error) {
212
- if(error) {
213
- reject(ERROR_CODE_NOT_NEXT_PAGE, ERROR_MESSAGE_NOT_NEXT_PAGE, nil);
214
- }else{
215
- NSMutableArray *array = [[NSMutableArray alloc]init];
216
- for(NetmeraPushObject *object in self.netmeraInbox.objects){
217
- [array addObject:[[RNNetmeraUtils shared] dictionaryFromPushObject:object]];
218
- }
219
- resolve(array);
220
- }
221
- }];
222
- }
223
-
224
- RCT_EXPORT_METHOD(countForStatus:(NSInteger *)status
225
- resolver: (RCTPromiseResolveBlock)resolve
226
- rejecter:(RCTPromiseRejectBlock)reject) {
227
- NetmeraInboxStatus netmeraInboxStatus = status;
228
- NSInteger numOfReadOrUnread = [self.netmeraInbox countForStatus:netmeraInboxStatus];
229
- resolve([@(numOfReadOrUnread) stringValue]);
230
- }
231
-
232
- RCT_EXPORT_METHOD(inboxUpdateStatus:(NSInteger)fromIndex
233
- toIndex:(NSInteger)toIndex
234
- status:(NSInteger)status
235
- resolver: (RCTPromiseResolveBlock)resolve
236
- rejecter:(RCTPromiseRejectBlock)reject) {
237
- @try {
238
- NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(fromIndex, toIndex-fromIndex)];
239
- NetmeraInboxStatus netmeraInboxStatus = status;
240
- NSArray *pushObjects = [self.netmeraInbox.objects objectsAtIndexes:set];
241
- [self.netmeraInbox updateStatus:netmeraInboxStatus
242
- forPushObjects:pushObjects
243
- completion:^(NSError *error) {
244
- if(error) {
245
- reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
246
- }else{
247
- resolve(nil);
248
- }
249
- }];
250
-
251
- } @catch (NSException *exception) {
252
- reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
253
- }
254
- }
255
-
256
- RCT_EXPORT_METHOD(fetchCategory:(NSDictionary *)inboxDictionary
257
- resolver: (RCTPromiseResolveBlock)resolve
258
- rejecter:(RCTPromiseRejectBlock)reject) {
259
- NetmeraInboxCategoryFilter *filter = [RNNetmeraCategoryObject getCategoryObject: inboxDictionary];
260
-
261
- [Netmera fetchInboxCategoryUsingFilter:filter completion:^(NetmeraInboxCategory *inbox, NSError *error) {
262
- [self setCategory:inbox error:error resolver:resolve rejecter:reject];
263
- }];
264
- }
265
-
266
- RCT_EXPORT_METHOD(fetchNextCategoryPage: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
267
- if (self.netmeraInboxCategory == nil) {
268
- reject(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY, nil);
269
- }
270
-
271
- [self.netmeraInboxCategory fetchNextPageWithCompletionBlock:^(NSError * _Nonnull error) {
272
- [self setCategory:self.netmeraInboxCategory error:error resolver:resolve rejecter:reject];
273
- }];
274
- }
275
-
276
- RCT_EXPORT_METHOD(sendEvent:(NSDictionary *)eventDictionary) {
277
- NSMutableDictionary *mutableEventDictionary = [eventDictionary mutableCopy];
278
- RNNetmeraEvent *event = [RNNetmeraEvent event];
279
- event.netmeraEventKey = mutableEventDictionary[@"code"];
280
- [mutableEventDictionary removeObjectForKey:@"code"];
281
-
282
- if (mutableEventDictionary[@"revenue"] != nil) {
283
- event.revenue = [mutableEventDictionary[@"revenue"] doubleValue];
284
- [mutableEventDictionary removeObjectForKey:@"revenue"];
285
- }
286
-
287
- event.eventParameters = mutableEventDictionary;
288
- [Netmera sendEvent:event];
289
- }
290
-
291
- RCT_EXPORT_METHOD(updateUser:(NSDictionary *)userDictionary
292
- resolver: (RCTPromiseResolveBlock)resolve
293
- rejecter:(RCTPromiseRejectBlock)reject) {
294
- NSMutableDictionary *userMutableDictionary = [userDictionary mutableCopy];
295
- NSArray *keysForNullValues = [userMutableDictionary allKeysForObject:[NSNull null]];
296
- [userMutableDictionary removeObjectsForKeys:keysForNullValues];
297
-
298
- RNNetmeraUser *user = [[RNNetmeraUser alloc] init];
299
- user.userId=[userMutableDictionary objectForKey:@"userId"];
300
- user.MSISDN=[userMutableDictionary objectForKey:@"msisdn"];
301
- user.email=[userMutableDictionary objectForKey:@"email"];
302
- [userMutableDictionary removeObjectForKey:@"userId"];
303
- [userMutableDictionary removeObjectForKey:@"email"];
304
- [userMutableDictionary removeObjectForKey:@"msisdn"];
305
-
306
- user.userParameters = userMutableDictionary;
307
- [Netmera updateUser:user completion:^(BOOL isSuccess, NSError * _Nullable error) {
308
- if (error != nil) {
309
- NSString* errorMessage;
310
- if (error.userInfo[@"com.netmera.response.object"]) {
311
- NSDictionary *errorData = error.userInfo[@"com.netmera.response.object"];
312
- errorMessage = errorData[@"error"];
313
- } else {
314
- errorMessage = nil;
315
- }
316
- reject(ERROR_CODE_UPDATE_USER, [NSString stringWithFormat:@"%@%@", ERROR_MESSAGE_UPDATE_USER, errorMessage], nil);
317
- } else {
318
- resolve(nil);
319
- }
320
- }];
321
- }
322
-
323
- RCT_EXPORT_METHOD(updateUserAsync:(NSDictionary *)userDictionary) {
324
- NSMutableDictionary *userMutableDictionary = [userDictionary mutableCopy];
325
- NSArray *keysForNullValues = [userMutableDictionary allKeysForObject:[NSNull null]];
326
- [userMutableDictionary removeObjectsForKeys:keysForNullValues];
327
-
328
- RNNetmeraUser *user = [[RNNetmeraUser alloc] init];
329
- user.userId=[userMutableDictionary objectForKey:@"userId"];
330
- user.MSISDN=[userMutableDictionary objectForKey:@"msisdn"];
331
- user.email=[userMutableDictionary objectForKey:@"email"];
332
- [userMutableDictionary removeObjectForKey:@"userId"];
333
- [userMutableDictionary removeObjectForKey:@"email"];
334
- [userMutableDictionary removeObjectForKey:@"msisdn"];
335
-
336
- user.userParameters = userMutableDictionary;
337
- [Netmera updateUser:user];
338
- }
339
-
340
- RCT_EXPORT_METHOD(setApiKey:(NSString *)apiKey) {
341
- [Netmera setAPIKey:apiKey];
342
- }
343
-
344
- RCT_EXPORT_METHOD(handlePushObject:(NSString *)pushId) {
345
- if (self.netmeraInbox == nil) {
346
- return;
347
- }
348
-
349
- for (int i = 0; i < [self.netmeraInbox.objects count]; i++) {
350
- if ([pushId isEqualToString: self.netmeraInbox.objects[i].pushId]) {
351
- [Netmera handlePushObject: self.netmeraInbox.objects[i]];
352
- }
353
- }
354
- }
355
-
356
- RCT_EXPORT_METHOD(handleInteractiveAction:(NSString *)interactiveActionId) {
357
- if (self.netmeraInbox == nil) {
358
- return;
359
- }
360
-
361
- for (int i = 0; i < [self.netmeraInbox.objects count]; i++) {
362
- if (self.netmeraInbox.objects[i].interactiveActions != nil) {
363
- for (int j = 0; j < [self.netmeraInbox.objects[i].interactiveActions count]; j++) {
364
- NetmeraUserNotificationAction *action = self.netmeraInbox.objects[i].interactiveActions[j];
365
- if (action != nil && [interactiveActionId isEqualToString: action.interactiveAction.identifier]) {
366
- [Netmera handleInteractiveAction:action forPushObject:nil];
367
- return;
368
- }
369
- }
370
- }
371
- }
372
- }
373
-
374
- RCT_EXPORT_METHOD(handleLastMessage: (NSString*) categoryName resolver: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
375
- if (self.netmeraInboxCategory == nil) {
376
- reject(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY, nil);
377
- }
378
-
379
- if (categoryName == nil || [categoryName isEqualToString:@""]) {
380
- reject(ERROR_CODE_INVALID_PUSH_OBJECT, ERROR_MESSAGE_INVALID_PUSH_OBJECT, nil);
381
- }
382
-
383
-
384
- for(NetmeraInboxCategoryObject *category in self.netmeraInboxCategory.objects){
385
- if([categoryName isEqualToString: category.categoryName]){
386
- [Netmera handlePushObject:category.lastMessage];
387
- break;
388
- }
389
- }
390
- }
391
-
392
- RCT_EXPORT_METHOD(updateStatusByCategories:(NSInteger)fromIndex
393
- toIndex:(NSInteger)toIndex
394
- status:(NSInteger)status
395
- resolver: (RCTPromiseResolveBlock)resolve
396
- rejecter:(RCTPromiseRejectBlock)reject) {
397
- @try {
398
- NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(fromIndex, toIndex - fromIndex)];
399
- NSArray *categories = [self.netmeraInboxCategory objects];
400
-
401
- NSMutableArray *categoryList = [NSMutableArray array];
402
- for (int i = 0; i < [categories objectsAtIndexes:set].count; i++) {
403
- [categoryList addObject:[[categories objectAtIndex:i] categoryName]];
404
- }
405
- NSArray *categoryNames = [NSArray arrayWithArray:categoryList];
406
-
407
- NetmeraInboxStatus netmeraInboxStatus = status;
408
-
409
- [Netmera updateStatus:netmeraInboxStatus
410
- byCategories:categoryNames
411
- completion:^(NSError *error) {
412
- if(error) {
413
- reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
414
- }else{
415
- resolve(nil);
416
- }
417
- }];
418
-
419
- } @catch (NSException *exception) {
420
- reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
421
- }
422
- }
423
-
424
- RCT_EXPORT_METHOD(updateAll:(NSInteger)inboxStatus
425
- resolver: (RCTPromiseResolveBlock)resolve
426
- rejecter:(RCTPromiseRejectBlock)reject) {
427
- [Netmera updateStatus:inboxStatus forAllWithCompletion: ^(NSError *error) {
428
- if (error != nil) {
429
- reject(ERROR_CODE_UPDATE_STATUS, ERROR_MESSAGE_UPDATE_STATUS, nil);
430
- } else {
431
- resolve(@(YES));
432
- }
433
- }];
434
- }
435
-
436
- - (void) setCategory: (NetmeraInboxCategory*)category
437
- error: (NSError*)error
438
- resolver: (RCTPromiseResolveBlock)resolve
439
- rejecter: (RCTPromiseRejectBlock)reject {
440
- if(error) {
441
- reject(ERROR_CODE_NULL_CATEGORY, ERROR_MESSAGE_NULL_CATEGORY, nil);
442
- } else {
443
- self.netmeraInboxCategory = category;
444
- resolve([RNNetmeraCategoryObject mapCategoryObjects: self.netmeraInboxCategory.objects]);
445
- }
446
- }
447
-
448
- RCT_EXPORT_METHOD(getInitialURL:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
449
- NSURL *url = [RNNetmeraRCTEventEmitter getInitialUrl];
450
- resolve(url.absoluteString);
451
- }
452
-
453
- RCT_EXPORT_METHOD(getInboxCountForStatus:(NSDictionary *) filterDictionary
454
- resolver: (RCTPromiseResolveBlock)resolve
455
- rejecter: (RCTPromiseRejectBlock)reject) {
456
-
457
-
458
- NetmeraInboxCountFilter *filter = [[NetmeraInboxCountFilter alloc] init];
459
-
460
- if (filterDictionary[@"status"]) {
461
- filter.status = [[RNNetmeraUtils shared] getInboxStatus:[filterDictionary[@"status"] integerValue]];
462
- } else {
463
- reject(ERROR_CODE_NULL_INBOX_STATUS, ERROR_MESSAGE_NULL_INBOX_STATUS, nil);
464
- }
465
-
466
- if (filterDictionary[@"includeExpiredObjects"]) {
467
- filter.shouldIncludeExpiredObjects = filterDictionary[@"includeExpiredObjects"];
468
- }
469
- if (filterDictionary[@"categoryList"]) {
470
- filter.categories = filterDictionary[@"categoryList"];
471
- }
472
-
473
- [Netmera fetchInboxCountWithFilter: filter completion:^(NetmeraInboxCountResponse * _Nullable response, NSError * _Nullable error) {
474
- if (error != nil) {
475
- reject(ERROR_CODE_INBOX_STATUS, ERROR_MESSAGE_INBOX_STATUS, nil);
476
- } else {
477
- resolve([[RNNetmeraUtils shared] parseInboxCountForStatusToMap: response]);
478
- }
479
- }];
480
- }
481
-
482
- RCT_EXPORT_METHOD(getUserCategoryPreferenceList: (RCTPromiseResolveBlock)resolve
483
- rejecter: (RCTPromiseRejectBlock)reject) {
484
-
485
- [Netmera getUserCategoryPreferenceListWithCompletion:^(NSArray<NetmeraUserCategoryPreference *> * _Nullable categories, NSError * _Nullable error) {
486
- if (error != nil) {
487
- reject(ERROR_CODE_GET_CATEGORY_PREFERENCE, ERROR_MESSAGE_GET_CATEGORY_PREFERENCE, nil);
488
- } else {
489
- resolve([[RNNetmeraUtils shared] parseUserCategoryPreferenceListToMap: categories]);
490
- }
491
- }];
492
- }
493
-
494
- RCT_EXPORT_METHOD(setUserCategoryPreference: (int) categoryId
495
- categoryEnabled: (BOOL) categoryEnabled
496
- resolver: (RCTPromiseResolveBlock)resolve
497
- rejecter: (RCTPromiseRejectBlock)reject) {
498
- [Netmera setUserCategoryPreferenceWithCategoryId:categoryId categoryEnabled:categoryEnabled completion:^(NSError * _Nullable error) {
499
- if (error != nil) {
500
- reject(ERROR_CODE_SET_CATEGORY_PREFERENCE, ERROR_MESSAGE_SET_CATEGORY_PREFERENCE, nil);
501
- } else {
502
- resolve(@(YES));
503
- }
504
- }];
505
- }
506
-
507
- @end