@osano/osano-cmp-react-native 0.8.0 → 0.9.0

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 (148) hide show
  1. package/lib/commonjs/services/consent.js +91 -28
  2. package/lib/commonjs/services/consent.js.map +1 -1
  3. package/lib/module/services/consent.js +90 -28
  4. package/lib/module/services/consent.js.map +1 -1
  5. package/lib/typescript/lib/commonjs/services/consent.d.ts +1 -0
  6. package/lib/typescript/lib/commonjs/services/consent.d.ts.map +1 -1
  7. package/lib/typescript/lib/module/services/consent.d.ts +1 -0
  8. package/lib/typescript/lib/module/services/consent.d.ts.map +1 -1
  9. package/lib/typescript/src/services/consent.d.ts +10 -4
  10. package/lib/typescript/src/services/consent.d.ts.map +1 -1
  11. package/package.json +17 -9
  12. package/src/services/consent.ts +135 -41
  13. package/lib/typescript/src/iab/gpp/api.d.ts +0 -28
  14. package/lib/typescript/src/iab/gpp/api.d.ts.map +0 -1
  15. package/lib/typescript/src/iab/gpp/consent.d.ts +0 -24
  16. package/lib/typescript/src/iab/gpp/consent.d.ts.map +0 -1
  17. package/lib/typescript/src/iab/gpp/constants.d.ts +0 -37
  18. package/lib/typescript/src/iab/gpp/constants.d.ts.map +0 -1
  19. package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts +0 -28
  20. package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +0 -1
  21. package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts +0 -34
  22. package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts.map +0 -1
  23. package/lib/typescript/src/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts +0 -28
  24. package/lib/typescript/src/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts.map +0 -1
  25. package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts +0 -28
  26. package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts.map +0 -1
  27. package/lib/typescript/src/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts +0 -16
  28. package/lib/typescript/src/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts.map +0 -1
  29. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts +0 -28
  30. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts.map +0 -1
  31. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts +0 -28
  32. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts.map +0 -1
  33. package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts +0 -28
  34. package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts.map +0 -1
  35. package/lib/typescript/src/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts +0 -6
  36. package/lib/typescript/src/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts.map +0 -1
  37. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts +0 -28
  38. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts.map +0 -1
  39. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts +0 -28
  40. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts.map +0 -1
  41. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts +0 -28
  42. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts.map +0 -1
  43. package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts +0 -26
  44. package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts.map +0 -1
  45. package/lib/typescript/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts +0 -28
  46. package/lib/typescript/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts.map +0 -1
  47. package/lib/typescript/src/iab/gpp/encoders/errors.d.ts +0 -19
  48. package/lib/typescript/src/iab/gpp/encoders/errors.d.ts.map +0 -1
  49. package/lib/typescript/src/iab/gpp/encoders/index.d.ts +0 -16
  50. package/lib/typescript/src/iab/gpp/encoders/index.d.ts.map +0 -1
  51. package/lib/typescript/src/iab/gpp/encoders/types.d.ts +0 -5
  52. package/lib/typescript/src/iab/gpp/encoders/types.d.ts.map +0 -1
  53. package/lib/typescript/src/iab/gpp/index.d.ts +0 -10
  54. package/lib/typescript/src/iab/gpp/index.d.ts.map +0 -1
  55. package/lib/typescript/src/iab/gpp/reducer.d.ts +0 -6
  56. package/lib/typescript/src/iab/gpp/reducer.d.ts.map +0 -1
  57. package/lib/typescript/src/iab/gpp/selectors.d.ts +0 -6
  58. package/lib/typescript/src/iab/gpp/selectors.d.ts.map +0 -1
  59. package/lib/typescript/src/iab/gpp/types.d.ts +0 -3
  60. package/lib/typescript/src/iab/gpp/types.d.ts.map +0 -1
  61. package/lib/typescript/src/iab/gpp/v1/constants.d.ts +0 -9
  62. package/lib/typescript/src/iab/gpp/v1/constants.d.ts.map +0 -1
  63. package/lib/typescript/src/iab/gpp/v1/index.d.ts +0 -19
  64. package/lib/typescript/src/iab/gpp/v1/index.d.ts.map +0 -1
  65. package/lib/typescript/src/iab/usp/api.d.ts +0 -4
  66. package/lib/typescript/src/iab/usp/api.d.ts.map +0 -1
  67. package/lib/typescript/src/iab/usp/consent.d.ts +0 -13
  68. package/lib/typescript/src/iab/usp/consent.d.ts.map +0 -1
  69. package/lib/typescript/src/iab/usp/constants.d.ts +0 -77
  70. package/lib/typescript/src/iab/usp/constants.d.ts.map +0 -1
  71. package/lib/typescript/src/iab/usp/index.d.ts +0 -10
  72. package/lib/typescript/src/iab/usp/index.d.ts.map +0 -1
  73. package/lib/typescript/src/iab/usp/reducer.d.ts +0 -13
  74. package/lib/typescript/src/iab/usp/reducer.d.ts.map +0 -1
  75. package/lib/typescript/src/iab/usp/selectors.d.ts +0 -9
  76. package/lib/typescript/src/iab/usp/selectors.d.ts.map +0 -1
  77. package/lib/typescript/src/iab/usp/types.d.ts +0 -5
  78. package/lib/typescript/src/iab/usp/types.d.ts.map +0 -1
  79. package/lib/typescript/src/iab/usp/v1/constants.d.ts +0 -9
  80. package/lib/typescript/src/iab/usp/v1/constants.d.ts.map +0 -1
  81. package/lib/typescript/src/iab/usp/v1/index.d.ts +0 -16
  82. package/lib/typescript/src/iab/usp/v1/index.d.ts.map +0 -1
  83. package/lib/typescript/webdriverio-appium/common/commonCommands.d.ts +0 -21
  84. package/lib/typescript/webdriverio-appium/common/commonCommands.d.ts.map +0 -1
  85. package/lib/typescript/webdriverio-appium/config/wdio.conf.android.d.cts +0 -3
  86. package/lib/typescript/webdriverio-appium/config/wdio.conf.android.d.cts.map +0 -1
  87. package/lib/typescript/webdriverio-appium/config/wdio.conf.d.cts +0 -21
  88. package/lib/typescript/webdriverio-appium/config/wdio.conf.d.cts.map +0 -1
  89. package/lib/typescript/webdriverio-appium/config/wdio.conf.ios.d.cts +0 -3
  90. package/lib/typescript/webdriverio-appium/config/wdio.conf.ios.d.cts.map +0 -1
  91. package/lib/typescript/webdriverio-appium/test/android/six-drawer.d.ts +0 -2
  92. package/lib/typescript/webdriverio-appium/test/android/six-drawer.d.ts.map +0 -1
  93. package/lib/typescript/webdriverio-appium/test/ios/one.d.ts +0 -2
  94. package/lib/typescript/webdriverio-appium/test/ios/one.d.ts.map +0 -1
  95. package/lib/typescript/webdriverio-appium/test/ios/six.d.ts +0 -2
  96. package/lib/typescript/webdriverio-appium/test/ios/six.d.ts.map +0 -1
  97. package/lib/typescript/webdriverio-appium/test/ios/three.d.ts +0 -2
  98. package/lib/typescript/webdriverio-appium/test/ios/three.d.ts.map +0 -1
  99. package/lib/typescript/webdriverio-appium/test/ios/two-iab.d.ts +0 -2
  100. package/lib/typescript/webdriverio-appium/test/ios/two-iab.d.ts.map +0 -1
  101. package/lib/typescript/webdriverio-appium/test/ios/two.d.ts +0 -2
  102. package/lib/typescript/webdriverio-appium/test/ios/two.d.ts.map +0 -1
  103. package/lib/typescript/webdriverio-appium/test/one.d.ts +0 -2
  104. package/lib/typescript/webdriverio-appium/test/one.d.ts.map +0 -1
  105. package/lib/typescript/webdriverio-appium/test/six-iab.d.ts +0 -2
  106. package/lib/typescript/webdriverio-appium/test/six-iab.d.ts.map +0 -1
  107. package/lib/typescript/webdriverio-appium/test/three.d.ts +0 -2
  108. package/lib/typescript/webdriverio-appium/test/three.d.ts.map +0 -1
  109. package/lib/typescript/webdriverio-appium/test/two-iab.d.ts +0 -2
  110. package/lib/typescript/webdriverio-appium/test/two-iab.d.ts.map +0 -1
  111. package/lib/typescript/webdriverio-appium/test/two.d.ts +0 -2
  112. package/lib/typescript/webdriverio-appium/test/two.d.ts.map +0 -1
  113. package/src/iab/gpp/api.js +0 -253
  114. package/src/iab/gpp/consent.js +0 -114
  115. package/src/iab/gpp/constants.js +0 -49
  116. package/src/iab/gpp/encoders/AbstractBase64UrlEncoder.ts +0 -89
  117. package/src/iab/gpp/encoders/BooleanEncoder.ts +0 -39
  118. package/src/iab/gpp/encoders/CompressedBase64UrlEncoder.ts +0 -41
  119. package/src/iab/gpp/encoders/DatetimeEncoder.ts +0 -46
  120. package/src/iab/gpp/encoders/EncodableOptimizedFixedRange.ts +0 -213
  121. package/src/iab/gpp/encoders/FibonacciIntegerEncoder.ts +0 -81
  122. package/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.ts +0 -122
  123. package/src/iab/gpp/encoders/FixedBitfieldEncoder.ts +0 -59
  124. package/src/iab/gpp/encoders/FixedIdBitMapEncoder.ts +0 -30
  125. package/src/iab/gpp/encoders/FixedIntegerEncoder.ts +0 -61
  126. package/src/iab/gpp/encoders/FixedIntegerListEncoder.ts +0 -87
  127. package/src/iab/gpp/encoders/FixedIntegerRangeEncoder.ts +0 -102
  128. package/src/iab/gpp/encoders/FixedStringEncoder.ts +0 -74
  129. package/src/iab/gpp/encoders/LICENSE-IABTechLab +0 -176
  130. package/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.ts +0 -38
  131. package/src/iab/gpp/encoders/errors.ts +0 -41
  132. package/src/iab/gpp/encoders/index.ts +0 -15
  133. package/src/iab/gpp/encoders/types.ts +0 -5
  134. package/src/iab/gpp/index.js +0 -9
  135. package/src/iab/gpp/reducer.js +0 -7
  136. package/src/iab/gpp/selectors.js +0 -21
  137. package/src/iab/gpp/types.ts +0 -3
  138. package/src/iab/gpp/v1/constants.js +0 -7
  139. package/src/iab/gpp/v1/index.js +0 -73
  140. package/src/iab/usp/api.js +0 -56
  141. package/src/iab/usp/consent.js +0 -150
  142. package/src/iab/usp/constants.js +0 -40
  143. package/src/iab/usp/index.js +0 -9
  144. package/src/iab/usp/reducer.js +0 -107
  145. package/src/iab/usp/selectors.js +0 -31
  146. package/src/iab/usp/types.ts +0 -4
  147. package/src/iab/usp/v1/constants.js +0 -10
  148. package/src/iab/usp/v1/index.js +0 -54
