@didomi/react-native 1.27.0 → 2.0.1

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.
@@ -124,5 +124,5 @@ dependencies {
124
124
 
125
125
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
126
126
 
127
- implementation "io.didomi.sdk:android:1.90.0"
127
+ implementation "io.didomi.sdk:android:2.2.0"
128
128
  }
@@ -225,6 +225,7 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
225
225
  */
226
226
  override fun languageUpdateFailed(event: LanguageUpdateFailedEvent) = prepareEvent(EventTypes.LANGUAGE_UPDATE_FAILED.event, event.reason)
227
227
  }
228
+ private val vendorStatusListeners: MutableSet<String> = mutableSetOf()
228
229
 
229
230
  override fun getName() = "Didomi"
230
231
 
@@ -384,86 +385,6 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
384
385
  promise.resolve(0)
385
386
  }
386
387
 
387
- @ReactMethod
388
- fun getDisabledPurposes(promise: Promise) {
389
- try {
390
- @Suppress("DEPRECATION")
391
- promise.resolve(setToWritableArray(Didomi.getInstance().disabledPurposes))
392
- } catch (e: DidomiNotReadyException) {
393
- promise.reject(e)
394
- }
395
- }
396
-
397
- @ReactMethod
398
- fun getDisabledPurposeIds(promise: Promise) {
399
- try {
400
- @Suppress("DEPRECATION")
401
- promise.resolve(setOfStringToWritableArray(Didomi.getInstance().disabledPurposeIds))
402
- } catch (e: DidomiNotReadyException) {
403
- promise.reject(e)
404
- }
405
- }
406
-
407
- @ReactMethod
408
- fun getDisabledVendors(promise: Promise) {
409
- try {
410
- @Suppress("DEPRECATION")
411
- promise.resolve(setToWritableArray(Didomi.getInstance().disabledVendors))
412
- } catch (e: DidomiNotReadyException) {
413
- promise.reject(e)
414
- }
415
- }
416
-
417
- @ReactMethod
418
- fun getDisabledVendorIds(promise: Promise) {
419
- try {
420
- @Suppress("DEPRECATION")
421
- promise.resolve(setOfStringToWritableArray(Didomi.getInstance().disabledVendorIds))
422
- } catch (e: DidomiNotReadyException) {
423
- promise.reject(e)
424
- }
425
- }
426
-
427
- @ReactMethod
428
- fun getEnabledPurposes(promise: Promise) {
429
- try {
430
- @Suppress("DEPRECATION")
431
- promise.resolve(setToWritableArray(Didomi.getInstance().enabledPurposes))
432
- } catch (e: DidomiNotReadyException) {
433
- promise.reject(e)
434
- }
435
- }
436
-
437
- @ReactMethod
438
- fun getEnabledPurposeIds(promise: Promise) {
439
- try {
440
- @Suppress("DEPRECATION")
441
- promise.resolve(setOfStringToWritableArray(Didomi.getInstance().enabledPurposeIds))
442
- } catch (e: DidomiNotReadyException) {
443
- promise.reject(e)
444
- }
445
- }
446
-
447
- @ReactMethod
448
- fun getEnabledVendors(promise: Promise) {
449
- try {
450
- @Suppress("DEPRECATION")
451
- promise.resolve(setToWritableArray(Didomi.getInstance().enabledVendors))
452
- } catch (e: DidomiNotReadyException) {
453
- promise.reject(e)
454
- }
455
- }
456
-
457
- @ReactMethod
458
- fun getEnabledVendorIds(promise: Promise) {
459
- try {
460
- @Suppress("DEPRECATION")
461
- promise.resolve(setOfStringToWritableArray(Didomi.getInstance().enabledVendorIds))
462
- } catch (e: DidomiNotReadyException) {
463
- promise.reject(e)
464
- }
465
- }
466
-
467
388
  @ReactMethod
