@transcend-io/cli 4.15.0 → 4.17.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.
- package/README.md +76 -19
- package/build/cli-pull-cron-identifiers.js +2 -2
- package/build/cli-pull-cron-identifiers.js.map +1 -1
- package/build/cli-request-upload.js +4 -6
- package/build/cli-request-upload.js.map +1 -1
- package/build/cron/pullCronIdentifiersToCsv.d.ts +2 -2
- package/build/cron/pullCronIdentifiersToCsv.d.ts.map +1 -1
- package/build/cron/pullCronIdentifiersToCsv.js +2 -2
- package/build/cron/pullCronIdentifiersToCsv.js.map +1 -1
- package/build/graphql/createSombraGotInstance.d.ts +2 -2
- package/build/graphql/createSombraGotInstance.d.ts.map +1 -1
- package/build/graphql/createSombraGotInstance.js +3 -3
- package/build/graphql/createSombraGotInstance.js.map +1 -1
- package/build/requests/constants.d.ts +5404 -128
- package/build/requests/constants.d.ts.map +1 -1
- package/build/requests/constants.js +16 -2
- package/build/requests/constants.js.map +1 -1
- package/build/requests/mapColumnsToAttributes.d.ts +3 -2
- package/build/requests/mapColumnsToAttributes.d.ts.map +1 -1
- package/build/requests/mapColumnsToAttributes.js +5 -6
- package/build/requests/mapColumnsToAttributes.js.map +1 -1
- package/build/requests/mapColumnsToIdentifiers.d.ts +3 -2
- package/build/requests/mapColumnsToIdentifiers.d.ts.map +1 -1
- package/build/requests/mapColumnsToIdentifiers.js +6 -6
- package/build/requests/mapColumnsToIdentifiers.js.map +1 -1
- package/build/requests/mapCsvColumnsToApi.d.ts +3 -2
- package/build/requests/mapCsvColumnsToApi.d.ts.map +1 -1
- package/build/requests/mapCsvColumnsToApi.js +4 -5
- package/build/requests/mapCsvColumnsToApi.js.map +1 -1
- package/build/requests/mapCsvRowsToRequestInputs.d.ts +8 -3
- package/build/requests/mapCsvRowsToRequestInputs.d.ts.map +1 -1
- package/build/requests/mapCsvRowsToRequestInputs.js +22 -10
- package/build/requests/mapCsvRowsToRequestInputs.js.map +1 -1
- package/build/requests/mapRequestEnumValues.d.ts +3 -5
- package/build/requests/mapRequestEnumValues.d.ts.map +1 -1
- package/build/requests/mapRequestEnumValues.js +29 -16
- package/build/requests/mapRequestEnumValues.js.map +1 -1
- package/build/requests/submitPrivacyRequest.d.ts.map +1 -1
- package/build/requests/submitPrivacyRequest.js +16 -0
- package/build/requests/submitPrivacyRequest.js.map +1 -1
- package/build/requests/uploadPrivacyRequestsFromCsv.d.ts +5 -9
- package/build/requests/uploadPrivacyRequestsFromCsv.d.ts.map +1 -1
- package/build/requests/uploadPrivacyRequestsFromCsv.js +35 -38
- package/build/requests/uploadPrivacyRequestsFromCsv.js.map +1 -1
- package/build/tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submitPrivacyRequest.js","sourceRoot":"","sources":["../../src/requests/submitPrivacyRequest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"submitPrivacyRequest.js","sourceRoot":"","sources":["../../src/requests/submitPrivacyRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @param options - Options
|
|
5
5
|
*/
|
|
6
|
-
export declare function uploadPrivacyRequestsFromCsv({ cacheFilepath, file, auth, sombraAuth, concurrency, defaultPhoneCountryCode, // USA
|
|
7
|
-
|
|
6
|
+
export declare function uploadPrivacyRequestsFromCsv({ cacheFilepath, requestReceiptFolder, file, auth, sombraAuth, concurrency, defaultPhoneCountryCode, // USA
|
|
7
|
+
transcendUrl, attributes, emailIsVerified, skipFilterStep, isTest, isSilent, debug, dryRun, }: {
|
|
8
8
|
/** File to cache metadata about mapping of CSV shape to script */
|
|
9
9
|
cacheFilepath: string;
|
|
10
|
+
/** File where request receipts are stored */
|
|
11
|
+
requestReceiptFolder: string;
|
|
10
12
|
/** CSV file path */
|
|
11
13
|
file: string;
|
|
12
14
|
/** Transcend API key authentication */
|
|
@@ -16,7 +18,7 @@ transcendApiUrl, attributes, emailIsVerified, clearSuccessfulRequests, clearFail
|
|
|
16
18
|
/** Concurrency to upload in */
|
|
17
19
|
concurrency?: number;
|
|
18
20
|
/** API URL for Transcend backend */
|
|
19
|
-
|
|
21
|
+
transcendUrl?: string;
|
|
20
22
|
/** Sombra API key authentication */
|
|
21
23
|
sombraAuth?: string;
|
|
22
24
|
/** Include debug logs */
|
|
@@ -25,12 +27,6 @@ transcendApiUrl, attributes, emailIsVerified, clearSuccessfulRequests, clearFail
|
|
|
25
27
|
skipFilterStep?: boolean;
|
|
26
28
|
/** Whether test requests are being uploaded */
|
|
27
29
|
isTest?: boolean;
|
|
28
|
-
/** When true, clear out the failed requests from cache */
|
|
29
|
-
clearFailingRequests?: boolean;
|
|
30
|
-
/** When true, clear out the successful requests from cache */
|
|
31
|
-
clearSuccessfulRequests?: boolean;
|
|
32
|
-
/** When true, clear out duplicate requests from cache */
|
|
33
|
-
clearDuplicateRequests?: boolean;
|
|
34
30
|
/** Whether requests are uploaded in silent mode */
|
|
35
31
|
isSilent?: boolean;
|
|
36
32
|
/** Whether the email was verified up front */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadPrivacyRequestsFromCsv.d.ts","sourceRoot":"","sources":["../../src/requests/uploadPrivacyRequestsFromCsv.ts"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,WAAgB,EAChB,uBAA6B,EAAE,MAAM;AACrC,
|
|
1
|
+
{"version":3,"file":"uploadPrivacyRequestsFromCsv.d.ts","sourceRoot":"","sources":["../../src/requests/uploadPrivacyRequestsFromCsv.ts"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,aAAa,EACb,oBAAoB,EACpB,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,WAAgB,EAChB,uBAA6B,EAAE,MAAM;AACrC,YAAyC,EACzC,UAAe,EACf,eAAsB,EACtB,cAAsB,EACtB,MAAc,EACd,QAAe,EACf,KAAa,EACb,MAAc,GACf,EAAE;IACD,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwQhB"}
|
|
@@ -28,6 +28,7 @@ const bluebird_1 = require("bluebird");
|
|
|
28
28
|
const t = __importStar(require("io-ts"));
|
|
29
29
|
const uniq_1 = __importDefault(require("lodash/uniq"));
|
|
30
30
|
const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
31
|
+
const path_1 = require("path");
|
|
31
32
|
const persisted_state_1 = require("@transcend-io/persisted-state");
|
|
32
33
|
const logger_1 = require("../logger");
|
|
33
34
|
const graphql_1 = require("../graphql");
|
|
@@ -47,8 +48,8 @@ const extractClientError_1 = require("./extractClientError");
|
|
|
47
48
|
*
|
|
48
49
|
* @param options - Options
|
|
49
50
|
*/
|
|
50
|
-
async function uploadPrivacyRequestsFromCsv({ cacheFilepath, file, auth, sombraAuth, concurrency = 20, defaultPhoneCountryCode = '1', // USA
|
|
51
|
-
|
|
51
|
+
async function uploadPrivacyRequestsFromCsv({ cacheFilepath, requestReceiptFolder, file, auth, sombraAuth, concurrency = 20, defaultPhoneCountryCode = '1', // USA
|
|
52
|
+
transcendUrl = 'https://api.transcend.io', attributes = [], emailIsVerified = true, skipFilterStep = false, isTest = false, isSilent = true, debug = false, dryRun = false, }) {
|
|
52
53
|
// Time duration
|
|
53
54
|
const t0 = new Date().getTime();
|
|
54
55
|
// create a new progress bar instance and use shades_classic theme
|
|
@@ -57,8 +58,7 @@ transcendApiUrl = 'https://api.transcend.io', attributes = [], emailIsVerified =
|
|
|
57
58
|
const parsedAttributes = (0, parseAttributesFromString_1.parseAttributesFromString)(attributes);
|
|
58
59
|
// Create a new state to persist the metadata that
|
|
59
60
|
// maps the request inputs to the Transcend API shape
|
|
60
|
-
const state = new persisted_state_1.PersistedState(cacheFilepath, constants_1.
|
|
61
|
-
let cached = state.getValue(file) || {
|
|
61
|
+
const state = new persisted_state_1.PersistedState(cacheFilepath, constants_1.CachedFileState, {
|
|
62
62
|
columnNames: {},
|
|
63
63
|
requestTypeToRequestAction: {},
|
|
64
64
|
subjectTypeToSubjectName: {},
|
|
@@ -66,22 +66,18 @@ transcendApiUrl = 'https://api.transcend.io', attributes = [], emailIsVerified =
|
|
|
66
66
|
statusToRequestStatus: {},
|
|
67
67
|
identifierNames: {},
|
|
68
68
|
attributeNames: {},
|
|
69
|
+
regionToCountrySubDivision: {},
|
|
70
|
+
regionToCountry: {},
|
|
71
|
+
});
|
|
72
|
+
// Create a new state file to store the requests from this run
|
|
73
|
+
const requestCacheFile = (0, path_1.join)(requestReceiptFolder, `tr-request-upload-${new Date().toISOString()}-${file.split('/').pop()}`);
|
|
74
|
+
const requestState = new persisted_state_1.PersistedState(requestCacheFile, constants_1.CachedRequestState, {
|
|
69
75
|
successfulRequests: [],
|
|
70
76
|
duplicateRequests: [],
|
|
71
77
|
failingRequests: [],
|
|
72
|
-
};
|
|
73
|
-
if (clearFailingRequests) {
|
|
74
|
-
cached.failingRequests = [];
|
|
75
|
-
}
|
|
76
|
-
if (clearSuccessfulRequests) {
|
|
77
|
-
cached.successfulRequests = [];
|
|
78
|
-
}
|
|
79
|
-
if (clearDuplicateRequests) {
|
|
80
|
-
cached.duplicateRequests = [];
|
|
81
|
-
}
|
|
82
|
-
state.setValue(cached, file);
|
|
78
|
+
});
|
|
83
79
|
// Create sombra instance to communicate with
|
|
84
|
-
const sombra = await (0, graphql_1.createSombraGotInstance)(
|
|
80
|
+
const sombra = await (0, graphql_1.createSombraGotInstance)(transcendUrl, auth, sombraAuth);
|
|
85
81
|
// Read in the list of integration requests
|
|
86
82
|
const requestsList = (0, readCsv_1.readCsv)(file, t.record(t.string, t.string));
|
|
87
83
|
const columnNames = (0, uniq_1.default)(requestsList.map((x) => Object.keys(x)).flat());
|
|
@@ -99,24 +95,19 @@ transcendApiUrl = 'https://api.transcend.io', attributes = [], emailIsVerified =
|
|
|
99
95
|
? requestsList
|
|
100
96
|
: await (0, filterRows_1.filterRows)(requestsList);
|
|
101
97
|
// Build a GraphQL client
|
|
102
|
-
const client = (0, graphql_1.buildTranscendGraphQLClient)(
|
|
98
|
+
const client = (0, graphql_1.buildTranscendGraphQLClient)(transcendUrl, auth);
|
|
103
99
|
// Grab the request attributes
|
|
104
100
|
const requestAttributeKeys = await (0, graphql_1.fetchAllRequestAttributeKeys)(client);
|
|
105
101
|
// Determine the columns that should be mapped
|
|
106
|
-
const columnNameMap = await (0, mapCsvColumnsToApi_1.mapCsvColumnsToApi)(columnNames,
|
|
107
|
-
|
|
108
|
-
const
|
|
109
|
-
state.setValue(cached, file);
|
|
110
|
-
const attributeNameMap = await (0, mapColumnsToAttributes_1.mapColumnsToAttributes)(client, columnNames, cached, requestAttributeKeys);
|
|
111
|
-
state.setValue(cached, file);
|
|
102
|
+
const columnNameMap = await (0, mapCsvColumnsToApi_1.mapCsvColumnsToApi)(columnNames, state);
|
|
103
|
+
const identifierNameMap = await (0, mapColumnsToIdentifiers_1.mapColumnsToIdentifiers)(client, columnNames, state);
|
|
104
|
+
const attributeNameMap = await (0, mapColumnsToAttributes_1.mapColumnsToAttributes)(client, columnNames, state, requestAttributeKeys);
|
|
112
105
|
await (0, mapRequestEnumValues_1.mapRequestEnumValues)(client, filteredRequestList, {
|
|
113
|
-
fileName: file,
|
|
114
106
|
state,
|
|
115
107
|
columnNameMap,
|
|
116
108
|
});
|
|
117
|
-
cached = state.getValue(file);
|
|
118
109
|
// map the CSV to request input
|
|
119
|
-
const requestInputs = (0, mapCsvRowsToRequestInputs_1.mapCsvRowsToRequestInputs)(filteredRequestList,
|
|
110
|
+
const requestInputs = (0, mapCsvRowsToRequestInputs_1.mapCsvRowsToRequestInputs)(filteredRequestList, state, {
|
|
120
111
|
defaultPhoneCountryCode,
|
|
121
112
|
columnNameMap,
|
|
122
113
|
identifierNameMap,
|
|
@@ -158,13 +149,15 @@ transcendApiUrl = 'https://api.transcend.io', attributes = [], emailIsVerified =
|
|
|
158
149
|
logger_1.logger.info(colors_1.default.green(`[${ind}/${requestInputs.length}] View it at: "${requestResponse.link}"`));
|
|
159
150
|
}
|
|
160
151
|
// Cache successful upload
|
|
161
|
-
|
|
152
|
+
const successfulRequests = requestState.getValue('successfulRequests');
|
|
153
|
+
successfulRequests.push({
|
|
162
154
|
id: requestResponse.id,
|
|
163
155
|
link: requestResponse.link,
|
|
156
|
+
rowIndex: ind,
|
|
164
157
|
coreIdentifier: requestResponse.coreIdentifier,
|
|
165
158
|
attemptedAt: new Date().toISOString(),
|
|
166
159
|
});
|
|
167
|
-
|
|
160
|
+
requestState.setValue(successfulRequests, 'successfulRequests');
|
|
168
161
|
}
|
|
169
162
|
catch (err) {
|
|
170
163
|
const msg = `${err.message} - ${JSON.stringify((_a = err.response) === null || _a === void 0 ? void 0 : _a.body, null, 2)}`;
|
|
@@ -173,19 +166,23 @@ transcendApiUrl = 'https://api.transcend.io', attributes = [], emailIsVerified =
|
|
|
173
166
|
if (debug) {
|
|
174
167
|
logger_1.logger.info(colors_1.default.yellow(`[${ind}/${requestInputs.length}] Skipping request as it is a duplicate`));
|
|
175
168
|
}
|
|
176
|
-
|
|
169
|
+
const duplicateRequests = requestState.getValue('duplicateRequests');
|
|
170
|
+
duplicateRequests.push({
|
|
177
171
|
coreIdentifier: requestInput.coreIdentifier,
|
|
172
|
+
rowIndex: ind,
|
|
178
173
|
attemptedAt: new Date().toISOString(),
|
|
179
174
|
});
|
|
180
|
-
|
|
175
|
+
requestState.setValue(duplicateRequests, 'duplicateRequests');
|
|
181
176
|
}
|
|
182
177
|
else {
|
|
183
|
-
|
|
178
|
+
const failingRequests = requestState.getValue('failingRequests');
|
|
179
|
+
failingRequests.push({
|
|
184
180
|
...requestInput,
|
|
181
|
+
rowIndex: ind,
|
|
185
182
|
error: clientError || msg,
|
|
186
183
|
attemptedAt: new Date().toISOString(),
|
|
187
184
|
});
|
|
188
|
-
|
|
185
|
+
requestState.setValue(failingRequests, 'failingRequests');
|
|
189
186
|
if (debug) {
|
|
190
187
|
logger_1.logger.error(colors_1.default.red(clientError || msg));
|
|
191
188
|
logger_1.logger.error(colors_1.default.red(`[${ind}/${requestInputs.length}] Failed to submit request for: "${requestLogId}"`));
|
|
@@ -205,14 +202,14 @@ transcendApiUrl = 'https://api.transcend.io', attributes = [], emailIsVerified =
|
|
|
205
202
|
// Log completion time
|
|
206
203
|
logger_1.logger.info(colors_1.default.green(`Completed upload in "${totalTime / 1000}" seconds.`));
|
|
207
204
|
// Log duplicates
|
|
208
|
-
if (
|
|
209
|
-
logger_1.logger.info(colors_1.default.
|
|
210
|
-
`See "${
|
|
205
|
+
if (requestState.getValue('duplicateRequests').length > 0) {
|
|
206
|
+
logger_1.logger.info(colors_1.default.yellow(`Encountered "${requestState.getValue('duplicateRequests').length}" duplicate requests. ` +
|
|
207
|
+
`See "${requestCacheFile}" to review the core identifiers for these requests.`));
|
|
211
208
|
}
|
|
212
209
|
// Log errors
|
|
213
|
-
if (
|
|
214
|
-
logger_1.logger.error(colors_1.default.red(`Encountered "${
|
|
215
|
-
`See "${
|
|
210
|
+
if (requestState.getValue('failingRequests').length > 0) {
|
|
211
|
+
logger_1.logger.error(colors_1.default.red(`Encountered "${requestState.getValue('failingRequests').length}" errors. ` +
|
|
212
|
+
`See "${requestCacheFile}" to review the error messages and inputs.`));
|
|
216
213
|
process.exit(1);
|
|
217
214
|
}
|
|
218
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadPrivacyRequestsFromCsv.js","sourceRoot":"","sources":["../../src/requests/uploadPrivacyRequestsFromCsv.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,uCAA+B;AAC/B,yCAA2B;AAC3B,uDAA+B;AAC/B,gEAAuC;
|
|
1
|
+
{"version":3,"file":"uploadPrivacyRequestsFromCsv.js","sourceRoot":"","sources":["../../src/requests/uploadPrivacyRequestsFromCsv.ts"],"names":[],"mappings":"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"}
|