@@ -3,16 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.recordConsent = exports.fetchConsent = exports.fetchConfig = exports.clearConsent = void 0;
6
+ exports.fetchConsent = exports.fetchConfig = exports.clearConsent = void 0;
7
+ exports.hashExtUsrData = hashExtUsrData;
8
+ exports.recordConsent = void 0;
7
9
  var _constants = require("../constants");
8
- var _reactNative = require("react-native");
10
+ var _OsanoCmp = require("../native/OsanoCmp");
9
11
  var _API = _interopRequireDefault(require("../utils/API"));
12
+ var _reactNative = require("react-native");
13
+ var _textEncoding = require("text-encoding");
10
14
  var _utils = require("../utils");
11
- var _OsanoCmp = require("../native/OsanoCmp");
15
+ var _jsSha = require("js-sha512");
12
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- // @ts-nocheck
14
- // file deepcode ignore DuplicateCaseBody: <please specify a reason of ignoring this>
15
-
17
+ const Buffer = require('buffer').Buffer;
16
18
  const {
17
19
  CONSENT_URI,
18
20
  LOOKUPS_URI,
@@ -34,7 +36,8 @@ function createConsentPayload(cmp, consent) {
34
36
  }).filter(([, value]) => value !== undefined));
35
37
  }
36
38
  function createConsentRecordPayload(cmp, consent) {
37
- const consentedCategories = consent ?? cmp.consent;
39
+ const consentedCategories = consent ?? cmp.consent ?? [];
40
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
38
41
  return Object.fromEntries(Object.entries({
39
42
  osnoCustomerId: cmp.customerId,
40
43
  osnoConfigId: cmp.configId,
@@ -42,7 +45,7 @@ function createConsentRecordPayload(cmp, consent) {
42
45
  consentingDomain: cmp.consentingDomain,
43
46
  consentingPlatform: `${_reactNative.Platform.OS}.react-native`,
44
47
  userConsentId: cmp.deviceId,
45
- extUsrData: cmp.extUsrData
48
+ extUsrData: hashedExtUsrData
46
49
  }).filter(([, value]) => value !== undefined));
47
50
  }
48
51
  const STORAGE_KEY = 'osano_consentmanager';
@@ -56,7 +59,9 @@ const storeConsent = async (cmp, consent) => {
56
59
  switch (_reactNative.Platform.OS) {
57
60
  case 'ios':
58
61
  case 'android':
59
- (0, _OsanoCmp.setStorage)(`${STORAGE_KEY}_${cmp.configId}`, JSON.stringify(cmp.consent)).then(resConsent).catch(reject);
62
+ (0, _OsanoCmp.setStorage)(`${STORAGE_KEY}_last_recorded_consent_date`, JSON.stringify(new Date())).then(() => {
63
+ (0, _OsanoCmp.setStorage)(`${STORAGE_KEY}_${cmp.configId}`, JSON.stringify(cmp.consent)).then(resConsent).catch(reject);
64
+ }).catch(reject);
60
65
  break;
61
66
  }
62
67
  });