468
389
  fun getJavaScriptForWebView(extra: String?, promise: Promise) {
469
390
  try {
@@ -513,6 +434,15 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
513
434
  }
514
435
  }
515
436
 
437
+ @ReactMethod
438
+ fun getVendor(vendorId: String, promise: Promise) {
439
+ try {
440
+ promise.resolve(objectToWritableMap(Didomi.getInstance().getVendor(vendorId)))
441
+ } catch (e: DidomiNotReadyException) {
442
+ promise.reject(e)
443
+ }
444
+ }
445
+
516
446
  @ReactMethod
517
447
  fun getRequiredVendors(promise: Promise) {
518
448
  try {
@@ -556,66 +486,6 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
556
486
  }
557
487
  }
558
488
 
559
- @ReactMethod
560
- fun getUserConsentStatusForPurpose(purposeId: String, promise: Promise) {
561
- try {
562
- @Suppress("DEPRECATION")
563
- promise.resolve(Didomi.getInstance().getUserConsentStatusForPurpose(purposeId))
564
- } catch (e: DidomiNotReadyException) {
565
- promise.reject(e)
566
- }
567
- }
568
-
569
- @ReactMethod
570
- fun getUserConsentStatusForVendor(vendorId: String, promise: Promise) {
571
- try {
572
- @Suppress("DEPRECATION")
573
- promise.resolve(Didomi.getInstance().getUserConsentStatusForVendor(vendorId))
574
- } catch (e: DidomiNotReadyException) {
575
- promise.reject(e)
576
- }
577
- }
578
-
579
- @ReactMethod
580
- fun getUserConsentStatusForVendorAndRequiredPurposes(vendorId: String, promise: Promise) {
581
- try {
582
- @Suppress("DEPRECATION")
583
- promise.resolve(Didomi.getInstance().getUserConsentStatusForVendorAndRequiredPurposes(vendorId))
584
- } catch (e: DidomiNotReadyException) {
585
- promise.reject(e)
586
- }
587
- }
588
-
589
- @ReactMethod
590
- fun getUserLegitimateInterestStatusForPurpose(purposeId: String, promise: Promise) {
591
- try {
592
- @Suppress("DEPRECATION")
593
- promise.resolve(Didomi.getInstance().getUserLegitimateInterestStatusForPurpose(purposeId))
594
- } catch (e: DidomiNotReadyException) {
595
- promise.reject(e)
596
- }
597
- }
598
-
599
- @ReactMethod
600
- fun getUserLegitimateInterestForVendor(vendorId: String, promise: Promise) {
601
- try {
602
- @Suppress("DEPRECATION")
603
- promise.resolve(Didomi.getInstance().getUserLegitimateInterestStatusForVendor(vendorId))
604
- } catch (e: DidomiNotReadyException) {
605
- promise.reject(e)
606
- }
607
- }
608
-
609
- @ReactMethod
610
- fun getUserLegitimateInterestStatusForVendorAndRequiredPurposes(vendorId: String, promise: Promise) {
611
- try {
612
- @Suppress("DEPRECATION")
613
- promise.resolve(Didomi.getInstance().getUserLegitimateInterestStatusForVendorAndRequiredPurposes(vendorId))
614
- } catch (e: DidomiNotReadyException) {
615
- promise.reject(e)
616
- }
617
- }
618
-
619
489
  @ReactMethod
620
490
  fun getCurrentUserStatus(promise: Promise) {
621
491
  try {
@@ -634,25 +504,6 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
634
504
  }
635
505
  }
636
506
 
637
- @ReactMethod
638
- fun getUserStatusForVendor(vendorId: String, promise: Promise) {
639
- try {
640
- @Suppress("DEPRECATION")
641
- promise.resolve(Didomi.getInstance().getUserStatusForVendor(vendorId))
642
- } catch (e: DidomiNotReadyException) {
643
- promise.reject(e)
644
- }
645
- }
646
-
647
- @ReactMethod
648
- fun getVendor(vendorId: String, promise: Promise) {
649
- try {
650
- promise.resolve(objectToWritableMap(Didomi.getInstance().getVendor(vendorId)))
651
- } catch (e: DidomiNotReadyException) {
652
- promise.reject(e)
653
- }
654
- }
655
-
656
507
  @ReactMethod
