@redacto.io/consent-sdk-react-native 5.0.0-beta.5 → 5.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -0
- package/dist/{chunk-UVRSRLYW.mjs → chunk-B2TXWC2C.mjs} +4 -0
- package/dist/index.d.mts +28 -2
- package/dist/index.d.ts +28 -2
- package/dist/index.js +136 -49
- package/dist/index.mjs +135 -50
- package/dist/privacy-center.d.mts +52 -4
- package/dist/privacy-center.d.ts +52 -4
- package/dist/privacy-center.js +249 -56
- package/dist/privacy-center.mjs +248 -57
- package/package.json +1 -1
package/dist/privacy-center.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
+
SANDBOX_TOKEN_HEADER,
|
|
2
3
|
__require,
|
|
3
4
|
languageOptions
|
|
4
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-B2TXWC2C.mjs";
|
|
5
6
|
|
|
6
7
|
// src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx
|
|
7
8
|
import { useEffect as useEffect20 } from "react";
|
|
@@ -9750,6 +9751,33 @@ function useSafeInsets() {
|
|
|
9750
9751
|
// src/RedactoPrivacyCenter/context/BaseUrlContext.tsx
|
|
9751
9752
|
import { createContext, useContext, useMemo } from "react";
|
|
9752
9753
|
|
|
9754
|
+
// src/RedactoPrivacyCenter/lib/sandbox.ts
|
|
9755
|
+
var sandboxConfig = null;
|
|
9756
|
+
var setSandboxConfig = (config) => {
|
|
9757
|
+
sandboxConfig = config;
|
|
9758
|
+
};
|
|
9759
|
+
var getSandboxConfig = () => sandboxConfig;
|
|
9760
|
+
var isSandboxMode = () => sandboxConfig !== null;
|
|
9761
|
+
var sandboxAuthHeaders = () => {
|
|
9762
|
+
if (!sandboxConfig) {
|
|
9763
|
+
return null;
|
|
9764
|
+
}
|
|
9765
|
+
return {
|
|
9766
|
+
[SANDBOX_TOKEN_HEADER]: sandboxConfig.token
|
|
9767
|
+
};
|
|
9768
|
+
};
|
|
9769
|
+
var sandboxBodyIdentity = () => {
|
|
9770
|
+
if (!sandboxConfig) {
|
|
9771
|
+
return null;
|
|
9772
|
+
}
|
|
9773
|
+
if (sandboxConfig.ucic) {
|
|
9774
|
+
return { org_user_id: sandboxConfig.ucic };
|
|
9775
|
+
}
|
|
9776
|
+
return sandboxConfig.subject.includes("@") ? { primary_email: sandboxConfig.subject } : { primary_mobile: sandboxConfig.subject };
|
|
9777
|
+
};
|
|
9778
|
+
var sandboxQueryIdentity = () => sandboxBodyIdentity();
|
|
9779
|
+
var sandboxContact = () => sandboxConfig ? sandboxConfig.ucic || sandboxConfig.subject : null;
|
|
9780
|
+
|
|
9753
9781
|
// src/RedactoPrivacyCenter/api/fetcher.ts
|
|
9754
9782
|
async function apiFetch(url, options = {}) {
|
|
9755
9783
|
const { getAuthToken, headers = {}, ...fetchOptions } = options;
|
|
@@ -9775,11 +9803,18 @@ async function apiFetch(url, options = {}) {
|
|
|
9775
9803
|
}
|
|
9776
9804
|
}
|
|
9777
9805
|
if (getAuthToken) {
|
|
9778
|
-
const
|
|
9779
|
-
if (
|
|
9780
|
-
|
|
9781
|
-
|
|
9782
|
-
|
|
9806
|
+
const sandboxHeaders = sandboxAuthHeaders();
|
|
9807
|
+
if (sandboxHeaders) {
|
|
9808
|
+
Object.entries(sandboxHeaders).forEach(([key, value]) => {
|
|
9809
|
+
requestHeaders.set(key, value);
|
|
9810
|
+
});
|
|
9811
|
+
} else {
|
|
9812
|
+
const token = await getAuthToken();
|
|
9813
|
+
if (token) {
|
|
9814
|
+
const trimmedToken = token.trim();
|
|
9815
|
+
requestHeaders.set("X-Auth-Token", trimmedToken);
|
|
9816
|
+
requestHeaders.set("x-auth-token", trimmedToken);
|
|
9817
|
+
}
|
|
9783
9818
|
}
|
|
9784
9819
|
}
|
|
9785
9820
|
const fetchOptionsFinal = {
|
|
@@ -9870,14 +9905,29 @@ function arrayBufferToBase64(buffer) {
|
|
|
9870
9905
|
return result;
|
|
9871
9906
|
}
|
|
9872
9907
|
function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
9873
|
-
const
|
|
9908
|
+
const ledgerConfigured = Boolean(ledgerBaseUrl);
|
|
9909
|
+
const useLedger = () => ledgerConfigured && !isSandboxMode();
|
|
9874
9910
|
const ledgerBase = (ledgerBaseUrl != null ? ledgerBaseUrl : "").replace(/\/$/, "");
|
|
9875
9911
|
function ledgerUrl(baseRequest, path) {
|
|
9876
|
-
if (!useLedger) {
|
|
9912
|
+
if (!useLedger()) {
|
|
9877
9913
|
throw new Error("ledgerUrl called without a configured ledgerBaseUrl");
|
|
9878
9914
|
}
|
|
9879
9915
|
return `${ledgerBase}/public/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}${path}`;
|
|
9880
9916
|
}
|
|
9917
|
+
function appendSandboxIdentity(queryParams) {
|
|
9918
|
+
const identity = sandboxQueryIdentity();
|
|
9919
|
+
if (identity) {
|
|
9920
|
+
Object.entries(identity).forEach(([key, value]) => {
|
|
9921
|
+
queryParams.append(key, value);
|
|
9922
|
+
});
|
|
9923
|
+
}
|
|
9924
|
+
}
|
|
9925
|
+
function sandboxIdentitySuffix() {
|
|
9926
|
+
const queryParams = new URLSearchParams();
|
|
9927
|
+
appendSandboxIdentity(queryParams);
|
|
9928
|
+
const queryString = queryParams.toString();
|
|
9929
|
+
return queryString ? `?${queryString}` : "";
|
|
9930
|
+
}
|
|
9881
9931
|
async function privacyCenterApiFetch(url, options) {
|
|
9882
9932
|
const { authToken, getAuthToken, headers = {}, ...fetchOptions } = options;
|
|
9883
9933
|
const requestHeaders = new Headers();
|
|
@@ -9901,11 +9951,18 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
9901
9951
|
);
|
|
9902
9952
|
}
|
|
9903
9953
|
}
|
|
9904
|
-
const
|
|
9905
|
-
if (
|
|
9906
|
-
|
|
9907
|
-
|
|
9908
|
-
|
|
9954
|
+
const sandboxHeaders = sandboxAuthHeaders();
|
|
9955
|
+
if (sandboxHeaders) {
|
|
9956
|
+
Object.entries(sandboxHeaders).forEach(([key, value]) => {
|
|
9957
|
+
requestHeaders.set(key, value);
|
|
9958
|
+
});
|
|
9959
|
+
} else {
|
|
9960
|
+
const token = authToken || (getAuthToken ? await getAuthToken() : null);
|
|
9961
|
+
if (token) {
|
|
9962
|
+
const trimmedToken = token.trim();
|
|
9963
|
+
const bearerToken = trimmedToken.startsWith("Bearer ") ? trimmedToken : `Bearer ${trimmedToken}`;
|
|
9964
|
+
requestHeaders.set("Authorization", bearerToken);
|
|
9965
|
+
}
|
|
9909
9966
|
}
|
|
9910
9967
|
const fetchOptionsFinal = {
|
|
9911
9968
|
...fetchOptions,
|
|
@@ -9986,18 +10043,20 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
9986
10043
|
async createCaseRequest(baseRequest, payload, authToken, options) {
|
|
9987
10044
|
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/case`;
|
|
9988
10045
|
const { useSessionAuth = false, getAuthToken, ...fetchOptions } = options || {};
|
|
10046
|
+
const contact = sandboxContact();
|
|
10047
|
+
const requestPayload = contact && payload && typeof payload === "object" ? { ...payload, contact } : payload;
|
|
9989
10048
|
if (useSessionAuth) {
|
|
9990
10049
|
return apiFetch(url, {
|
|
9991
10050
|
...fetchOptions,
|
|
9992
10051
|
method: "POST",
|
|
9993
|
-
body: JSON.stringify(
|
|
10052
|
+
body: JSON.stringify(requestPayload),
|
|
9994
10053
|
getAuthToken
|
|
9995
10054
|
});
|
|
9996
10055
|
}
|
|
9997
10056
|
return privacyCenterApiFetch(url, {
|
|
9998
10057
|
...fetchOptions,
|
|
9999
10058
|
method: "POST",
|
|
10000
|
-
body: JSON.stringify(
|
|
10059
|
+
body: JSON.stringify(requestPayload),
|
|
10001
10060
|
authToken: authToken || baseRequest.authToken
|
|
10002
10061
|
});
|
|
10003
10062
|
},
|
|
@@ -10078,9 +10137,10 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10078
10137
|
if (params.status) queryParams.append("status", params.status);
|
|
10079
10138
|
if (params.product_uuid) queryParams.append("product_uuid", params.product_uuid);
|
|
10080
10139
|
if (params.language) queryParams.append("language", params.language);
|
|
10140
|
+
appendSandboxIdentity(queryParams);
|
|
10081
10141
|
const queryString = queryParams.toString();
|
|
10082
10142
|
const consentsSuffix = `/user-consents${queryString ? `?${queryString}` : ""}`;
|
|
10083
|
-
const url = useLedger ? ledgerUrl(baseRequest, consentsSuffix) : `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center${consentsSuffix}`;
|
|
10143
|
+
const url = useLedger() ? ledgerUrl(baseRequest, consentsSuffix) : `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center${consentsSuffix}`;
|
|
10084
10144
|
return privacyCenterApiFetch(url, {
|
|
10085
10145
|
...options,
|
|
10086
10146
|
method: "GET",
|
|
@@ -10099,9 +10159,10 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10099
10159
|
if (params.search) queryParams.append("search", params.search);
|
|
10100
10160
|
if (params.language) queryParams.append("language", params.language);
|
|
10101
10161
|
if (params.nominator_uuid) queryParams.append("nominator_uuid", params.nominator_uuid);
|
|
10162
|
+
appendSandboxIdentity(queryParams);
|
|
10102
10163
|
const queryString = queryParams.toString();
|
|
10103
10164
|
const purposesSuffix = `/user-consents/${productUuid}/purposes${queryString ? `?${queryString}` : ""}`;
|
|
10104
|
-
const url = useLedger ? ledgerUrl(baseRequest, purposesSuffix) : `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center${purposesSuffix}`;
|
|
10165
|
+
const url = useLedger() ? ledgerUrl(baseRequest, purposesSuffix) : `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center${purposesSuffix}`;
|
|
10105
10166
|
return privacyCenterApiFetch(url, {
|
|
10106
10167
|
...options,
|
|
10107
10168
|
method: "GET",
|
|
@@ -10123,9 +10184,13 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10123
10184
|
* used with its `{ purpose_uuid, contact, ... }` payload.
|
|
10124
10185
|
*/
|
|
10125
10186
|
async manageConsent(baseRequest, purposeId, contact, status, authToken, options, nominatorContact, dataElementUuids, noticeUuid, dataElements, language) {
|
|
10126
|
-
if (!useLedger) {
|
|
10187
|
+
if (!useLedger()) {
|
|
10127
10188
|
const url2 = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/manage-consent?status=${status}`;
|
|
10128
|
-
const
|
|
10189
|
+
const sandboxSingleContact = sandboxContact();
|
|
10190
|
+
const body2 = {
|
|
10191
|
+
purpose_uuid: purposeId,
|
|
10192
|
+
contact: sandboxSingleContact != null ? sandboxSingleContact : contact
|
|
10193
|
+
};
|
|
10129
10194
|
if (nominatorContact) {
|
|
10130
10195
|
body2.nominator_contact = nominatorContact;
|
|
10131
10196
|
}
|
|
@@ -10188,6 +10253,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10188
10253
|
if (offset !== void 0) queryParams.append("offset", offset.toString());
|
|
10189
10254
|
if (limit !== void 0) queryParams.append("limit", limit.toString());
|
|
10190
10255
|
if (language) queryParams.append("language", language);
|
|
10256
|
+
appendSandboxIdentity(queryParams);
|
|
10191
10257
|
const queryString = queryParams.toString();
|
|
10192
10258
|
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/activities${queryString ? `?${queryString}` : ""}`;
|
|
10193
10259
|
return privacyCenterApiFetch(url, {
|
|
@@ -10208,9 +10274,10 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10208
10274
|
if (params.created_before) queryParams.append("created_before", params.created_before);
|
|
10209
10275
|
if (params.notice_uuid) queryParams.append("notice_uuid", params.notice_uuid);
|
|
10210
10276
|
if (params.language) queryParams.append("language", params.language);
|
|
10277
|
+
appendSandboxIdentity(queryParams);
|
|
10211
10278
|
const queryString = queryParams.toString();
|
|
10212
10279
|
const receiptsSuffix = `/receipts${queryString ? `?${queryString}` : ""}`;
|
|
10213
|
-
const url = useLedger ? ledgerUrl(baseRequest, receiptsSuffix) : `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center${receiptsSuffix}`;
|
|
10280
|
+
const url = useLedger() ? ledgerUrl(baseRequest, receiptsSuffix) : `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center${receiptsSuffix}`;
|
|
10214
10281
|
return privacyCenterApiFetch(url, {
|
|
10215
10282
|
...options,
|
|
10216
10283
|
method: "GET",
|
|
@@ -10224,11 +10291,16 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10224
10291
|
* the RN UI writes to a temp file to open/share. 404 => not found.
|
|
10225
10292
|
*/
|
|
10226
10293
|
async getReceiptPdf(baseRequest, receiptUuid, authToken) {
|
|
10227
|
-
const url = useLedger ? ledgerUrl(baseRequest, `/receipts/${receiptUuid}/download`) : `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/receipts/${receiptUuid}/pdf`;
|
|
10294
|
+
const url = useLedger() ? ledgerUrl(baseRequest, `/receipts/${receiptUuid}/download`) : `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/receipts/${receiptUuid}/pdf`;
|
|
10228
10295
|
const token = authToken || baseRequest.authToken;
|
|
10229
10296
|
const requestHeaders = new Headers();
|
|
10230
10297
|
requestHeaders.set("Accept", "application/pdf");
|
|
10231
|
-
|
|
10298
|
+
const sandboxHeaders = sandboxAuthHeaders();
|
|
10299
|
+
if (sandboxHeaders) {
|
|
10300
|
+
Object.entries(sandboxHeaders).forEach(([key, value]) => {
|
|
10301
|
+
requestHeaders.set(key, value);
|
|
10302
|
+
});
|
|
10303
|
+
} else if (token) {
|
|
10232
10304
|
const trimmedToken = token.trim();
|
|
10233
10305
|
const bearerToken = trimmedToken.startsWith("Bearer ") ? trimmedToken : `Bearer ${trimmedToken}`;
|
|
10234
10306
|
requestHeaders.set("Authorization", bearerToken);
|
|
@@ -10254,6 +10326,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10254
10326
|
if (offset !== void 0) queryParams.append("offset", offset.toString());
|
|
10255
10327
|
if (limit !== void 0) queryParams.append("limit", limit.toString());
|
|
10256
10328
|
if (language) queryParams.append("language", language);
|
|
10329
|
+
appendSandboxIdentity(queryParams);
|
|
10257
10330
|
const queryString = queryParams.toString();
|
|
10258
10331
|
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/cases?${queryString}`;
|
|
10259
10332
|
return privacyCenterApiFetch(url, {
|
|
@@ -10265,7 +10338,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10265
10338
|
* Get case messages (privacy center)
|
|
10266
10339
|
*/
|
|
10267
10340
|
async getCaseMessages(baseRequest, caseUuid, authToken, options) {
|
|
10268
|
-
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/cases/${caseUuid}/messages`;
|
|
10341
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/cases/${caseUuid}/messages${sandboxIdentitySuffix()}`;
|
|
10269
10342
|
return privacyCenterApiFetch(url, {
|
|
10270
10343
|
...options,
|
|
10271
10344
|
authToken: authToken || baseRequest.authToken
|
|
@@ -10275,7 +10348,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10275
10348
|
* Send a message in a case (privacy center)
|
|
10276
10349
|
*/
|
|
10277
10350
|
async sendCaseMessage(baseRequest, caseUuid, body, documentUuids, authToken, options) {
|
|
10278
|
-
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/cases/${caseUuid}/messages`;
|
|
10351
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/cases/${caseUuid}/messages${sandboxIdentitySuffix()}`;
|
|
10279
10352
|
return privacyCenterApiFetch(url, {
|
|
10280
10353
|
...options,
|
|
10281
10354
|
method: "POST",
|
|
@@ -10287,7 +10360,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10287
10360
|
* Upload a document for a case (privacy center)
|
|
10288
10361
|
*/
|
|
10289
10362
|
async uploadCaseDocument(baseRequest, caseUuid, formData, authToken, options) {
|
|
10290
|
-
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/cases/${caseUuid}/upload-document`;
|
|
10363
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/cases/${caseUuid}/upload-document${sandboxIdentitySuffix()}`;
|
|
10291
10364
|
return privacyCenterApiFetch(url, {
|
|
10292
10365
|
...options,
|
|
10293
10366
|
method: "POST",
|
|
@@ -10320,6 +10393,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10320
10393
|
if ((params == null ? void 0 : params.limit) !== void 0) queryParams.append("limit", params.limit.toString());
|
|
10321
10394
|
if (params == null ? void 0 : params.include_summary) queryParams.append("include_summary", "true");
|
|
10322
10395
|
if (params == null ? void 0 : params.language) queryParams.append("language", params.language);
|
|
10396
|
+
appendSandboxIdentity(queryParams);
|
|
10323
10397
|
const queryString = queryParams.toString();
|
|
10324
10398
|
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/${queryString ? `?${queryString}` : ""}`;
|
|
10325
10399
|
return privacyCenterApiFetch(url, {
|
|
@@ -10331,7 +10405,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10331
10405
|
* Get notification summary (aggregated counts only)
|
|
10332
10406
|
*/
|
|
10333
10407
|
async getNotificationSummary(baseRequest, authToken) {
|
|
10334
|
-
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/summary`;
|
|
10408
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/summary${sandboxIdentitySuffix()}`;
|
|
10335
10409
|
return privacyCenterApiFetch(url, {
|
|
10336
10410
|
method: "GET",
|
|
10337
10411
|
authToken: authToken || baseRequest.authToken
|
|
@@ -10341,7 +10415,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10341
10415
|
* Get unread notification count (lightweight, for the header badge)
|
|
10342
10416
|
*/
|
|
10343
10417
|
async getUnreadCount(baseRequest, authToken) {
|
|
10344
|
-
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/unread-count`;
|
|
10418
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/unread-count${sandboxIdentitySuffix()}`;
|
|
10345
10419
|
return privacyCenterApiFetch(url, {
|
|
10346
10420
|
method: "GET",
|
|
10347
10421
|
authToken: authToken || baseRequest.authToken
|
|
@@ -10351,7 +10425,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10351
10425
|
* Mark a single notification as read
|
|
10352
10426
|
*/
|
|
10353
10427
|
async markNotificationRead(baseRequest, notificationUuid, authToken) {
|
|
10354
|
-
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/${notificationUuid}/read`;
|
|
10428
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/${notificationUuid}/read${sandboxIdentitySuffix()}`;
|
|
10355
10429
|
return privacyCenterApiFetch(url, {
|
|
10356
10430
|
method: "PATCH",
|
|
10357
10431
|
authToken: authToken || baseRequest.authToken
|
|
@@ -10361,7 +10435,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10361
10435
|
* Mark all notifications as read
|
|
10362
10436
|
*/
|
|
10363
10437
|
async markAllNotificationsRead(baseRequest, authToken) {
|
|
10364
|
-
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/mark-all-read`;
|
|
10438
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/mark-all-read${sandboxIdentitySuffix()}`;
|
|
10365
10439
|
return privacyCenterApiFetch(url, {
|
|
10366
10440
|
method: "POST",
|
|
10367
10441
|
authToken: authToken || baseRequest.authToken
|
|
@@ -10371,7 +10445,7 @@ function createConsentClient(baseUrl, ledgerBaseUrl) {
|
|
|
10371
10445
|
* Acknowledge a notification (sets is_read and is_acknowledged to true)
|
|
10372
10446
|
*/
|
|
10373
10447
|
async acknowledgeNotification(baseRequest, notificationUuid, authToken) {
|
|
10374
|
-
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/${notificationUuid}/acknowledge`;
|
|
10448
|
+
const url = `${baseUrl}/organisations/${baseRequest.organisationUuid}/workspaces/${baseRequest.workspaceUuid}/dsar/privacy-center/notifications/${notificationUuid}/acknowledge${sandboxIdentitySuffix()}`;
|
|
10375
10449
|
return privacyCenterApiFetch(url, {
|
|
10376
10450
|
method: "POST",
|
|
10377
10451
|
authToken: authToken || baseRequest.authToken
|
|
@@ -11564,6 +11638,10 @@ var compareEmails = (email1, email2) => {
|
|
|
11564
11638
|
return decodeURIComponent(email1.trim()).toLowerCase() === email2.trim().toLowerCase();
|
|
11565
11639
|
};
|
|
11566
11640
|
var ensureValidToken = async (organizationId, workspaceId, _slug, authContext, consentClient) => {
|
|
11641
|
+
const sandbox = getSandboxConfig();
|
|
11642
|
+
if (sandbox) {
|
|
11643
|
+
return sandbox.token;
|
|
11644
|
+
}
|
|
11567
11645
|
const accessToken = (authContext == null ? void 0 : authContext.accessToken) || getStoredValue("access_token");
|
|
11568
11646
|
if (accessToken && typeof accessToken === "string" && accessToken.trim() !== "" && !isJwtExpired(accessToken, TOKEN_EXPIRY_BUFFER_SECONDS)) {
|
|
11569
11647
|
return accessToken;
|
|
@@ -11701,15 +11779,73 @@ function syncJwtDataToStore(token) {
|
|
|
11701
11779
|
if (authData.workspaceId) setStoredValue("pc_workspace_id", authData.workspaceId);
|
|
11702
11780
|
return authData;
|
|
11703
11781
|
}
|
|
11704
|
-
function
|
|
11705
|
-
|
|
11782
|
+
function configureSandbox(props) {
|
|
11783
|
+
var _a3, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
11784
|
+
const token = (_a3 = props.token) == null ? void 0 : _a3.trim();
|
|
11785
|
+
if (!token) {
|
|
11786
|
+
setSandboxConfig(null);
|
|
11787
|
+
return null;
|
|
11788
|
+
}
|
|
11789
|
+
const organisationUuid = (_c = (_b = props.organisationUuid) == null ? void 0 : _b.trim()) != null ? _c : "";
|
|
11790
|
+
const workspaceUuid = (_e = (_d = props.workspaceUuid) == null ? void 0 : _d.trim()) != null ? _e : "";
|
|
11791
|
+
const ucic = (_g = (_f = props.sandboxUcic) == null ? void 0 : _f.trim()) != null ? _g : "";
|
|
11792
|
+
const subject = (_i = (_h = props.sandboxSubject) == null ? void 0 : _h.trim()) != null ? _i : "";
|
|
11793
|
+
const slug = (_k = (_j = props.slug) == null ? void 0 : _j.trim()) != null ? _k : "";
|
|
11794
|
+
if (!organisationUuid || !workspaceUuid) {
|
|
11795
|
+
throw new Error("Sandbox mode requires organisationUuid and workspaceUuid props");
|
|
11796
|
+
}
|
|
11797
|
+
if (!ucic && !subject) {
|
|
11798
|
+
throw new Error("Sandbox mode requires a UCIC, email, or mobile");
|
|
11799
|
+
}
|
|
11800
|
+
setSandboxConfig({
|
|
11801
|
+
token,
|
|
11802
|
+
ucic: ucic || void 0,
|
|
11803
|
+
subject,
|
|
11804
|
+
organisationUuid,
|
|
11805
|
+
workspaceUuid,
|
|
11806
|
+
slug
|
|
11807
|
+
});
|
|
11808
|
+
const contact = ucic || subject;
|
|
11809
|
+
setStoredValue("access_token", token);
|
|
11810
|
+
if (organisationUuid) setStoredValue("pc_org_id", organisationUuid);
|
|
11811
|
+
if (workspaceUuid) setStoredValue("pc_workspace_id", workspaceUuid);
|
|
11812
|
+
if (contact) setStoredValue("email", contact);
|
|
11813
|
+
return {
|
|
11814
|
+
email: contact || null,
|
|
11815
|
+
organizationId: organisationUuid || null,
|
|
11816
|
+
workspaceId: workspaceUuid || null,
|
|
11817
|
+
organizationName: null
|
|
11818
|
+
};
|
|
11819
|
+
}
|
|
11820
|
+
function AuthProvider(props) {
|
|
11821
|
+
const {
|
|
11822
|
+
children,
|
|
11823
|
+
accessToken: initialAccessToken,
|
|
11824
|
+
refreshToken: initialRefreshToken,
|
|
11825
|
+
token: sandboxToken,
|
|
11826
|
+
sandboxUcic,
|
|
11827
|
+
sandboxSubject,
|
|
11828
|
+
organisationUuid,
|
|
11829
|
+
workspaceUuid,
|
|
11830
|
+
slug,
|
|
11831
|
+
onError
|
|
11832
|
+
} = props;
|
|
11833
|
+
const [sandboxAuth] = useState(() => configureSandbox(props));
|
|
11834
|
+
const sandboxActive = sandboxAuth !== null;
|
|
11835
|
+
const initialAuth = sandboxAuth != null ? sandboxAuth : extractJwtAuthData(initialAccessToken);
|
|
11706
11836
|
const [accessToken, setAccessToken] = useState(() => {
|
|
11837
|
+
if (sandboxActive) {
|
|
11838
|
+
return sandboxToken != null ? sandboxToken : "";
|
|
11839
|
+
}
|
|
11707
11840
|
if (initialAccessToken && initialAccessToken.trim() !== "") {
|
|
11708
11841
|
syncJwtDataToStore(initialAccessToken);
|
|
11709
11842
|
}
|
|
11710
11843
|
return initialAccessToken;
|
|
11711
11844
|
});
|
|
11712
11845
|
const [refreshToken, setRefreshToken] = useState(() => {
|
|
11846
|
+
if (sandboxActive) {
|
|
11847
|
+
return "";
|
|
11848
|
+
}
|
|
11713
11849
|
if (initialRefreshToken && initialRefreshToken.trim() !== "") {
|
|
11714
11850
|
setStoredValue("refresh_token", initialRefreshToken);
|
|
11715
11851
|
}
|
|
@@ -11720,6 +11856,20 @@ function AuthProvider({ children, accessToken: initialAccessToken, refreshToken:
|
|
|
11720
11856
|
const [workspaceId, setWorkspaceId] = useState(initialAuth.workspaceId);
|
|
11721
11857
|
const [organizationName, setOrganizationName] = useState(initialAuth.organizationName);
|
|
11722
11858
|
useEffect(() => {
|
|
11859
|
+
if (!sandboxActive) {
|
|
11860
|
+
return;
|
|
11861
|
+
}
|
|
11862
|
+
const seeded = configureSandbox(props);
|
|
11863
|
+
if (seeded) {
|
|
11864
|
+
setEmail(seeded.email);
|
|
11865
|
+
setOrganizationId(seeded.organizationId);
|
|
11866
|
+
setWorkspaceId(seeded.workspaceId);
|
|
11867
|
+
setOrganizationName(seeded.organizationName);
|
|
11868
|
+
}
|
|
11869
|
+
return () => setSandboxConfig(null);
|
|
11870
|
+
}, [sandboxActive, sandboxToken, sandboxUcic, sandboxSubject, organisationUuid, workspaceUuid, slug]);
|
|
11871
|
+
useEffect(() => {
|
|
11872
|
+
if (sandboxActive) return;
|
|
11723
11873
|
if (accessToken) {
|
|
11724
11874
|
const authData = syncJwtDataToStore(accessToken);
|
|
11725
11875
|
setEmail(authData.email);
|
|
@@ -11727,11 +11877,13 @@ function AuthProvider({ children, accessToken: initialAccessToken, refreshToken:
|
|
|
11727
11877
|
setWorkspaceId(authData.workspaceId);
|
|
11728
11878
|
setOrganizationName(authData.organizationName);
|
|
11729
11879
|
}
|
|
11730
|
-
}, [accessToken]);
|
|
11880
|
+
}, [accessToken, sandboxActive]);
|
|
11731
11881
|
useEffect(() => {
|
|
11882
|
+
if (sandboxActive) return;
|
|
11732
11883
|
if (refreshToken) setStoredValue("refresh_token", refreshToken);
|
|
11733
|
-
}, [refreshToken]);
|
|
11884
|
+
}, [refreshToken, sandboxActive]);
|
|
11734
11885
|
useEffect(() => {
|
|
11886
|
+
if (sandboxActive) return;
|
|
11735
11887
|
setAccessToken(initialAccessToken);
|
|
11736
11888
|
if (initialAccessToken && initialAccessToken.trim() !== "") {
|
|
11737
11889
|
const authData = syncJwtDataToStore(initialAccessToken);
|
|
@@ -11740,10 +11892,11 @@ function AuthProvider({ children, accessToken: initialAccessToken, refreshToken:
|
|
|
11740
11892
|
setWorkspaceId(authData.workspaceId);
|
|
11741
11893
|
setOrganizationName(authData.organizationName);
|
|
11742
11894
|
}
|
|
11743
|
-
}, [initialAccessToken]);
|
|
11895
|
+
}, [initialAccessToken, sandboxActive]);
|
|
11744
11896
|
useEffect(() => {
|
|
11897
|
+
if (sandboxActive) return;
|
|
11745
11898
|
setRefreshToken(initialRefreshToken);
|
|
11746
|
-
}, [initialRefreshToken]);
|
|
11899
|
+
}, [initialRefreshToken, sandboxActive]);
|
|
11747
11900
|
const updateTokens = useCallback((newAccessToken, newRefreshToken) => {
|
|
11748
11901
|
setAccessToken(newAccessToken);
|
|
11749
11902
|
if (newRefreshToken) setRefreshToken(newRefreshToken);
|
|
@@ -14138,7 +14291,7 @@ import { useTranslation as useTranslation10 } from "react-i18next";
|
|
|
14138
14291
|
|
|
14139
14292
|
// src/RedactoPrivacyCenter/lib/consentManagerUtils.ts
|
|
14140
14293
|
function purposeItemToUserConsent(purpose, group) {
|
|
14141
|
-
var _a3, _b, _c, _d;
|
|
14294
|
+
var _a3, _b, _c, _d, _e;
|
|
14142
14295
|
return {
|
|
14143
14296
|
purpose_uuid: purpose.purpose_uuid,
|
|
14144
14297
|
purpose: purpose.name,
|
|
@@ -14152,6 +14305,7 @@ function purposeItemToUserConsent(purpose, group) {
|
|
|
14152
14305
|
product_name: group.product_name,
|
|
14153
14306
|
product_description: group.product_description,
|
|
14154
14307
|
nominator_info: (_d = group.nominator) != null ? _d : void 0,
|
|
14308
|
+
revoke_warning_message: (_e = purpose.revoke_warning_message) != null ? _e : null,
|
|
14155
14309
|
notice_uuid: purpose.notice_uuid
|
|
14156
14310
|
};
|
|
14157
14311
|
}
|
|
@@ -14310,6 +14464,7 @@ var useTimePeriodOptions = () => {
|
|
|
14310
14464
|
var MAX_DISPLAYED_PURPOSE_NAMES_IN_ERASURE_MODAL = 3;
|
|
14311
14465
|
var SEARCH_DEBOUNCE_DELAY = 500;
|
|
14312
14466
|
var FORM_PICKER_GROUP_LIMIT = 100;
|
|
14467
|
+
var LEGACY_PRODUCT_GROUP_UUID = "__legacy_flat_purposes__";
|
|
14313
14468
|
var POLL_INTERVAL = 3e4;
|
|
14314
14469
|
var NOTIFICATION_PAGE_SIZE = 10;
|
|
14315
14470
|
var TAB_TO_CATEGORY = {
|
|
@@ -14418,7 +14573,7 @@ var ModifyConsentModal = ({
|
|
|
14418
14573
|
action: "revoke",
|
|
14419
14574
|
buttonLabel: t("revokeConsent"),
|
|
14420
14575
|
buttonColor: colors.error,
|
|
14421
|
-
warningMessage: t("revokeConsentWarning"),
|
|
14576
|
+
warningMessage: selectedRecord.revoke_warning_message || t("revokeConsentWarning"),
|
|
14422
14577
|
description: nominatorLabel ? t("aboutToModifyConsentOnBehalf", { nominator: nominatorLabel }) : t("aboutToModifyConsent")
|
|
14423
14578
|
};
|
|
14424
14579
|
}
|
|
@@ -16324,19 +16479,32 @@ var consentGroupToFormProductGroup = (group) => {
|
|
|
16324
16479
|
};
|
|
16325
16480
|
};
|
|
16326
16481
|
var purposeItemToFormPurpose = (purpose) => {
|
|
16327
|
-
var _a3, _b;
|
|
16482
|
+
var _a3, _b, _c, _d, _e, _f;
|
|
16328
16483
|
return {
|
|
16329
|
-
|
|
16330
|
-
|
|
16484
|
+
// The ledger keys purposes as `purpose_uuid`; the legacy Python
|
|
16485
|
+
// user-consents payload keys some of them as `uuid`. Accept either so the
|
|
16486
|
+
// picker and the submitted `purpose_uuid` resolve on both backends.
|
|
16487
|
+
uuid: (_b = (_a3 = purpose.purpose_uuid) != null ? _a3 : purpose.uuid) != null ? _b : "",
|
|
16488
|
+
purpose_uuid: (_d = (_c = purpose.purpose_uuid) != null ? _c : purpose.uuid) != null ? _d : "",
|
|
16331
16489
|
name: purpose.name,
|
|
16332
|
-
description: (
|
|
16490
|
+
description: (_e = purpose.description) != null ? _e : "",
|
|
16333
16491
|
industries: "",
|
|
16334
16492
|
selected: false,
|
|
16335
16493
|
given_consent: false,
|
|
16336
16494
|
status: purpose.status,
|
|
16337
16495
|
validity: null,
|
|
16338
16496
|
enabled: true,
|
|
16339
|
-
data_elements: ((
|
|
16497
|
+
data_elements: ((_f = purpose.data_elements) != null ? _f : []).map(consentDataElementToFormDataElement)
|
|
16498
|
+
};
|
|
16499
|
+
};
|
|
16500
|
+
var legacyFlatGroup = (form, label) => {
|
|
16501
|
+
var _a3;
|
|
16502
|
+
return {
|
|
16503
|
+
product_uuid: LEGACY_PRODUCT_GROUP_UUID,
|
|
16504
|
+
product_name: label,
|
|
16505
|
+
product_description: null,
|
|
16506
|
+
nominator: null,
|
|
16507
|
+
purposes: ((_a3 = form.purposes) != null ? _a3 : []).map((wrapper) => wrapper == null ? void 0 : wrapper.purpose).filter((purpose) => Boolean(purpose))
|
|
16340
16508
|
};
|
|
16341
16509
|
};
|
|
16342
16510
|
var consentDataElementToFormDataElement = (element) => ({
|
|
@@ -16382,7 +16550,7 @@ var isProductScopedRequestType = (rt) => PRODUCT_SCOPED_REQUEST_TYPES.has(rt);
|
|
|
16382
16550
|
function Form({ onCreateRequest }) {
|
|
16383
16551
|
const { t } = useTranslation15();
|
|
16384
16552
|
const { accessToken, refreshToken, email, organizationId, workspaceId, updateTokens, onError } = useAuth();
|
|
16385
|
-
const { consentClient, baseUrl
|
|
16553
|
+
const { consentClient, baseUrl } = useBaseUrl();
|
|
16386
16554
|
const { colors } = useTheme();
|
|
16387
16555
|
const requestTypeLabels = useRequestTypeLabels();
|
|
16388
16556
|
const timePeriodOptions = useTimePeriodOptions();
|
|
@@ -16419,10 +16587,10 @@ function Form({ onCreateRequest }) {
|
|
|
16419
16587
|
});
|
|
16420
16588
|
const [uploadedDocs, setUploadedDocs] = useState16([]);
|
|
16421
16589
|
const [isUploading, setIsUploading] = useState16(false);
|
|
16422
|
-
const
|
|
16590
|
+
const withUserConsentPickerGroups = useCallback10(
|
|
16423
16591
|
async (form, language) => {
|
|
16424
16592
|
var _a3, _b;
|
|
16425
|
-
if (!
|
|
16593
|
+
if (!organizationId || !workspaceId) {
|
|
16426
16594
|
return form;
|
|
16427
16595
|
}
|
|
16428
16596
|
const consents = await fetchUserConsents({
|
|
@@ -16437,16 +16605,18 @@ function Form({ onCreateRequest }) {
|
|
|
16437
16605
|
authContext,
|
|
16438
16606
|
consentClient
|
|
16439
16607
|
});
|
|
16440
|
-
|
|
16608
|
+
const direct = (_a3 = consents == null ? void 0 : consents.direct) != null ? _a3 : [];
|
|
16609
|
+
const nominated = (_b = consents == null ? void 0 : consents.nominated) != null ? _b : [];
|
|
16610
|
+
if (direct.length === 0 && nominated.length === 0) {
|
|
16441
16611
|
return form;
|
|
16442
16612
|
}
|
|
16443
16613
|
return {
|
|
16444
16614
|
...form,
|
|
16445
|
-
direct_groups:
|
|
16446
|
-
nominated_groups:
|
|
16615
|
+
direct_groups: direct.map(consentGroupToFormProductGroup),
|
|
16616
|
+
nominated_groups: nominated.map(consentGroupToFormProductGroup)
|
|
16447
16617
|
};
|
|
16448
16618
|
},
|
|
16449
|
-
[
|
|
16619
|
+
[organizationId, workspaceId, authContext, consentClient]
|
|
16450
16620
|
);
|
|
16451
16621
|
useEffect14(() => {
|
|
16452
16622
|
if (!organizationId || !workspaceId || !contact) return;
|
|
@@ -16454,7 +16624,7 @@ function Form({ onCreateRequest }) {
|
|
|
16454
16624
|
setIsLoading(true);
|
|
16455
16625
|
getFormData(organizationId, workspaceId, contact, false, false, authContext, consentClient, langParam).then(async (data) => {
|
|
16456
16626
|
if (!data) return;
|
|
16457
|
-
const withGroups = await
|
|
16627
|
+
const withGroups = await withUserConsentPickerGroups(data, langParam);
|
|
16458
16628
|
if (!isCancelled) setFormDataResponse(withGroups);
|
|
16459
16629
|
}).catch((error) => {
|
|
16460
16630
|
console.warn("Error fetching form data:", error);
|
|
@@ -16471,16 +16641,24 @@ function Form({ onCreateRequest }) {
|
|
|
16471
16641
|
authContext,
|
|
16472
16642
|
consentClient,
|
|
16473
16643
|
langParam,
|
|
16474
|
-
|
|
16644
|
+
withUserConsentPickerGroups
|
|
16475
16645
|
]);
|
|
16476
16646
|
const allGroups = useMemo14(() => {
|
|
16477
16647
|
var _a3, _b;
|
|
16478
16648
|
if (!formDataResponse) return [];
|
|
16479
|
-
|
|
16649
|
+
const groups = [
|
|
16480
16650
|
...(_a3 = formDataResponse.direct_groups) != null ? _a3 : [],
|
|
16481
16651
|
...(_b = formDataResponse.nominated_groups) != null ? _b : []
|
|
16482
16652
|
];
|
|
16483
|
-
|
|
16653
|
+
if (groups.length > 0) {
|
|
16654
|
+
return groups;
|
|
16655
|
+
}
|
|
16656
|
+
const flatGroup = legacyFlatGroup(formDataResponse, t("yourData"));
|
|
16657
|
+
if (buildGroupPurposes(flatGroup).length === 0) {
|
|
16658
|
+
return [];
|
|
16659
|
+
}
|
|
16660
|
+
return [flatGroup];
|
|
16661
|
+
}, [formDataResponse, t]);
|
|
16484
16662
|
const skipProductStep = allGroups.length === 1;
|
|
16485
16663
|
const selectedGroup = useMemo14(() => {
|
|
16486
16664
|
var _a3, _b;
|
|
@@ -16742,7 +16920,8 @@ function Form({ onCreateRequest }) {
|
|
|
16742
16920
|
setIsSubmitting(true);
|
|
16743
16921
|
try {
|
|
16744
16922
|
const isProductScoped = isProductScopedRequestType(requestType);
|
|
16745
|
-
const
|
|
16923
|
+
const isLegacyFlatSelection = (selectedGroup == null ? void 0 : selectedGroup.product_uuid) === LEGACY_PRODUCT_GROUP_UUID;
|
|
16924
|
+
const anchorGroup = isProductScoped && !isLegacyFlatSelection ? selectedGroup : null;
|
|
16746
16925
|
const updatePurposes = Array.from(selectedPurposes).map((uuid) => ({
|
|
16747
16926
|
purpose_uuid: uuid,
|
|
16748
16927
|
data_element_uuids: Array.from(selectedDataElements.get(uuid) || [])
|
|
@@ -20633,6 +20812,12 @@ function RedactoPrivacyCenter({
|
|
|
20633
20812
|
theme: _theme,
|
|
20634
20813
|
accessToken,
|
|
20635
20814
|
refreshToken,
|
|
20815
|
+
token,
|
|
20816
|
+
email,
|
|
20817
|
+
mobile,
|
|
20818
|
+
ucic,
|
|
20819
|
+
organisationUuid,
|
|
20820
|
+
workspaceUuid,
|
|
20636
20821
|
onError,
|
|
20637
20822
|
initialPage = "home",
|
|
20638
20823
|
initialCaseUuid,
|
|
@@ -20641,8 +20826,14 @@ function RedactoPrivacyCenter({
|
|
|
20641
20826
|
return /* @__PURE__ */ jsx64(SafeAreaBoundary, { children: /* @__PURE__ */ jsx64(KeyboardProviderCompat, { children: /* @__PURE__ */ jsx64(QueryClientProvider, { client: privacyCenterQueryClient, children: /* @__PURE__ */ jsx64(I18nextProvider, { i18n: i18n_default, children: /* @__PURE__ */ jsx64(ThemeProvider, { slug, baseUrl, children: /* @__PURE__ */ jsx64(BaseUrlProvider, { baseUrl, ledgerBaseUrl, children: /* @__PURE__ */ jsx64(
|
|
20642
20827
|
AuthProvider,
|
|
20643
20828
|
{
|
|
20644
|
-
accessToken,
|
|
20645
|
-
refreshToken,
|
|
20829
|
+
accessToken: accessToken != null ? accessToken : "",
|
|
20830
|
+
refreshToken: refreshToken != null ? refreshToken : "",
|
|
20831
|
+
token,
|
|
20832
|
+
sandboxUcic: ucic,
|
|
20833
|
+
sandboxSubject: email || mobile,
|
|
20834
|
+
organisationUuid,
|
|
20835
|
+
workspaceUuid,
|
|
20836
|
+
slug,
|
|
20646
20837
|
onError,
|
|
20647
20838
|
children: /* @__PURE__ */ jsx64(NavigationProvider, { initialPage, initialPendingCaseUuid: initialCaseUuid != null ? initialCaseUuid : null, children: /* @__PURE__ */ jsx64(DataAvailabilityProvider, { children: /* @__PURE__ */ jsx64(PageStatusProvider, { children: /* @__PURE__ */ jsx64(PrivacyCenterContent, { onBack }) }) }) })
|
|
20648
20839
|
}
|
package/package.json
CHANGED