@@ -74,7 +79,6 @@ const clearConsent = async cmp => {
74
79
  (0, _OsanoCmp.clearStorage)(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent);
75
80
  break;
76
81
  default:
77
- window.localStorage.removeItem(`${STORAGE_KEY}_${cmp.configId}`);
78
82
  break;
79
83
  }
80
84
  });
@@ -104,11 +108,29 @@ const retrieveConsent = async cmp => {
104
108
  });
105
109
  break;
106
110
  default:
107
- try {
108
- resConsent(window.localStorage.getItem(`${STORAGE_KEY}_${cmp.configId}`));
109
- } catch (e) {
110
- clearConsent(cmp).then(resolve);
111
- }
111
+ break;
112
+ }
113
+ });
114
+ };
115
+ const retrieveLastConsentTimestamp = async () => {
116
+ return new Promise(resolve => {
117
+ const resValue = consentJson => {
118
+ if (consentJson) {
119
+ const timestamp = JSON.parse(consentJson);
120
+ resolve(timestamp);
121
+ return timestamp;
122
+ } else {
123
+ resolve('');
124
+ return '';
125
+ }
126
+ };
127
+ switch (_reactNative.Platform.OS) {
128
+ case 'ios':
129
+ case 'android':
130
+ (0, _OsanoCmp.getStorage)(`${STORAGE_KEY}_last_recorded_consent_date`).then(resValue);
131
+ break;
132
+ default:
133
+ // nothing
112
134
  break;
113
135
  }
114
136
  });
@@ -123,24 +145,65 @@ const recordConsent = (cmp, consent) => {
123
145
  });
