@dashx/react-native 0.1.8-alpha → 0.1.12

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 (143) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/AndroidManifest.xml +1 -1
  3. package/android/src/main/java/com/dashx/rn/sdk/DashXModule.kt +5 -0
  4. package/ios/API.swift +124 -18
  5. package/ios/Constants.swift +1 -0
  6. package/ios/DashX.m +1 -0
  7. package/ios/DashX.swift +5 -0
  8. package/ios/DashXClient.swift +25 -4
  9. package/ios/graphql/SubscribeContact.graphql +1 -0
  10. package/ios/schema.json +16026 -19786
  11. package/package.json +1 -1
  12. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  13. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  14. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  15. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  16. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  17. package/android/.gradle/6.9/fileHashes/resourceHashesCache.bin +0 -0
  18. package/android/.gradle/6.9/gc.properties +0 -0
  19. package/android/.gradle/6.9/javaCompile/classAnalysis.bin +0 -0
  20. package/android/.gradle/6.9/javaCompile/jarAnalysis.bin +0 -0
  21. package/android/.gradle/6.9/javaCompile/javaCompile.lock +0 -0
  22. package/android/.gradle/6.9/javaCompile/taskHistory.bin +0 -0
  23. package/android/.gradle/6.9/vcsMetadata-1/vcsMetadata-1.lock +0 -0
  24. package/android/.gradle/6.9/vcsMetadata-1/workingDirs.bin +0 -0
  25. package/android/.gradle/7.0.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  26. package/android/.gradle/7.0.2/dependencies-accessors/gc.properties +0 -0
  27. package/android/.gradle/7.0.2/fileChanges/last-build.bin +0 -0
  28. package/android/.gradle/7.0.2/fileHashes/fileHashes.lock +0 -0
  29. package/android/.gradle/7.0.2/gc.properties +0 -0
  30. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  31. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  32. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  33. package/android/.gradle/checksums/checksums.lock +0 -0
  34. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  35. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  36. package/android/.gradle/vcs-1/gc.properties +0 -0
  37. package/android/.gradle/vcs-1/vcs-1.lock +0 -0
  38. package/android/.idea/.gitignore +0 -3
  39. package/android/.idea/compiler.xml +0 -6
  40. package/android/.idea/gradle.xml +0 -19
  41. package/android/.idea/jarRepositories.xml +0 -55
  42. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_0_0.xml +0 -9
  43. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml +0 -14
  44. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_0_0.xml +0 -9
  45. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +0 -11
  46. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +0 -11
  47. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_0_0.xml +0 -9
  48. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +0 -14
  49. package/android/.idea/libraries/Gradle__androidx_core_core_1_0_1_aar.xml +0 -14
  50. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -11
  51. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -11
  52. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +0 -11
  53. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -14
  54. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml +0 -14
  55. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -11
  56. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +0 -11
  57. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +0 -11
  58. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_0_0.xml +0 -9
  59. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -11
  60. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +0 -11
  61. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml +0 -11
  62. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml +0 -11
  63. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -11
  64. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +0 -11
  65. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +0 -14
  66. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +0 -11
  67. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -14
  68. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml +0 -11
  69. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml +0 -11
  70. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_0_0_aar.xml +0 -11
  71. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -11
  72. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_0_3.xml +0 -9
  73. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_0_0_aar.xml +0 -11
  74. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_0_0_aar.xml +0 -14
  75. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_0_0_aar.xml +0 -14
  76. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_0_0_aar.xml +0 -14
  77. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_0_0_aar.xml +0 -14
  78. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_0_0_aar.xml +0 -11
  79. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_0_0_aar.xml +0 -11
  80. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_0_0_aar.xml +0 -11
  81. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2.xml +0 -9
  82. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_62_3_aar.xml +0 -14
  83. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_8_0_aar.xml +0 -11
  84. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_8_0.xml +0 -9
  85. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_8_0_aar.xml +0 -11
  86. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_14_1.xml +0 -9
  87. package/android/.idea/libraries/Gradle__com_github_dashxhq_dashx_android_remove_account_type_SNAPSHOT_aar.xml +0 -11
  88. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_identifier_17_0_0_aar.xml +0 -11
  89. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_0_0_aar.xml +0 -11
  90. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_0_0_aar.xml +0 -11
  91. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_17_2_1_aar.xml +0 -11
  92. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_api_17_2_1_aar.xml +0 -11
  93. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_base_17_2_1_aar.xml +0 -11
  94. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_impl_17_2_1_aar.xml +0 -11
  95. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_17_2_1_aar.xml +0 -11
  96. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_api_17_2_1_aar.xml +0 -11
  97. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_17_0_0_aar.xml +0 -11
  98. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_0_0_aar.xml +0 -11
  99. package/android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_5.xml +0 -9
  100. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -9
  101. package/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_6.xml +0 -9
  102. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_17_2_1_aar.xml +0 -11
  103. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_common_19_2_0_aar.xml +0 -11
  104. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_core_17_2_1_aar.xml +0 -11
  105. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_20_0_1_aar.xml +0 -11
  106. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_17_0_0_aar.xml +0 -11
  107. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_18_0_0_aar.xml +0 -11
  108. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_messaging_20_0_1_aar.xml +0 -11
  109. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_2_2.xml +0 -9
  110. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_1.xml +0 -9
  111. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +0 -9
  112. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -9
  113. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +0 -9
  114. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_5_20.xml +0 -9
  115. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_5_20.xml +0 -9
  116. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_5_20.xml +0 -9
  117. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_5_20.xml +0 -9
  118. package/android/.idea/misc.xml +0 -9
  119. package/android/.idea/modules/android.iml +0 -151
  120. package/android/.idea/modules.xml +0 -8
  121. package/android/.idea/vcs.xml +0 -6
  122. package/android/.idea/workspace.xml +0 -130
  123. package/android/build/generated/checks/apollo/debug/service/duplicatesCheck +0 -1
  124. package/android/build/generated/checks/apollo/versionCheck +0 -1
  125. package/android/build/generated/source/buildConfig/debug/com/dashx/rn/sdk/BuildConfig.java +0 -13
  126. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -19
  127. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
  128. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  129. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -1
  130. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
  131. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -19
  132. package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
  133. package/android/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -186
  134. package/android/build/intermediates/symbols/debug/R.txt +0 -233
  135. package/android/build/kotlin/compileDebugKotlin/build-history.bin +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/dirty-sources.txt +0 -7
  137. package/android/build/libs/android-javadoc.jar +0 -0
  138. package/android/build/libs/android-sources.jar +0 -0
  139. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -51
  140. package/android/build/tmp/androidJavadocJar/MANIFEST.MF +0 -2
  141. package/android/build/tmp/androidSourcesJar/MANIFEST.MF +0 -2
  142. package/android/local.properties +0 -8
  143. package/ios/DashX.xcworkspace/xcuserdata/rajatsharma.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