657
508
  fun hideNotice(promise: Promise) {
658
509
  try {
@@ -744,31 +595,8 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
744
595
  }
745
596
 
746
597
  @ReactMethod
747
- fun setUser(
748
- organizationUserId: String,
749
- organizationUserIdAuthAlgorithm: String?,
750
- organizationUserIdAuthSid: String?,
751
- organizationUserIdAuthSalt: String?,
752
- organizationUserIdAuthDigest: String?,
753
- promise: Promise
754
- ) {
755
- if (organizationUserIdAuthAlgorithm != null
756
- && organizationUserIdAuthSid != null
757
- && organizationUserIdAuthSalt != null
758
- && organizationUserIdAuthDigest != null
759
- ) {
760
- @Suppress("DEPRECATION")
761
- Didomi.getInstance().setUser(
762
- organizationUserId,
763
- organizationUserIdAuthAlgorithm,
764
- organizationUserIdAuthSid,
765
- organizationUserIdAuthSalt,
766
- organizationUserIdAuthDigest
767
- )
768
- } else {
769
- Didomi.getInstance().setUser(organizationUserId)
770
- }
771
-
598
+ fun setUser(organizationUserId: String, promise: Promise) {
599
+ Didomi.getInstance().setUser(organizationUserId)
772
600
  promise.resolve(0)
773
601
  }
774
602
 
@@ -997,37 +825,6 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
997
825
  }
998
826
  }
999
827
 
1000
- @ReactMethod
1001
- @Deprecated("Deprecated in the Didomi API")
1002
- fun setUserConsentStatus(
1003
- enabledPurposeIds: ReadableArray,
1004
- disabledPurposeIds: ReadableArray,
1005
- enabledLegitimatePurposeIds: ReadableArray,
1006
- disabledLegitimatePurposeIds: ReadableArray,
1007
- enabledVendorIds: ReadableArray,
1008
- disabledVendorIds: ReadableArray,
1009
- enabledLegIntVendorIds: ReadableArray,
1010
- disabledLegIntVendorIds: ReadableArray,
1011
- promise: Promise
1012
- ) {
1013
- try {
1014
- promise.resolve(
1015
- Didomi.getInstance().setUserStatus(
1016
- enabledPurposeIds.toSet(),
1017
- disabledPurposeIds.toSet(),
1018
- enabledLegitimatePurposeIds.toSet(),
1019
- disabledLegitimatePurposeIds.toSet(),
1020
- enabledVendorIds.toSet(),
1021
- disabledVendorIds.toSet(),
1022
- enabledLegIntVendorIds.toSet(),
1023
- disabledLegIntVendorIds.toSet()
1024
- )
1025
- )
1026
- } catch (e: DidomiNotReadyException) {
1027
- promise.reject(e)
1028
- }
1029
- }
1030
-
1031
828
  @ReactMethod