124
146
  };
125
147
  exports.recordConsent = recordConsent;
126
- const fetchConsent = cmp => {
148
+ function hashExtUsrData(customerId, configId, extUsrData) {
149
+ if (extUsrData === '' || customerId === '' || configId === '') {
150
+ return '';
151
+ } else {
152
+ try {
153
+ const encoder = new _textEncoding.TextEncoder();
154
+ const data = encoder.encode(`${customerId}/${configId}/${extUsrData}`);
155
+ const hash = _jsSha.sha512.arrayBuffer(data);
156
+ const base64 = Buffer.from(hash).toString('base64');
157
+ const hashUrlSafe = base64.replace(/\+/g, '-').replace(/\//g, '_');
158
+ return hashUrlSafe;
159
+ } catch (error) {
160
+ // something went wrong
161
+ return '';
162
+ }
163
+ }
164
+ }
165
+ const fetchConsent = async cmp => {
127
166
  const {
128
167
  customerId,
129
168
  configId,
130
- extUsrData: userData
169
+ extUsrData
131
170
  } = cmp;
132
- return retrieveConsent(cmp).catch(() => {
133
- // Consent not found
134
- return _API.default.get(`${LOOKUPS_URI}/customer/${customerId}/config/${configId}/user/${userData}/consent`).then(response => {
135
- const {
136
- consent
137
- } = response;
171
+ try {
172
+ const consent = await retrieveConsent(cmp);
173
+ const hashedUserData = hashExtUsrData(customerId, configId, extUsrData);
174
+
175
+ // No user data or remote consent disabled
176
+ if (hashedUserData === '' || cmp.config.remoteConsent === false) {
138
177
  return consent;
139
- }).then(consent => storeConsent(cmp, consent)).catch(() => {
140
- // Consent not found or network/server error
141
- return retrieveConsent(cmp);
142
- });
143
- });
178
+ }
179
+ const response = await _API.default.get(`${LOOKUPS_URI}/customer/${customerId}/config/${configId}/user/${hashedUserData}/consent`);
180
+ const {
181
+ consented,
182
+ lastConsentTimestamp
183
+ } = response;
184
+ if (!consented || !lastConsentTimestamp) {
185
+ // No remote consent found, use local consent
186
+ await storeConsent(cmp, consent);
187
+ return consent;
188
+ }
189
+ const internalTimestamp = await retrieveLastConsentTimestamp();
190
+ try {
191
+ if (new Date(lastConsentTimestamp) > new Date(internalTimestamp) || internalTimestamp === '') {
192
+ // Remote consent is newer or we haven't recorded any consent yet. Store remote consent.
193
+ const remoteConsentCategories = consented.map(category => _constants.ConsentCategory[category]);
194
+ await storeConsent(cmp, remoteConsentCategories);
195
+ return remoteConsentCategories;
196
+ }
197
+ } catch (error) {
198
+ // Error parsing timestamp
199
+ }
200
+ return consent;
201
+ } catch (error) {
202
+ console.error('Error fetching consent:', error);
203
+ // Consent not found or network/server error.
204
+ const consent = await retrieveConsent(cmp);
205
+ return consent;
206
+ }
144
207
  };
145
208
  exports.fetchConsent = fetchConsent;
146
209
  const fetchConfig = (customerId, configId) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_reactNative","_API","_interopRequireDefault","_utils","_OsanoCmp","e","__esModule","default","CONSENT_URI","LOOKUPS_URI","OSANO_ORIGIN","env","overrideConfig","variant","createConsentPayload","cmp","consent","Object","fromEntries","entries","customerId","configId","consented","consentingDomain","consentingPlatform","Platform","OS","deviceId","extUsrData","filter","value","undefined","createConsentRecordPayload","consentedCategories","osnoCustomerId","osnoConfigId","join","userConsentId","STORAGE_KEY","storeConsent","Promise","resolve","reject","resConsent","setStorage","JSON","stringify","then","catch","clearConsent","ConsentCategory","ESSENTIAL","clearStorage","window","localStorage","removeItem","exports","retrieveConsent","consentJson","parse","length","Error","getStorage","getItem","recordConsent","payload","API","post","referrer","consentCategories","error","fetchConsent","userData","get","response","fetchConfig","headers","json","merge","country","region","gdprApplies"],"sourceRoot":"../../../src","sources":["services/consent.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_OsanoCmp","_API","_interopRequireDefault","_reactNative","_textEncoding","_utils","_jsSha","e","__esModule","default","Buffer","CONSENT_URI","LOOKUPS_URI","OSANO_ORIGIN","env","overrideConfig","variant","createConsentPayload","cmp","consent","Object","fromEntries","entries","customerId","configId","consented","consentingDomain","consentingPlatform","Platform","OS","deviceId","extUsrData","filter","value","undefined","createConsentRecordPayload","consentedCategories","hashedExtUsrData","hashExtUsrData","osnoCustomerId","osnoConfigId","join","userConsentId","STORAGE_KEY","storeConsent","Promise","resolve","reject","resConsent","setStorage","JSON","stringify","Date","then","catch","clearConsent","ConsentCategory","ESSENTIAL","clearStorage","exports","retrieveConsent","consentJson","parse","length","Error","getStorage","retrieveLastConsentTimestamp","resValue","timestamp","recordConsent","payload","API","post","referrer","consentCategories","error","encoder","TextEncoder","data","encode","hash","sha512","arrayBuffer","base64","from","toString","hashUrlSafe","replace","fetchConsent","hashedUserData","config","remoteConsent","response","get","lastConsentTimestamp","internalTimestamp","remoteConsentCategories","map","category","ConsentCategoryType","console","fetchConfig","headers","json","merge","country","region","gdprApplies"],"sourceRoot":"../../../src","sources":["services/consent.ts"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,12 @@
1
- // @ts-nocheck
2
- // file deepcode ignore DuplicateCaseBody: <please specify a reason of ignoring this>
3
- import { env } from '../constants';
4
- import { Platform } from 'react-native';
1
+ import { ConsentCategory, ConsentCategory as ConsentCategoryType } from '../constants';
2
+ import { clearStorage, getStorage, setStorage } from '../native/OsanoCmp';
5
3
  import API from '../utils/API';
4
+ import { Platform } from 'react-native';
5
+ import { TextEncoder } from 'text-encoding';
6
+ import { env } from '../constants';
6
7
  import { merge } from '../utils';
7
- import { ConsentCategory } from '../constants';
8
- import { clearStorage, getStorage, setStorage } from '../native/OsanoCmp';
8
+ import { sha512 } from 'js-sha512';
9
+ const Buffer = require('buffer').Buffer;
9
10
  const {
10
11
  CONSENT_URI,
11
12
  LOOKUPS_URI,
@@ -27,7 +28,8 @@ function createConsentPayload(cmp, consent) {
27
28
  }).filter(([, value]) => value !== undefined));
28
29
  }