@@ -90,7 +90,7 @@ repositories {
90
90
  }
91
91
 
92
92
  dependencies {
93
- implementation 'com.github.dashxhq:dashx-android:remove-account-type-SNAPSHOT'
93
+ implementation 'com.github.dashxhq:dashx-android:main-SNAPSHOT'
94
94
  //noinspection GradleDynamicVersion
95
95
  implementation 'com.facebook.react:react-native:+' // From node_modules
96
96
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
@@ -2,7 +2,7 @@
2
2
  package="com.dashx.rn.sdk">
3
3
 
4
4
  <application>
5
- <service android:name="com.dashx.reactnative.DashXMessagingService">
5
+ <service android:name="com.dashx.rn.sdk.DashXMessagingService">
6
6
  <intent-filter android:priority="1">
7
7
  <action android:name="com.google.firebase.MESSAGING_EVENT"/>
8
8
  </intent-filter>
@@ -185,4 +185,9 @@ class DashXModule(private val reactContext: ReactApplicationContext) : ReactCont
185
185
  }
186
186
  )
187
187
  }
188
+
189
+ @ReactMethod
190
+ fun subscribe() {
191
+ interceptor.getDashXClient().subscribe()
192
+ }
188
193
  }
package/ios/API.swift CHANGED
@@ -553,20 +553,38 @@ public enum DashXGql {
553
553
  public var graphQLMap: GraphQLMap
554
554
 
555
555
  /// - Parameters:
556
- /// - uid
556
+ /// - accountUid
557
+ /// - accountAnonymousUid
557
558
  /// - name
558
559
  /// - kind
559
560
  /// - value
560
- public init(uid: String, name: Swift.Optional<String?> = nil, kind: ContactKind, value: String) {
561
- graphQLMap = ["uid": uid, "name": name, "kind": kind, "value": value]
561
+ /// - userAgent
562
+ /// - osName
563
+ /// - osVersion
564
+ /// - deviceModel
565
+ /// - deviceManufacturer
566
+ /// - deviceUid
567
+ /// - deviceAdvertisingUid
568
+ /// - isDeviceAdTrackingEnabled
569
+ public init(accountUid: Swift.Optional<String?> = nil, accountAnonymousUid: Swift.Optional<String?> = nil, name: Swift.Optional<String?> = nil, kind: ContactKind, value: String, userAgent: Swift.Optional<String?> = nil, osName: Swift.Optional<String?> = nil, osVersion: Swift.Optional<String?> = nil, deviceModel: Swift.Optional<String?> = nil, deviceManufacturer: Swift.Optional<String?> = nil, deviceUid: Swift.Optional<String?> = nil, deviceAdvertisingUid: Swift.Optional<String?> = nil, isDeviceAdTrackingEnabled: Swift.Optional<Bool?> = nil) {
570
+ graphQLMap = ["accountUid": accountUid, "accountAnonymousUid": accountAnonymousUid, "name": name, "kind": kind, "value": value, "userAgent": userAgent, "osName": osName, "osVersion": osVersion, "deviceModel": deviceModel, "deviceManufacturer": deviceManufacturer, "deviceUid": deviceUid, "deviceAdvertisingUid": deviceAdvertisingUid, "isDeviceAdTrackingEnabled": isDeviceAdTrackingEnabled]
562
571
  }
563
572
 
564
- public var uid: String {
573
+ public var accountUid: Swift.Optional<String?> {
565
574
  get {
566
- return graphQLMap["uid"] as! String
575
+ return graphQLMap["accountUid"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
567
576
  }
568
577
  set {
569
- graphQLMap.updateValue(newValue, forKey: "uid")
578
+ graphQLMap.updateValue(newValue, forKey: "accountUid")
579
+ }
580
+ }
581
+
582
+ public var accountAnonymousUid: Swift.Optional<String?> {
583
+ get {
584
+ return graphQLMap["accountAnonymousUid"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
585
+ }
586
+ set {
587
+ graphQLMap.updateValue(newValue, forKey: "accountAnonymousUid")
570
588
  }
571
589
  }
572
590
 
@@ -596,43 +614,119 @@ public enum DashXGql {
596
614
  graphQLMap.updateValue(newValue, forKey: "value")
597
615
  }
598
616
  }
617
+
618
+ public var userAgent: Swift.Optional<String?> {
619
+ get {
620
+ return graphQLMap["userAgent"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
621
+ }
622
+ set {
623
+ graphQLMap.updateValue(newValue, forKey: "userAgent")
624
+ }
625
+ }
626
+
627
+ public var osName: Swift.Optional<String?> {
628
+ get {
629
+ return graphQLMap["osName"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
630
+ }
631
+ set {
632
+ graphQLMap.updateValue(newValue, forKey: "osName")
633
+ }
634
+ }
635
+
636
+ public var osVersion: Swift.Optional<String?> {
637
+ get {
638
+ return graphQLMap["osVersion"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
639
+ }
640
+ set {
641
+ graphQLMap.updateValue(newValue, forKey: "osVersion")
642
+ }
643
+ }
644
+
645
+ public var deviceModel: Swift.Optional<String?> {
646
+ get {
647
+ return graphQLMap["deviceModel"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
648
+ }
649
+ set {
650
+ graphQLMap.updateValue(newValue, forKey: "deviceModel")
651
+ }
652
+ }
653
+
654
+ public var deviceManufacturer: Swift.Optional<String?> {
655
+ get {
656
+ return graphQLMap["deviceManufacturer"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
657
+ }
658
+ set {
659
+ graphQLMap.updateValue(newValue, forKey: "deviceManufacturer")
660
+ }
661
+ }
662
+
663
+ public var deviceUid: Swift.Optional<String?> {
664
+ get {
665
+ return graphQLMap["deviceUid"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
666
+ }
667
+ set {
668
+ graphQLMap.updateValue(newValue, forKey: "deviceUid")
669
+ }
670
+ }
671
+
672
+ public var deviceAdvertisingUid: Swift.Optional<String?> {
673
+ get {
674
+ return graphQLMap["deviceAdvertisingUid"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
675
+ }
676
+ set {
677
+ graphQLMap.updateValue(newValue, forKey: "deviceAdvertisingUid")
678
+ }
679
+ }
680
+
681
+ public var isDeviceAdTrackingEnabled: Swift.Optional<Bool?> {
682
+ get {
683
+ return graphQLMap["isDeviceAdTrackingEnabled"] as? Swift.Optional<Bool?> ?? Swift.Optional<Bool?>.none
684
+ }
685
+ set {
686
+ graphQLMap.updateValue(newValue, forKey: "isDeviceAdTrackingEnabled")
687
+ }
688
+ }
599
689
  }
600
690
 
601
691
  public enum ContactKind: RawRepresentable, Equatable, Hashable, CaseIterable, Apollo.JSONDecodable, Apollo.JSONEncodable {
602
692
  public typealias RawValue = String
603
- case secondaryEmail
604
- case secondaryPhone
693
+ case email
694
+ case phone
605
695
  case ios
606
696
  case android
697
+ case web
607
698
  /// Auto generated constant for unknown enum values
608
699
  case __unknown(RawValue)
609
700
 
610
701
  public init?(rawValue: RawValue) {
611
702
  switch rawValue {
612
- case "SECONDARY_EMAIL": self = .secondaryEmail
613
- case "SECONDARY_PHONE": self = .secondaryPhone
703
+ case "EMAIL": self = .email
704
+ case "PHONE": self = .phone
614
705
  case "IOS": self = .ios
615
706
  case "ANDROID": self = .android
707
+ case "WEB": self = .web
616
708
  default: self = .__unknown(rawValue)
617
709
  }
618
710
  }
619
711
 
620
712
  public var rawValue: RawValue {
621
713
  switch self {
622
- case .secondaryEmail: return "SECONDARY_EMAIL"
623
- case .secondaryPhone: return "SECONDARY_PHONE"
714
+ case .email: return "EMAIL"
715
+ case .phone: return "PHONE"
624
716
  case .ios: return "IOS"
625
717
  case .android: return "ANDROID"
718
+ case .web: return "WEB"
626
719
  case .__unknown(let value): return value
627
720
  }
628
721
  }
629
722
 
630
723
  public static func == (lhs: ContactKind, rhs: ContactKind) -> Bool {
631
724
  switch (lhs, rhs) {
632
- case (.secondaryEmail, .secondaryEmail): return true
633
- case (.secondaryPhone, .secondaryPhone): return true
725
+ case (.email, .email): return true
726
+ case (.phone, .phone): return true
634
727
  case (.ios, .ios): return true
635
728
  case (.android, .android): return true
729
+ case (.web, .web): return true
636
730
  case (.__unknown(let lhsValue), .__unknown(let rhsValue)): return lhsValue == rhsValue
637
731
  default: return false
638
732
  }
@@ -640,10 +734,11 @@ public enum DashXGql {
640
734
 
641
735
  public static var allCases: [ContactKind] {
642
736
  return [
643
- .secondaryEmail,
644
- .secondaryPhone,
737
+ .email,
738
+ .phone,
645
739
  .ios,
646
740
  .android,
741
+ .web,
647
742
  ]
648
743
  }
649
744
  }
@@ -2074,6 +2169,7 @@ public enum DashXGql {
2074
2169
  subscribeContact(input: $input) {
2075
2170
  __typename
2076
2171
  id
2172
+ value
2077
2173
  }
2078
2174
  }
2079
2175
  """
@@ -2125,6 +2221,7 @@ public enum DashXGql {
2125
2221
  return [
2126
2222
  GraphQLField("__typename", type: .nonNull(.scalar(String.self))),
2127
2223
  GraphQLField("id", type: .nonNull(.scalar(UUID.self))),
2224
+ GraphQLField("value", type: .nonNull(.scalar(String.self))),
2128
2225
  ]
2129
2226
  }
2130
2227
 
@@ -2134,8 +2231,8 @@ public enum DashXGql {
2134
2231
  self.resultMap = unsafeResultMap
2135
2232
  }
2136
2233
 
2137
- public init(id: UUID) {
2138
- self.init(unsafeResultMap: ["__typename": "Contact", "id": id])
2234
+ public init(id: UUID, value: String) {
2235
+ self.init(unsafeResultMap: ["__typename": "Contact", "id": id, "value": value])
2139
2236
  }
2140
2237
 
2141
2238
  public var __typename: String {
@@ -2155,6 +2252,15 @@ public enum DashXGql {
2155
2252
  resultMap.updateValue(newValue, forKey: "id")
2156
2253
  }
2157
2254
  }
2255
+
2256
+ public var value: String {
2257
+ get {
2258
+ return resultMap["value"]! as! String
2259
+ }
2260
+ set {
2261
+ resultMap.updateValue(newValue, forKey: "value")
2262
+ }
2263
+ }
2158
2264
  }
2159
2265
  }
2160
2266
  }
@@ -3,6 +3,7 @@ import Foundation
3
3
  struct Constants {
4
4
  static let PACKAGE_NAME = "com.dashx.sdk"
5
5
  static let USER_PREFERENCES_KEY_ANONYMOUS_UID = "\(PACKAGE_NAME).anonymous_uid"
6
+ static let USER_PREFERENCES_KEY_DEVICE_TOKEN = "\(PACKAGE_NAME).device_token"
6
7
  static let USER_PREFERENCES_KEY_BUILD = "\(PACKAGE_NAME).build"
7
8
  static let INTERNAL_EVENT_APP_INSTALLED = "Application Installed"
8
9
  static let INTERNAL_EVENT_APP_UPDATED = "Application Updated"
package/ios/DashX.m CHANGED
@@ -12,4 +12,5 @@ RCT_EXTERN_METHOD(searchContent:(NSString *)contentType options:(NSDictionary *)
12
12
  RCT_EXTERN_METHOD(fetchContent:(NSString *)urn options:(NSDictionary *)options resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
13
13
  RCT_EXTERN_METHOD(addItemToCart:(NSString *)itemId pricingId:(NSString *)pricingId quantity:(NSString *)quantity reset:(BOOL)reset custom:(NSDictionary *)custom resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
14
14
  RCT_EXTERN_METHOD(fetchCart:resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
15
+ RCT_EXTERN_METHOD(subscribe)
15
16
  @end
package/ios/DashX.swift CHANGED
@@ -141,4 +141,9 @@ class DashX: RCTEventEmitter {
141
141
  )
142
142
  }
143
143
 
144
+ @objc
145
+ func subscribe() {
146
+ dashXClient.subscribe()
147
+ }
148
+
144
149
  }
@@ -11,12 +11,18 @@ class DashXClient {
11
11
  private var uid: String?
12
12
  private var deviceToken: String?
13
13
 
14
+ private var mustSubscribe: Bool = false;
15
+
14
16
  private init() {
15
17
  generateAnonymousUid()
16
18
  }
17
19
 
18
20
  func setDeviceToken(to: String) {
19
21
  self.deviceToken = to
22
+
23
+ if (self.mustSubscribe) {
24
+ self.subscribe()
25
+ }
20
26
  }
21
27
 
22
28
  func setTargetEnvironment(to: String) {
@@ -91,7 +97,7 @@ class DashXClient {
91
97
  event: event,
92
98
  accountUid: uid,
93
99
  accountAnonymousUid: anonymousUid,
94
- data: withData as? [String: Any?]
100
+ data: withData as? [String: JSONDecodable?]
95
101
  )
96
102
 
97
103
  DashXLog.d(tag: #function, "Calling track with \(trackEventInput)")
@@ -116,14 +122,26 @@ class DashXClient {
116
122
  // MARK: -- subscribe
117
123
 
118
124
  func subscribe() {
119
- if deviceToken == nil || ConfigInterceptor.shared.identityToken == nil {
125
+ if deviceToken == nil {
126
+ self.mustSubscribe = true
120
127
  return
121
128
  }
122
129
 
130
+ self.mustSubscribe = false
131
+
123
132
  let deviceKind = "IOS"
124
133
 
134
+ let preferences = UserDefaults.standard
135
+ let deviceTokenKey = Constants.USER_PREFERENCES_KEY_DEVICE_TOKEN
136
+
137
+ if preferences.string(forKey: deviceTokenKey) == deviceToken {
138
+ DashXLog.d(tag: #function, "Already subscribed: \(String(describing: deviceToken))")
139
+ return
140
+ }
141
+
125
142
  let subscribeContactInput = DashXGql.SubscribeContactInput(
126
- uid: uid!,
143
+ accountUid: uid,
144
+ accountAnonymousUid: anonymousUid!,
127
145
  name: deviceKind,
128
146
  kind: .ios,
129
147
  value: deviceToken!
@@ -136,7 +154,10 @@ class DashXClient {
136
154
  Network.shared.apollo.perform(mutation: subscribeContactMutation) { result in
137
155
  switch result {
138
156
  case .success(let graphQLResult):
139
- DashXLog.d(tag: #function, "Sent subscribe with \(String(describing: graphQLResult))")
157
+ if graphQLResult.data != nil {
158
+ preferences.set(graphQLResult.data?.subscribeContact.value, forKey: deviceTokenKey)
159
+ DashXLog.d(tag: #function, "Sent subscribe with \(String(describing: graphQLResult))")
160
+ }
140
161
  case .failure(let error):
141
162
  DashXLog.d(tag: #function, "Encountered an error during subscribe(): \(error)")
142
163
  }
@@ -1,5 +1,6 @@
1
1
  mutation SubscribeContact($input: SubscribeContactInput!) {
2
2
  subscribeContact(input: $input) {
3
3
  id
4
+ value
4
5
  }
5
6
  }