1032
829
  fun setUserDisagreeToAll(promise: Promise) {
1033
830
  try {
@@ -1136,7 +933,26 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
1136
933
  // Keep: Required for RN built in Event Emitter Calls.
1137
934
  }
1138
935
 
1139
- private fun prepareEvent(eventName: String, params: String?) {
936
+ @ReactMethod
937
+ fun listenToVendorStatus(vendorId: String) {
938
+ if (!vendorStatusListeners.contains(vendorId)) {
939
+ Didomi.getInstance().addVendorStatusListener(vendorId) { vendorStatus ->
940
+ val statusAsMap = objectToWritableMap(vendorStatus)
941
+ prepareEvent("${EventTypes.VENDOR_STATUS_CHANGE_PREFIX.event}$vendorId", statusAsMap)
942
+ }
943
+ vendorStatusListeners.add(vendorId)
944
+ }
945
+ }
946
+
947
+ @ReactMethod
948
+ fun stopListeningToVendorStatus(vendorId: String) {
949
+ if (vendorStatusListeners.contains(vendorId)) {
950
+ Didomi.getInstance().removeVendorStatusListener(vendorId)
951
+ vendorStatusListeners.remove(vendorId)
952
+ }
953
+ }
954
+
955
+ private fun prepareEvent(eventName: String, params: Any?) {
1140
956
  Log.d("prepareEvent", "Sending $eventName")
1141
957
  reactContext
1142
958
  .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
@@ -52,5 +52,7 @@ enum class EventTypes(val event: String) {
52
52
  SYNC_ERROR("on_sync_error"),
53
53
  // Language
54
54
  LANGUAGE_UPDATED("on_language_updated"),
55
- LANGUAGE_UPDATE_FAILED("on_language_update_failed");
55
+ LANGUAGE_UPDATE_FAILED("on_language_update_failed"),
56
+ // Vendor Status
57
+ VENDOR_STATUS_CHANGE_PREFIX("on_vendor_status_change_");
56
58
  }
package/ios/Didomi.m CHANGED
@@ -45,40 +45,12 @@ RCT_EXTERN_METHOD(isUserLegitimateInterestStatusPartial:(RCTPromiseResolveBlock)
45
45
  RCT_EXTERN_METHOD(isUserStatusPartial:(RCTPromiseResolveBlock)resolve
46
46
  reject:(RCTPromiseRejectBlock)reject)
47
47
 
48
- RCT_EXTERN_METHOD(getUserConsentStatusForPurpose:(NSString *)purposeId
49
- resolve:(RCTPromiseResolveBlock)resolve
50
- reject:(RCTPromiseRejectBlock)reject)
51
-
52
- RCT_EXTERN_METHOD(getUserLegitimateInterestStatusForPurpose:(NSString *)purposeId
53
- resolve:(RCTPromiseResolveBlock)resolve
54
- reject:(RCTPromiseRejectBlock)reject)
55
-
56
48
  RCT_EXTERN_METHOD(getCurrentUserStatus:(RCTPromiseResolveBlock)resolve
57
49
  reject:(RCTPromiseRejectBlock)reject)
58
50
 
59
51
  RCT_EXTERN_METHOD(getUserStatus:(RCTPromiseResolveBlock)resolve
60
52
  reject:(RCTPromiseRejectBlock)reject)
61
53
 
62
- RCT_EXTERN_METHOD(getUserStatusForVendor:(NSString *)vendorId
63
- resolve:(RCTPromiseResolveBlock)resolve
64
- reject:(RCTPromiseRejectBlock)reject)
65
-
66
- RCT_EXTERN_METHOD(getUserConsentStatusForVendor:(NSString *)vendorId
67
- resolve:(RCTPromiseResolveBlock)resolve
68
- reject:(RCTPromiseRejectBlock)reject)
69
-
70
- RCT_EXTERN_METHOD(getUserLegitimateInterestStatusForVendor:(NSString *)vendorId
71
- resolve:(RCTPromiseResolveBlock)resolve
72
- reject:(RCTPromiseRejectBlock)reject)
73
-
74
- RCT_EXTERN_METHOD(getUserConsentStatusForVendorAndRequiredPurposes:(NSString *)vendorId
75
- resolve:(RCTPromiseResolveBlock)resolve
76
- reject:(RCTPromiseRejectBlock)reject)
77
-
78
- RCT_EXTERN_METHOD(getUserLegitimateInterestStatusForVendorAndRequiredPurposes:(NSString *)vendorId
79
- resolve:(RCTPromiseResolveBlock)resolve
80
- reject:(RCTPromiseRejectBlock)reject)
81
-
82
54
  RCT_EXTERN_METHOD(setCurrentUserStatus:(NSString *)currentUserStatusAsString
83
55
  resolve:(RCTPromiseResolveBlock)resolve
84
56
  reject:(RCTPromiseRejectBlock)reject)
@@ -137,30 +109,6 @@ RCT_EXTERN_METHOD(getRequiredPurposes:(RCTPromiseResolveBlock)resolve
137
109
  RCT_EXTERN_METHOD(getRequiredVendors:(RCTPromiseResolveBlock)resolve
138
110
  reject:(RCTPromiseRejectBlock)reject)
139
111
 
140
- RCT_EXTERN_METHOD(getEnabledPurposes:(RCTPromiseResolveBlock)resolve
141
- reject:(RCTPromiseRejectBlock)reject)
142
-
143
- RCT_EXTERN_METHOD(getEnabledPurposeIds:(RCTPromiseResolveBlock)resolve
144
- reject:(RCTPromiseRejectBlock)reject)
145
-
146
- RCT_EXTERN_METHOD(getDisabledPurposes:(RCTPromiseResolveBlock)resolve
147
- reject:(RCTPromiseRejectBlock)reject)
148
-
149
- RCT_EXTERN_METHOD(getDisabledPurposeIds:(RCTPromiseResolveBlock)resolve
150
- reject:(RCTPromiseRejectBlock)reject)
151
-
152
- RCT_EXTERN_METHOD(getEnabledVendors:(RCTPromiseResolveBlock)resolve
153
- reject:(RCTPromiseRejectBlock)reject)
154
-
155
- RCT_EXTERN_METHOD(getEnabledVendorIds:(RCTPromiseResolveBlock)resolve
156
- reject:(RCTPromiseRejectBlock)reject)
157
-
158
- RCT_EXTERN_METHOD(getDisabledVendors:(RCTPromiseResolveBlock)resolve
159
- reject:(RCTPromiseRejectBlock)reject)
160
-
161
- RCT_EXTERN_METHOD(getDisabledVendorIds:(RCTPromiseResolveBlock)resolve
162
- reject:(RCTPromiseRejectBlock)reject)
163
-
164
112
  RCT_EXTERN_METHOD(getPurpose:(NSString *)purposeId
165
113
  resolve:(RCTPromiseResolveBlock)resolve
166
114
  reject:(RCTPromiseRejectBlock)reject)
@@ -223,10 +171,6 @@ RCT_EXTERN_METHOD(clearUser:(RCTPromiseResolveBlock)resolve
223
171
  reject:(RCTPromiseRejectBlock)reject)
224
172
 
225
173
  RCT_EXTERN_METHOD(setUser:(NSString *)id
226
- algorithm:(nullable NSString *)algorithm
227
- secretId:(nullable NSString *)secretId
228
- salt:(nullable NSString *)salt
229
- digest:(nullable NSString *)digest
230
174
  resolve:(RCTPromiseResolveBlock)resolve
231
175
  reject:(RCTPromiseRejectBlock)reject)
232
176
 
@@ -298,6 +242,14 @@ RCT_EXTERN_METHOD(setUserWithEncryptionAuthWithExpirationAndSetupUI:(NSString *)
298
242
  resolve:(RCTPromiseResolveBlock)resolve
299
243
  reject:(RCTPromiseRejectBlock)reject)
300
244
 
245
+ RCT_EXTERN_METHOD(listenToVendorStatus:(NSString *)vendorId
246
+ resolve:(RCTPromiseResolveBlock)resolve
247
+ reject:(RCTPromiseRejectBlock)reject)
248
+
249
+ RCT_EXTERN_METHOD(stopListeningToVendorStatus:(NSString *)vendorId
250
+ resolve:(RCTPromiseResolveBlock)resolve
251
+ reject:(RCTPromiseRejectBlock)reject)
252
+
301
253
  RCT_EXTERN_METHOD(supportedEvents)
302
254
 
303
255
  @end