29
30
  function createConsentRecordPayload(cmp, consent) {
30
- const consentedCategories = consent ?? cmp.consent;
31
+ const consentedCategories = consent ?? cmp.consent ?? [];
32
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
31
33
  return Object.fromEntries(Object.entries({
32
34
  osnoCustomerId: cmp.customerId,
33
35
  osnoConfigId: cmp.configId,
@@ -35,7 +37,7 @@ function createConsentRecordPayload(cmp, consent) {
35
37
  consentingDomain: cmp.consentingDomain,
36
38
  consentingPlatform: `${Platform.OS}.react-native`,
37
39
  userConsentId: cmp.deviceId,
38
- extUsrData: cmp.extUsrData
40
+ extUsrData: hashedExtUsrData
39
41
  }).filter(([, value]) => value !== undefined));
40
42
  }
41
43
  const STORAGE_KEY = 'osano_consentmanager';
@@ -49,7 +51,9 @@ const storeConsent = async (cmp, consent) => {
49
51
  switch (Platform.OS) {
50
52
  case 'ios':
51
53
  case 'android':
52
- setStorage(`${STORAGE_KEY}_${cmp.configId}`, JSON.stringify(cmp.consent)).then(resConsent).catch(reject);
54
+ setStorage(`${STORAGE_KEY}_last_recorded_consent_date`, JSON.stringify(new Date())).then(() => {
55
+ setStorage(`${STORAGE_KEY}_${cmp.configId}`, JSON.stringify(cmp.consent)).then(resConsent).catch(reject);
56
+ }).catch(reject);
53
57
  break;
54
58
  }
55
59
  });
