@salesforce/plugin-data 2.6.2 → 2.6.4-test.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 +113 -113
- package/lib/BulkBaseCommand.js +26 -26
- package/lib/BulkBaseCommand.js.map +1 -1
- package/lib/api/data/tree/exportApi.js +31 -30
- package/lib/api/data/tree/exportApi.js.map +1 -1
- package/lib/api/data/tree/importApi.js +46 -43
- package/lib/api/data/tree/importApi.js.map +1 -1
- package/lib/batcher.js +24 -17
- package/lib/batcher.js.map +1 -1
- package/lib/bulkDataRequestCache.js +21 -26
- package/lib/bulkDataRequestCache.js.map +1 -1
- package/lib/bulkOperationCommand.js +55 -57
- package/lib/bulkOperationCommand.js.map +1 -1
- package/lib/bulkUtils.js +20 -20
- package/lib/bulkUtils.js.map +1 -1
- package/lib/commands/data/create/record.js +38 -39
- package/lib/commands/data/create/record.js.map +1 -1
- package/lib/commands/data/delete/bulk.js +14 -15
- package/lib/commands/data/delete/bulk.js.map +1 -1
- package/lib/commands/data/delete/record.js +48 -49
- package/lib/commands/data/delete/record.js.map +1 -1
- package/lib/commands/data/delete/resume.js +16 -17
- package/lib/commands/data/delete/resume.js.map +1 -1
- package/lib/commands/data/export/tree.js +38 -39
- package/lib/commands/data/export/tree.js.map +1 -1
- package/lib/commands/data/get/record.js +50 -51
- package/lib/commands/data/get/record.js.map +1 -1
- package/lib/commands/data/import/tree.js +45 -46
- package/lib/commands/data/import/tree.js.map +1 -1
- package/lib/commands/data/query/resume.js +40 -42
- package/lib/commands/data/query/resume.js.map +1 -1
- package/lib/commands/data/query.js +91 -93
- package/lib/commands/data/query.js.map +1 -1
- package/lib/commands/data/resume.js +45 -40
- package/lib/commands/data/resume.js.map +1 -1
- package/lib/commands/data/update/record.js +61 -62
- package/lib/commands/data/update/record.js.map +1 -1
- package/lib/commands/data/upsert/bulk.js +24 -25
- package/lib/commands/data/upsert/bulk.js.map +1 -1
- package/lib/commands/data/upsert/resume.js +15 -16
- package/lib/commands/data/upsert/resume.js.map +1 -1
- package/lib/commands/force/data/bulk/delete.js +42 -43
- package/lib/commands/force/data/bulk/delete.js.map +1 -1
- package/lib/commands/force/data/bulk/status.js +40 -35
- package/lib/commands/force/data/bulk/status.js.map +1 -1
- package/lib/commands/force/data/bulk/upsert.js +54 -55
- package/lib/commands/force/data/bulk/upsert.js.map +1 -1
- package/lib/dataCommand.js +16 -21
- package/lib/dataCommand.js.map +1 -1
- package/lib/dataSoqlQueryTypes.js +4 -9
- package/lib/dataSoqlQueryTypes.js.map +1 -1
- package/lib/flags.js +12 -13
- package/lib/flags.js.map +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/queryUtils.js +8 -13
- package/lib/queryUtils.js.map +1 -1
- package/lib/reporters.js +52 -59
- package/lib/reporters.js.map +1 -1
- package/lib/resumeBulkCommand.js +37 -39
- package/lib/resumeBulkCommand.js.map +1 -1
- package/lib/types.js +1 -2
- package/oclif.lock +8086 -0
- package/oclif.manifest.json +1614 -854
- package/package.json +36 -53
package/lib/BulkBaseCommand.js
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BulkBaseCommand = void 0;
|
|
4
1
|
/*
|
|
5
2
|
* Copyright (c) 2023, salesforce.com, inc.
|
|
6
3
|
* All rights reserved.
|
|
7
4
|
* Licensed under the BSD 3-Clause license.
|
|
8
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
6
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
7
|
+
import { dirname } from 'node:path';
|
|
8
|
+
import { fileURLToPath } from 'node:url';
|
|
9
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
10
|
+
import { Duration } from '@salesforce/kit';
|
|
11
|
+
import { capitalCase } from 'change-case';
|
|
12
|
+
import { Lifecycle, Messages } from '@salesforce/core';
|
|
13
|
+
import { getResultMessage } from './reporters.js';
|
|
14
|
+
Messages.importMessagesDirectory(dirname(fileURLToPath(import.meta.url)));
|
|
15
|
+
const messages = Messages.loadMessages('@salesforce/plugin-data', 'bulk.base.command');
|
|
16
|
+
export class BulkBaseCommand extends SfCommand {
|
|
17
|
+
static enableJsonFlag = true;
|
|
18
|
+
lifeCycle = Lifecycle.getInstance();
|
|
19
|
+
job;
|
|
20
|
+
connection;
|
|
21
|
+
cache;
|
|
22
|
+
isAsync = false;
|
|
23
|
+
operation;
|
|
24
|
+
endWaitTime = 0;
|
|
25
|
+
wait = 0;
|
|
26
|
+
numberRecordsProcessed = 0;
|
|
27
|
+
numberRecordsFailed = 0;
|
|
28
|
+
numberRecordSuceeded = 0;
|
|
29
|
+
timeout = false;
|
|
29
30
|
displayBulkV2Result(jobInfo) {
|
|
30
31
|
if (this.isAsync) {
|
|
31
32
|
this.logSuccess(messages.getMessage('success', [this.operation, jobInfo.id]));
|
|
@@ -38,7 +39,7 @@ class BulkBaseCommand extends sf_plugins_core_1.SfCommand {
|
|
|
38
39
|
}
|
|
39
40
|
else {
|
|
40
41
|
this.log();
|
|
41
|
-
this.info(
|
|
42
|
+
this.info(getResultMessage(jobInfo));
|
|
42
43
|
if ((jobInfo.numberRecordsFailed ?? 0) > 0 || jobInfo.state === 'Failed') {
|
|
43
44
|
this.info(messages.getMessage('checkJobViaUi', [this.config.bin, this.connection?.getUsername(), jobInfo.id]));
|
|
44
45
|
process.exitCode = 1;
|
|
@@ -93,7 +94,7 @@ class BulkBaseCommand extends sf_plugins_core_1.SfCommand {
|
|
|
93
94
|
getRemainingTimeStatus() {
|
|
94
95
|
return this.isAsync
|
|
95
96
|
? ''
|
|
96
|
-
: messages.getMessage('remainingTimeStatus', [
|
|
97
|
+
: messages.getMessage('remainingTimeStatus', [Duration.milliseconds(this.endWaitTime - Date.now()).minutes]);
|
|
97
98
|
}
|
|
98
99
|
getRemainingRecordsStatus() {
|
|
99
100
|
// the leading space is intentional
|
|
@@ -105,8 +106,7 @@ class BulkBaseCommand extends sf_plugins_core_1.SfCommand {
|
|
|
105
106
|
}
|
|
106
107
|
// eslint-disable-next-line class-methods-use-this
|
|
107
108
|
getStage(state) {
|
|
108
|
-
return ` Stage: ${
|
|
109
|
+
return ` Stage: ${capitalCase(state)}.`;
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
|
-
exports.BulkBaseCommand = BulkBaseCommand;
|
|
112
112
|
//# sourceMappingURL=BulkBaseCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BulkBaseCommand.js","sourceRoot":"","sources":["../src/BulkBaseCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BulkBaseCommand.js","sourceRoot":"","sources":["../src/BulkBaseCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,33 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const messages = core_1.Messages.loadMessages('@salesforce/plugin-data', 'exportApi');
|
|
7
|
+
import path, { dirname } from 'node:path';
|
|
8
|
+
import fs from 'node:fs';
|
|
9
|
+
import { fileURLToPath } from 'node:url';
|
|
10
|
+
import { Logger, Messages, SfError, Lifecycle } from '@salesforce/core';
|
|
11
|
+
import { hasNestedRecords, } from '../../../dataSoqlQueryTypes.js';
|
|
12
|
+
Messages.importMessagesDirectory(dirname(fileURLToPath(import.meta.url)));
|
|
13
|
+
const messages = Messages.loadMessages('@salesforce/plugin-data', 'exportApi');
|
|
16
14
|
const DATA_PLAN_FILENAME_PART = '-plan.json';
|
|
17
15
|
const describe = {}; // holds metadata result for object type describe calls
|
|
18
16
|
/**
|
|
19
17
|
* Exports data from an org into sObject tree format.
|
|
20
18
|
*/
|
|
21
|
-
class ExportApi {
|
|
19
|
+
export class ExportApi {
|
|
20
|
+
org;
|
|
21
|
+
ux;
|
|
22
|
+
logger;
|
|
23
|
+
objectTypeRegistry = {}; // registry for object type data plan descriptor
|
|
24
|
+
refFromIdByType = new Map(); // refFromIdByType.get('account').get(someAccountId) => AccountRef1
|
|
25
|
+
typeRefIndexes = new Map(); // registry for object type-specific ref counters
|
|
26
|
+
config;
|
|
22
27
|
constructor(org, ux) {
|
|
23
28
|
this.org = org;
|
|
24
29
|
this.ux = ux;
|
|
25
|
-
this.
|
|
26
|
-
this.refFromIdByType = new Map(); // refFromIdByType.get('account').get(someAccountId) => AccountRef1
|
|
27
|
-
this.typeRefIndexes = new Map(); // registry for object type-specific ref counters
|
|
28
|
-
this.logger = core_1.Logger.childFromRoot(this.constructor.name);
|
|
30
|
+
this.logger = Logger.childFromRoot(this.constructor.name);
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
31
33
|
* Invokes the provided SOQL query against a target Org. Results
|
|
@@ -47,7 +49,7 @@ class ExportApi {
|
|
|
47
49
|
if (err instanceof Error && err.name === 'MALFORMED_QUERY') {
|
|
48
50
|
const errMsg = messages.getMessage('soqlMalformed', [query]);
|
|
49
51
|
const errMsgAction = messages.getMessage('soqlMalformedAction');
|
|
50
|
-
throw new
|
|
52
|
+
throw new SfError(errMsg, 'MalformedQuery', [errMsgAction]);
|
|
51
53
|
}
|
|
52
54
|
else {
|
|
53
55
|
throw err;
|
|
@@ -72,7 +74,7 @@ class ExportApi {
|
|
|
72
74
|
this.logger.debug(messages.getMessage('dataExportRecordCount', [recordCount, this.config.query]));
|
|
73
75
|
if (recordCount > 200 && !this.config.plan) {
|
|
74
76
|
// use lifecycle so warnings show up in stdout and in the json
|
|
75
|
-
await
|
|
77
|
+
await Lifecycle.getInstance().emitWarning(messages.getMessage('dataExportRecordCountWarning', [recordCount, this.config.query]));
|
|
76
78
|
}
|
|
77
79
|
return this.finalApplyRefs(processedRecordList.records);
|
|
78
80
|
}
|
|
@@ -95,7 +97,7 @@ class ExportApi {
|
|
|
95
97
|
};
|
|
96
98
|
records.forEach((record) => {
|
|
97
99
|
Object.entries(record).map(([key, value]) => {
|
|
98
|
-
if (
|
|
100
|
+
if (hasNestedRecords(value)) {
|
|
99
101
|
const type = value.records[0].attributes.type;
|
|
100
102
|
// found a related object, add to map
|
|
101
103
|
if (type && !this.objectTypeRegistry[type]) {
|
|
@@ -174,7 +176,7 @@ class ExportApi {
|
|
|
174
176
|
treeRecord[key] = { records: [] };
|
|
175
177
|
return;
|
|
176
178
|
}
|
|
177
|
-
if (
|
|
179
|
+
if (hasNestedRecords(field)) {
|
|
178
180
|
const childMetadata = await this.loadMetadata(field.records[0].attributes.type);
|
|
179
181
|
treeRecord[key] = await this.queryResultsToTree(field, {
|
|
180
182
|
id: `@${objRefId}`,
|
|
@@ -225,7 +227,7 @@ class ExportApi {
|
|
|
225
227
|
// ensure no existing reference for that Id
|
|
226
228
|
const refEntry = this.refFromIdByType.get(type)?.get(id);
|
|
227
229
|
if (refEntry && refEntry !== refId) {
|
|
228
|
-
throw new
|
|
230
|
+
throw new SfError(`Overriding ${type} reference for ${id}: existing ${refEntry}, incoming ${refId}`);
|
|
229
231
|
}
|
|
230
232
|
this.refFromIdByType.set(type, (this.refFromIdByType.get(type) ?? new Map()).set(id, refId));
|
|
231
233
|
}
|
|
@@ -244,7 +246,7 @@ class ExportApi {
|
|
|
244
246
|
objects.set(topLevelObjectType, []);
|
|
245
247
|
}
|
|
246
248
|
Object.entries(record).map(([key, value]) => {
|
|
247
|
-
if (
|
|
249
|
+
if (hasNestedRecords(value)) {
|
|
248
250
|
const childRecords = value.records;
|
|
249
251
|
if (childRecords) {
|
|
250
252
|
// found child records, add to type-specific registry
|
|
@@ -286,7 +288,7 @@ class ExportApi {
|
|
|
286
288
|
finalApplyRefs(sobjectTree) {
|
|
287
289
|
sobjectTree.forEach((record) => {
|
|
288
290
|
Object.entries(record).map(([field, value]) => {
|
|
289
|
-
if (
|
|
291
|
+
if (hasNestedRecords(value)) {
|
|
290
292
|
// These are children
|
|
291
293
|
this.finalApplyRefs(value.records);
|
|
292
294
|
}
|
|
@@ -299,7 +301,7 @@ class ExportApi {
|
|
|
299
301
|
const refTo = getRelatedTo(objType, field);
|
|
300
302
|
const ref = this.refFromIdByType.get(refTo)?.get(id);
|
|
301
303
|
if (!ref) {
|
|
302
|
-
throw new
|
|
304
|
+
throw new SfError(`${objType} reference to ${refTo} (${id}) not found in query results.`);
|
|
303
305
|
}
|
|
304
306
|
record[field] = `@${ref}`;
|
|
305
307
|
// Setup dependency ordering for later output
|
|
@@ -319,7 +321,7 @@ class ExportApi {
|
|
|
319
321
|
count += records.length;
|
|
320
322
|
records.forEach((record) => {
|
|
321
323
|
Object.values(record).forEach((val) => {
|
|
322
|
-
if (
|
|
324
|
+
if (hasNestedRecords(val)) {
|
|
323
325
|
this.countRecords(val.records, count);
|
|
324
326
|
}
|
|
325
327
|
});
|
|
@@ -334,7 +336,7 @@ class ExportApi {
|
|
|
334
336
|
const finalFilename = this.config.outputDir
|
|
335
337
|
? path.join(this.config.outputDir, this.getPrefixedFileName(fileName))
|
|
336
338
|
: this.getPrefixedFileName(fileName);
|
|
337
|
-
if (
|
|
339
|
+
if (hasNestedRecords(jsonObject)) {
|
|
338
340
|
recordCount = this.countRecords(jsonObject.records);
|
|
339
341
|
}
|
|
340
342
|
fs.writeFileSync(finalFilename, JSON.stringify(jsonObject, null, 4));
|
|
@@ -342,7 +344,6 @@ class ExportApi {
|
|
|
342
344
|
return jsonObject;
|
|
343
345
|
}
|
|
344
346
|
}
|
|
345
|
-
exports.ExportApi = ExportApi;
|
|
346
347
|
/**
|
|
347
348
|
* Ensures a valid query is defined in the export configuration,
|
|
348
349
|
* which can be either a soql query or a path to a file containing
|
|
@@ -352,7 +353,7 @@ exports.ExportApi = ExportApi;
|
|
|
352
353
|
*/
|
|
353
354
|
const validate = (config) => {
|
|
354
355
|
if (!config.query) {
|
|
355
|
-
throw new
|
|
356
|
+
throw new SfError(messages.getMessage('queryNotProvided'), 'queryNotProvided');
|
|
356
357
|
}
|
|
357
358
|
const filepath = path.resolve(process.cwd(), config.query);
|
|
358
359
|
if (fs.existsSync(filepath)) {
|
|
@@ -372,7 +373,7 @@ const isSpecificTypeWithMetadata = (metadata, fieldName, fieldType) => metadata.
|
|
|
372
373
|
const getRelationshipFieldName = (metadata, parentName) => {
|
|
373
374
|
const result = metadata.fields.find((field) => field.type === 'reference' && field.referenceTo?.includes(parentName));
|
|
374
375
|
if (!result) {
|
|
375
|
-
throw new
|
|
376
|
+
throw new SfError(`Unable to find relationship field name for ${metadata.name}`);
|
|
376
377
|
}
|
|
377
378
|
return result.name;
|
|
378
379
|
};
|
|
@@ -380,19 +381,19 @@ const isRelationshipWithMetadata = (metadata, fieldName) => isSpecificTypeWithMe
|
|
|
380
381
|
const getRelatedToWithMetadata = (metadata, fieldName) => {
|
|
381
382
|
const result = metadata.fields.find((field) => field.name === fieldName && field.referenceTo?.length);
|
|
382
383
|
if (!result?.referenceTo) {
|
|
383
|
-
throw new
|
|
384
|
+
throw new SfError(`Unable to find relation for ${metadata.name}`);
|
|
384
385
|
}
|
|
385
386
|
return result.referenceTo[0];
|
|
386
387
|
};
|
|
387
388
|
const isRelationship = (objectName, fieldName) => {
|
|
388
389
|
if (!describe[objectName]) {
|
|
389
|
-
throw new
|
|
390
|
+
throw new SfError(`Metadata not found for ${objectName}`);
|
|
390
391
|
}
|
|
391
392
|
return isRelationshipWithMetadata(describe[objectName], fieldName);
|
|
392
393
|
};
|
|
393
394
|
const getRelatedTo = (objectName, fieldName) => {
|
|
394
395
|
if (!describe[objectName]) {
|
|
395
|
-
throw new
|
|
396
|
+
throw new SfError(`Metadata not found for ${objectName}`);
|
|
396
397
|
}
|
|
397
398
|
return getRelatedToWithMetadata(describe[objectName], fieldName);
|
|
398
399
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportApi.js","sourceRoot":"","sources":["../../../../src/api/data/tree/exportApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exportApi.js","sourceRoot":"","sources":["../../../../src/api/data/tree/exportApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
3
|
* All rights reserved.
|
|
5
4
|
* Licensed under the BSD 3-Clause license.
|
|
6
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
const importPlanSchemaFile = path.join(__dirname, '..', '..', '..', '..', 'schema', 'dataImportPlanSchema.json');
|
|
7
|
+
import util from 'node:util';
|
|
8
|
+
import fs from 'node:fs';
|
|
9
|
+
import path, { dirname } from 'node:path';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
|
+
import { getString } from '@salesforce/ts-types';
|
|
12
|
+
import { Logger, Messages, Org, SchemaValidator, SfError } from '@salesforce/core';
|
|
13
|
+
import { hasNestedRecords, isAttributesElement } from '../../../dataSoqlQueryTypes.js';
|
|
14
|
+
Messages.importMessagesDirectory(dirname(fileURLToPath(import.meta.url)));
|
|
15
|
+
const messages = Messages.loadMessages('@salesforce/plugin-data', 'importApi');
|
|
16
|
+
const importPlanSchemaFile = path.join(dirname(fileURLToPath(import.meta.url)), '..', '..', '..', '..', 'schema', 'dataImportPlanSchema.json');
|
|
19
17
|
const sobjectTreeApiPartPattern = '%s/services/data/v%s/composite/tree/%s';
|
|
20
18
|
const jsonContentType = 'application/json';
|
|
21
19
|
const xmlContentType = 'application/xml';
|
|
@@ -25,17 +23,23 @@ const INVALID_DATA_IMPORT_ERR_NAME = 'InvalidDataImport';
|
|
|
25
23
|
/**
|
|
26
24
|
* Imports data into an org that was exported to files using the export API.
|
|
27
25
|
*/
|
|
28
|
-
class ImportApi {
|
|
26
|
+
export class ImportApi {
|
|
27
|
+
org;
|
|
28
|
+
cli;
|
|
29
|
+
separator;
|
|
30
|
+
logger;
|
|
31
|
+
responseRefs = [];
|
|
32
|
+
sobjectUrlMap = new Map();
|
|
33
|
+
schemaValidator;
|
|
34
|
+
sobjectTypes = {};
|
|
35
|
+
config;
|
|
36
|
+
importPlanConfig = [];
|
|
29
37
|
constructor(org, cli, separator) {
|
|
30
38
|
this.org = org;
|
|
31
39
|
this.cli = cli;
|
|
32
40
|
this.separator = separator;
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
35
|
-
this.sobjectTypes = {};
|
|
36
|
-
this.importPlanConfig = [];
|
|
37
|
-
this.logger = core_1.Logger.childFromRoot(this.constructor.name);
|
|
38
|
-
this.schemaValidator = new core_1.SchemaValidator(this.logger, importPlanSchemaFile);
|
|
41
|
+
this.logger = Logger.childFromRoot(this.constructor.name);
|
|
42
|
+
this.schemaValidator = new SchemaValidator(this.logger, importPlanSchemaFile);
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
41
45
|
* Inserts given SObject Tree content into given target Org.
|
|
@@ -44,7 +48,7 @@ class ImportApi {
|
|
|
44
48
|
*/
|
|
45
49
|
async import(config) {
|
|
46
50
|
const importResults = {};
|
|
47
|
-
const instanceUrl = this.org.getField(
|
|
51
|
+
const instanceUrl = this.org.getField(Org.Fields.INSTANCE_URL);
|
|
48
52
|
this.config = await this.validate(config);
|
|
49
53
|
const refMap = new Map();
|
|
50
54
|
const { contentType, plan, sobjectTreeFiles = [] } = this.config;
|
|
@@ -69,11 +73,11 @@ class ImportApi {
|
|
|
69
73
|
importResults.sobjectTypes = this.sobjectTypes;
|
|
70
74
|
}
|
|
71
75
|
catch (err) {
|
|
72
|
-
if (!(err instanceof
|
|
76
|
+
if (!(err instanceof SfError)) {
|
|
73
77
|
throw err;
|
|
74
78
|
}
|
|
75
79
|
const error = err;
|
|
76
|
-
if (
|
|
80
|
+
if (getString(error, 'errorCode') === 'ERROR_HTTP_400' && error.message != null) {
|
|
77
81
|
try {
|
|
78
82
|
const msg = JSON.parse(error.message);
|
|
79
83
|
if (msg.hasErrors && msg.results && msg.results.length > 0) {
|
|
@@ -84,7 +88,7 @@ class ImportApi {
|
|
|
84
88
|
// throw original
|
|
85
89
|
}
|
|
86
90
|
}
|
|
87
|
-
throw
|
|
91
|
+
throw SfError.wrap(error);
|
|
88
92
|
}
|
|
89
93
|
return importResults;
|
|
90
94
|
}
|
|
@@ -106,7 +110,7 @@ class ImportApi {
|
|
|
106
110
|
fs.statSync(filepath);
|
|
107
111
|
}
|
|
108
112
|
catch (e) {
|
|
109
|
-
throw new
|
|
113
|
+
throw new SfError(messages.getMessage('dataFileNotFound', [filepath]), INVALID_DATA_IMPORT_ERR_NAME);
|
|
110
114
|
}
|
|
111
115
|
// determine content type
|
|
112
116
|
if (filepath.endsWith('.json')) {
|
|
@@ -121,7 +125,7 @@ class ImportApi {
|
|
|
121
125
|
// unable to determine content type from extension, was a global content type provided?
|
|
122
126
|
if (!tmpContentType) {
|
|
123
127
|
if (!contentType) {
|
|
124
|
-
throw new
|
|
128
|
+
throw new SfError(messages.getMessage('unknownContentType', [filepath]), INVALID_DATA_IMPORT_ERR_NAME);
|
|
125
129
|
}
|
|
126
130
|
else if (contentType.toUpperCase() === 'JSON') {
|
|
127
131
|
tmpContentType = jsonContentType;
|
|
@@ -133,7 +137,7 @@ class ImportApi {
|
|
|
133
137
|
meta.refRegex = xmlRefRegex;
|
|
134
138
|
}
|
|
135
139
|
else {
|
|
136
|
-
throw new
|
|
140
|
+
throw new SfError(messages.getMessage('dataFileUnsupported', [contentType]), INVALID_DATA_IMPORT_ERR_NAME);
|
|
137
141
|
}
|
|
138
142
|
}
|
|
139
143
|
meta.headers['content-type'] = tmpContentType;
|
|
@@ -141,10 +145,10 @@ class ImportApi {
|
|
|
141
145
|
}
|
|
142
146
|
async getPlanPromises({ plan, contentType, refMap, instanceUrl, }) {
|
|
143
147
|
// REVIEWME: support both files and plan in same invocation?
|
|
144
|
-
const importPlanRootPath =
|
|
148
|
+
const importPlanRootPath = dirname(plan);
|
|
145
149
|
for (const sobjectConfig of this.importPlanConfig) {
|
|
146
|
-
const globalSaveRefs = sobjectConfig.saveRefs
|
|
147
|
-
const globalResolveRefs = sobjectConfig.resolveRefs
|
|
150
|
+
const globalSaveRefs = sobjectConfig.saveRefs ?? false;
|
|
151
|
+
const globalResolveRefs = sobjectConfig.resolveRefs ?? false;
|
|
148
152
|
for (const fileDef of sobjectConfig.files) {
|
|
149
153
|
let filepath;
|
|
150
154
|
let saveRefs = globalSaveRefs;
|
|
@@ -157,12 +161,12 @@ class ImportApi {
|
|
|
157
161
|
else if (fileDef.file) {
|
|
158
162
|
filepath = fileDef.file;
|
|
159
163
|
// override save references, if set
|
|
160
|
-
saveRefs = fileDef.saveRefs
|
|
164
|
+
saveRefs = fileDef.saveRefs ?? globalSaveRefs;
|
|
161
165
|
// override resolve references, if set
|
|
162
|
-
resolveRefs = fileDef.resolveRefs
|
|
166
|
+
resolveRefs = fileDef.resolveRefs ?? globalResolveRefs;
|
|
163
167
|
}
|
|
164
168
|
else {
|
|
165
|
-
throw new
|
|
169
|
+
throw new SfError('file definition format unknown.', 'InvalidDataImportPlan');
|
|
166
170
|
}
|
|
167
171
|
filepath = path.resolve(importPlanRootPath, filepath);
|
|
168
172
|
const importConfig = {
|
|
@@ -189,16 +193,16 @@ class ImportApi {
|
|
|
189
193
|
const { sobjectTreeFiles, plan } = config;
|
|
190
194
|
// --sobjecttreefiles option is required when --plan option is unset
|
|
191
195
|
if (!sobjectTreeFiles && !plan) {
|
|
192
|
-
throw new
|
|
196
|
+
throw new SfError(messages.getMessage('dataFileNotProvided'), INVALID_DATA_IMPORT_ERR_NAME);
|
|
193
197
|
}
|
|
194
198
|
// Prevent both --sobjecttreefiles and --plan option from being set
|
|
195
199
|
if (sobjectTreeFiles && plan) {
|
|
196
|
-
throw new
|
|
200
|
+
throw new SfError(messages.getMessage('tooManyFiles'), INVALID_DATA_IMPORT_ERR_NAME);
|
|
197
201
|
}
|
|
198
202
|
if (plan) {
|
|
199
203
|
const planPath = path.resolve(process.cwd(), plan);
|
|
200
204
|
if (!fs.existsSync(planPath)) {
|
|
201
|
-
throw new
|
|
205
|
+
throw new SfError(messages.getMessage('dataFileNotFound', [planPath]), INVALID_DATA_IMPORT_ERR_NAME);
|
|
202
206
|
}
|
|
203
207
|
this.importPlanConfig = JSON.parse(fs.readFileSync(planPath, 'utf8'));
|
|
204
208
|
try {
|
|
@@ -207,7 +211,7 @@ class ImportApi {
|
|
|
207
211
|
catch (err) {
|
|
208
212
|
const error = err;
|
|
209
213
|
if (error.name === 'ValidationSchemaFieldErrors') {
|
|
210
|
-
throw new
|
|
214
|
+
throw new SfError(messages.getMessage('dataPlanValidationError', [planPath, error.message]), INVALID_DATA_IMPORT_ERR_NAME, messages.getMessages('dataPlanValidationErrorActions', [
|
|
211
215
|
this.cli,
|
|
212
216
|
this.separator,
|
|
213
217
|
this.separator,
|
|
@@ -216,7 +220,7 @@ class ImportApi {
|
|
|
216
220
|
this.separator,
|
|
217
221
|
]));
|
|
218
222
|
}
|
|
219
|
-
throw
|
|
223
|
+
throw SfError.wrap(error);
|
|
220
224
|
}
|
|
221
225
|
}
|
|
222
226
|
return config;
|
|
@@ -232,10 +236,10 @@ class ImportApi {
|
|
|
232
236
|
const getTypes = (records) => {
|
|
233
237
|
records.forEach((record) => {
|
|
234
238
|
Object.entries(record).forEach(([key, val]) => {
|
|
235
|
-
if (key === 'attributes' &&
|
|
239
|
+
if (key === 'attributes' && isAttributesElement(val)) {
|
|
236
240
|
this.sobjectTypes[val.referenceId] = val.type;
|
|
237
241
|
}
|
|
238
|
-
else if (
|
|
242
|
+
else if (hasNestedRecords(val) && Array.isArray(val.records)) {
|
|
239
243
|
getTypes(val.records);
|
|
240
244
|
}
|
|
241
245
|
});
|
|
@@ -338,7 +342,7 @@ class ImportApi {
|
|
|
338
342
|
}
|
|
339
343
|
}
|
|
340
344
|
else {
|
|
341
|
-
throw new
|
|
345
|
+
throw new SfError('SObject Tree API XML response parsing not implemented', 'FailedDataImport');
|
|
342
346
|
}
|
|
343
347
|
return response;
|
|
344
348
|
}
|
|
@@ -353,14 +357,13 @@ class ImportApi {
|
|
|
353
357
|
this.parseSObjectTreeResponse(response, components.filepath, isJson, components.saveRefs, components.refMap);
|
|
354
358
|
}
|
|
355
359
|
catch (error) {
|
|
356
|
-
if (error instanceof Error &&
|
|
360
|
+
if (error instanceof Error && getString(error, 'errorCode') === 'INVALID_FIELD') {
|
|
357
361
|
const field = error.message.split("'")[1];
|
|
358
362
|
const object = error.message.substr(error.message.lastIndexOf(' ') + 1, error.message.length);
|
|
359
363
|
throw messages.createError('FlsError', [field, object]);
|
|
360
364
|
}
|
|
361
|
-
throw
|
|
365
|
+
throw SfError.wrap(error);
|
|
362
366
|
}
|
|
363
367
|
}
|
|
364
368
|
}
|
|
365
|
-
exports.ImportApi = ImportApi;
|
|
366
369
|
//# sourceMappingURL=importApi.js.map
|