@@ -67,7 +71,6 @@ export const clearConsent = async cmp => {
67
71
  clearStorage(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent);
68
72
  break;
69
73
  default:
70
- window.localStorage.removeItem(`${STORAGE_KEY}_${cmp.configId}`);
71
74
  break;
72
75
  }
73
76
  });
@@ -96,11 +99,29 @@ const retrieveConsent = async cmp => {
96
99
  });
97
100
  break;
98
101
  default:
99
- try {
100
- resConsent(window.localStorage.getItem(`${STORAGE_KEY}_${cmp.configId}`));
101
- } catch (e) {
102
- clearConsent(cmp).then(resolve);
103
- }
102
+ break;
103
+ }
104
+ });
105
+ };
106
+ const retrieveLastConsentTimestamp = async () => {
107
+ return new Promise(resolve => {
108
+ const resValue = consentJson => {
109
+ if (consentJson) {
110
+ const timestamp = JSON.parse(consentJson);
111
+ resolve(timestamp);
112
+ return timestamp;
113
+ } else {
114
+ resolve('');
115
+ return '';
116
+ }
117
+ };
118
+ switch (Platform.OS) {
119
+ case 'ios':
120
+ case 'android':
121
+ getStorage(`${STORAGE_KEY}_last_recorded_consent_date`).then(resValue);
122
+ break;
123
+ default:
124
+ // nothing
104
125
  break;
105
126
  }
106
127
  });
@@ -114,24 +135,65 @@ export const recordConsent = (cmp, consent) => {
114
135
  throw error;
115
136
  });
116
137
  };
117
- export const fetchConsent = cmp => {
138
+ export function hashExtUsrData(customerId, configId, extUsrData) {
139
+ if (extUsrData === '' || customerId === '' || configId === '') {
140
+ return '';
141
+ } else {
142
+ try {
143
+ const encoder = new TextEncoder();
144
+ const data = encoder.encode(`${customerId}/${configId}/${extUsrData}`);
145
+ const hash = sha512.arrayBuffer(data);
146
+ const base64 = Buffer.from(hash).toString('base64');
147
+ const hashUrlSafe = base64.replace(/\+/g, '-').replace(/\//g, '_');
148
+ return hashUrlSafe;
149
+ } catch (error) {
150
+ // something went wrong
151
+ return '';
152
+ }
153
+ }
154
+ }
155
+ export const fetchConsent = async cmp => {
118
156
  const {
119
157
  customerId,
120
158
  configId,
121
- extUsrData: userData
159
+ extUsrData
122
160
  } = cmp;
123
- return retrieveConsent(cmp).catch(() => {
124
- // Consent not found
125
- return API.get(`${LOOKUPS_URI}/customer/${customerId}/config/${configId}/user/${userData}/consent`).then(response => {
126
- const {
127
- consent
128
- } = response;
161
+ try {
162
+ const consent = await retrieveConsent(cmp);
163
+ const hashedUserData = hashExtUsrData(customerId, configId, extUsrData);
164
+
165
+ // No user data or remote consent disabled
166
+ if (hashedUserData === '' || cmp.config.remoteConsent === false) {
129
167
  return consent;
130
- }).then(consent => storeConsent(cmp, consent)).catch(() => {
131
- // Consent not found or network/server error
132
- return retrieveConsent(cmp);
133
- });
134
- });
168
+ }
169
+ const response = await API.get(`${LOOKUPS_URI}/customer/${customerId}/config/${configId}/user/${hashedUserData}/consent`);
170
+ const {
171
+ consented,
172
+ lastConsentTimestamp
173
+ } = response;
174
+ if (!consented || !lastConsentTimestamp) {
175
+ // No remote consent found, use local consent
176
+ await storeConsent(cmp, consent);
177
+ return consent;
178
+ }
179
+ const internalTimestamp = await retrieveLastConsentTimestamp();
180
+ try {
181
+ if (new Date(lastConsentTimestamp) > new Date(internalTimestamp) || internalTimestamp === '') {
182
+ // Remote consent is newer or we haven't recorded any consent yet. Store remote consent.
183
+ const remoteConsentCategories = consented.map(category => ConsentCategoryType[category]);
184
+ await storeConsent(cmp, remoteConsentCategories);
185
+ return remoteConsentCategories;
186
+ }
187
+ } catch (error) {
188
+ // Error parsing timestamp
189
+ }
190
+ return consent;
191
+ } catch (error) {
192
+ console.error('Error fetching consent:', error);
193
+ // Consent not found or network/server error.
194
+ const consent = await retrieveConsent(cmp);
195
+ return consent;
196
+ }
135
197
  };
136
198
  export const fetchConfig = (customerId, configId) => {
137
199
  return API.get(`${OSANO_ORIGIN}/${customerId}/${configId}/config.json`, true).then(response => {
@@ -1 +1 @@
1
- {"version":3,"names":["env","Platform","API","merge","ConsentCategory","clearStorage","getStorage","setStorage","CONSENT_URI","LOOKUPS_URI","OSANO_ORIGIN","overrideConfig","variant","createConsentPayload","cmp","consent","Object","fromEntries","entries","customerId","configId","consented","consentingDomain","consentingPlatform","OS","deviceId","extUsrData","filter","value","undefined","createConsentRecordPayload","consentedCategories","osnoCustomerId","osnoConfigId","join","userConsentId","STORAGE_KEY","storeConsent","Promise","resolve","reject","resConsent","JSON","stringify","then","catch","clearConsent","ESSENTIAL","window","localStorage","removeItem","retrieveConsent","consentJson","parse","length","Error","getItem","e","recordConsent","payload","post","referrer","consentCategories","error","fetchConsent","userData","get","response","fetchConfig","headers","json","country","region","gdprApplies"],"sourceRoot":"../../../src","sources":["services/consent.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ConsentCategory","ConsentCategoryType","clearStorage","getStorage","setStorage","API","Platform","TextEncoder","env","merge","sha512","Buffer","require","CONSENT_URI","LOOKUPS_URI","OSANO_ORIGIN","overrideConfig","variant","createConsentPayload","cmp","consent","Object","fromEntries","entries","customerId","configId","consented","consentingDomain","consentingPlatform","OS","deviceId","extUsrData","filter","value","undefined","createConsentRecordPayload","consentedCategories","hashedExtUsrData","hashExtUsrData","osnoCustomerId","osnoConfigId","join","userConsentId","STORAGE_KEY","storeConsent","Promise","resolve","reject","resConsent","JSON","stringify","Date","then","catch","clearConsent","ESSENTIAL","retrieveConsent","consentJson","parse","length","Error","retrieveLastConsentTimestamp","resValue","timestamp","recordConsent","payload","post","referrer","consentCategories","error","encoder","data","encode","hash","arrayBuffer","base64","from","toString","hashUrlSafe","replace","fetchConsent","hashedUserData","config","remoteConsent","response","get","lastConsentTimestamp","internalTimestamp","remoteConsentCategories","map","category","console","fetchConfig","headers","json","country","region","gdprApplies"],"sourceRoot":"../../../src","sources":["services/consent.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  export const __esModule: boolean;
2
+ export function hashExtUsrData(customerId: any, configId: any, extUsrData: any): string;
2
3
  export function clearConsent(cmp: any): Promise<any>;
3
4
  export function recordConsent(cmp: any, consent: any): any;
4
5
  export function fetchConsent(cmp: any): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../commonjs/services/consent.js"],"names":[],"mappings":";AA+DA,qDAiBC;AAmCD,2DAQC;AAED,qDAkBC;AAED,iEAiBC"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../commonjs/services/consent.js"],"names":[],"mappings":";AAmJA,wFAgBC;AA/FD,qDAgBC;AAqDD,2DAQC;AAmBD,qDA0CC;AAED,iEAiBC"}
@@ -1,3 +1,4 @@
1
+ export function hashExtUsrData(customerId: any, configId: any, extUsrData: any): string;
1
2
  export function clearConsent(cmp: any): Promise<any>;
2
3
  export function recordConsent(cmp: any, consent: any): Promise<any>;
3
4
  export function fetchConsent(cmp: any): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../module/services/consent.js"],"names":[],"mappings":"AAwDO,qDAiBN;AAkCM,oEAQN;AACM,qDAkBN;AACM,0EAiBN"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../module/services/consent.js"],"names":[],"mappings":"AAyIA,wFAgBC;AA7FM,qDAgBN;AAoDM,oEAQN;AAkBM,qDA0CN;AACM,0EAiBN"}
@@ -1,6 +1,6 @@
1
+ import { ConsentCategory, ConsentCategory as ConsentCategoryType } from '../constants';
1
2
  import type { Config } from '../types/consent-config';
2
3
  import type { ConsentManager } from '../ConsentManager';
3
- import { type ConsentCategory as ConsentCategoryType } from '../constants';
4
4
  export type ConsentPayload = {
5
5
  customerId: string;
6
6
  configId: string;
@@ -19,8 +19,14 @@ export type ConsentRecordPayload = {
19
19
  userConsentId: string;
20
20
  extUsrData?: string;
21
21
  };
22
- export declare const clearConsent: (cmp: ConsentManager) => Promise<ConsentCategoryType[]>;
23
- export declare const recordConsent: (cmp: ConsentManager, consent?: ConsentCategoryType[]) => Promise<ConsentCategoryType[]>;
24
- export declare const fetchConsent: (cmp: ConsentManager) => Promise<ConsentCategoryType[]>;
22
+ export type ConsentLookupResponseType = {
23
+ consented: string[];
24
+ lastConsentTimestamp: string;
25
+ userConsentId: string;
26
+ };
27
+ export declare const clearConsent: (cmp: ConsentManager) => Promise<ConsentCategory[]>;
28
+ export declare const recordConsent: (cmp: ConsentManager, consent?: ConsentCategoryType[]) => Promise<ConsentCategory[]>;
29
+ export declare function hashExtUsrData(customerId: string, configId: string, extUsrData: string): string;
30
+ export declare const fetchConsent: (cmp: ConsentManager) => Promise<ConsentCategory[]>;
25
31
  export declare const fetchConfig: (customerId: string, configId: string) => Promise<Config | null>;
26
32
  //# sourceMappingURL=consent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/services/consent.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACN,KAAK,eAAe,IAAI,mBAAmB,EAE3C,MAAM,cAAc,CAAC;AAUtB,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA+DF,eAAO,MAAM,YAAY,QAAe,cAAc,mCAiBrD,CAAC;AAwCF,eAAO,MAAM,aAAa,QACpB,cAAc,YACT,mBAAmB,EAAE,mCAU/B,CAAC;AAEF,eAAO,MAAM,YAAY,QAAS,cAAc,mCAiB/C,CAAC;AAEF,eAAO,MAAM,WAAW,eAAgB,MAAM,YAAY,MAAM,2BAsB/D,CAAC"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/services/consent.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,eAAe,IAAI,mBAAmB,EACtC,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgBxD,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AA2EF,eAAO,MAAM,YAAY,QAAe,cAAc,+BAgBrD,CAAC;AAyDF,eAAO,MAAM,aAAa,QACpB,cAAc,YACT,mBAAmB,EAAE,+BAY/B,CAAC;AAEF,wBAAgB,cAAc,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAChB,MAAM,CAgBR;AAED,eAAO,MAAM,YAAY,QAAe,cAAc,+BAmDrD,CAAC;AAEF,eAAO,MAAM,WAAW,eAAgB,MAAM,YAAY,MAAM,2BAsB/D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osano/osano-cmp-react-native",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Package and example for the react-native Osano CMP SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -23,11 +23,19 @@
23
23
  "!**/__tests__",
24
24
  "!**/__fixtures__",
25
25
  "!**/__mocks__",
26
- "!**/.*"
26
+ "!**/.*",
27
+ "!src/iab/usp",
28
+ "!src/iab/gpp",
29
+ "!lib/typescript/webdriverio-appium/**",
30
+ "!lib/typescript/webdriverio-appium/common/**",
31
+ "!lib/typescript/webdriverio-appium/config/**",
32
+ "!lib/typescript/webdriverio-appium/test/**",
33
+ "!lib/typescript/src/iab/usp",
34
+ "!lib/typescript/src/iab/gpp"
27
35
  ],
28
36
  "scripts": {
29
37
  "example": "yarn workspace osano-cmp-sdk-example",
30
- "test": "jest ./src/__tests__/index.test.ts",
38
+ "test": "jest src/services/__tests__/consent.test.ts src/__tests__/index.test.tsx",
31
39
  "typecheck": "tsc --noEmit",
32
40
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
33
41
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
@@ -65,17 +73,20 @@
65
73
  "@docusaurus/module-type-aliases": "3.5.2",
66
74
  "@docusaurus/preset-classic": "3.5.2",
67
75
  "@mdx-js/react": "^3.0.1",
76
+ "@testing-library/react-native": "^12.8.1",
68
77
  "@types/jest": "^29.5.5",
69
78
  "@types/react": "^18.2.44",
79
+ "@types/react-test-renderer": "^18.3.0",
80
+ "@types/text-encoding": "^0.0.39",
70
81
  "commitlint": "^17.0.2",
71
82
  "del-cli": "^5.1.0",
72
83
  "jest": "^29.7.0",
73
84
  "prettier": "^3.0.3",
74
85
  "prism-react-renderer": "^2.4.0",
75
86
  "react": "18.3.1",
76
- "react-dom": "18.3.1",
77
87
  "react-native": "0.74.4",
78
88
  "react-native-builder-bob": "^0.23.2",
89
+ "react-test-renderer": "^18.3.1",
79
90
  "release-it": "^17.6.0",
80
91
  "turbo": "^1.10.7",
81
92
  "typescript": "^5.2.2"
@@ -131,12 +142,9 @@
131
142
  ]
132
143
  },
133
144
  "dependencies": {
134
- "@testing-library/react-native": "^12.5.0",
135
- "@types/react-test-renderer": "^18.3.0",
136
- "react": "*",
137
- "react-dom": "^17.0.2",
145
+ "js-sha512": "^0.9.0",
138
146
  "react-native-picker-modal-view": "^1.3.2",
139
147
  "react-native-svg": "^15.1.0",
140
- "react-test-renderer": "^18.3.1"
148
+ "text-encoding": "^0.7.0"
141
149
  }
142
150
  }