@salesforce/plugin-data 4.0.66 → 4.0.67
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 +24 -24
- package/lib/api/data/tree/importFiles.js +4 -1
- package/lib/api/data/tree/importFiles.js.map +1 -1
- package/lib/api/data/tree/importPlan.js +23 -30
- package/lib/api/data/tree/importPlan.js.map +1 -1
- package/lib/commands/data/import/tree.js +4 -1
- package/lib/commands/data/import/tree.js.map +1 -1
- package/lib/schema/dataImportPlan.js +35 -0
- package/lib/schema/dataImportPlan.js.map +1 -0
- package/messages/importApi.md +1 -1
- package/oclif.manifest.json +78 -78
- package/package.json +8 -7
- package/schema/dataImportPlanSchema.json +0 -72
package/README.md
CHANGED
|
@@ -144,7 +144,7 @@ EXAMPLES
|
|
|
144
144
|
$ sf data bulk results --job-id 7507i000fake341G --target-org my-scratch
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
-
_See code: [src/commands/data/bulk/results.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
147
|
+
_See code: [src/commands/data/bulk/results.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/bulk/results.ts)_
|
|
148
148
|
|
|
149
149
|
## `sf data create file`
|
|
150
150
|
|
|
@@ -193,7 +193,7 @@ EXAMPLES
|
|
|
193
193
|
$ sf data create file --file path/to/astro.png --parent-id a03fakeLoJWPIA3
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
-
_See code: [src/commands/data/create/file.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
196
|
+
_See code: [src/commands/data/create/file.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/create/file.ts)_
|
|
197
197
|
|
|
198
198
|
## `sf data create record`
|
|
199
199
|
|
|
@@ -249,7 +249,7 @@ EXAMPLES
|
|
|
249
249
|
TracedEntityId=01p17000000R6bLAAS"
|
|
250
250
|
```
|
|
251
251
|
|
|
252
|
-
_See code: [src/commands/data/create/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
252
|
+
_See code: [src/commands/data/create/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/create/record.ts)_
|
|
253
253
|
|
|
254
254
|
## `sf data delete bulk`
|
|
255
255
|
|
|
@@ -308,7 +308,7 @@ FLAG DESCRIPTIONS
|
|
|
308
308
|
and can be enabled only by a system administrator.
|
|
309
309
|
```
|
|
310
310
|
|
|
311
|
-
_See code: [src/commands/data/delete/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
311
|
+
_See code: [src/commands/data/delete/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/delete/bulk.ts)_
|
|
312
312
|
|
|
313
313
|
## `sf data delete record`
|
|
314
314
|
|
|
@@ -369,7 +369,7 @@ EXAMPLES
|
|
|
369
369
|
$ sf data delete record --use-tooling-api --sobject TraceFlag --record-id 7tf8c
|
|
370
370
|
```
|
|
371
371
|
|
|
372
|
-
_See code: [src/commands/data/delete/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
372
|
+
_See code: [src/commands/data/delete/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/delete/record.ts)_
|
|
373
373
|
|
|
374
374
|
## `sf data delete resume`
|
|
375
375
|
|
|
@@ -408,7 +408,7 @@ EXAMPLES
|
|
|
408
408
|
$ sf data delete resume --use-most-recent --target-org my-scratch
|
|
409
409
|
```
|
|
410
410
|
|
|
411
|
-
_See code: [src/commands/data/delete/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
411
|
+
_See code: [src/commands/data/delete/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/delete/resume.ts)_
|
|
412
412
|
|
|
413
413
|
## `sf data export bulk`
|
|
414
414
|
|
|
@@ -475,7 +475,7 @@ EXAMPLES
|
|
|
475
475
|
--result-format json --wait 10 --all-rows
|
|
476
476
|
```
|
|
477
477
|
|
|
478
|
-
_See code: [src/commands/data/export/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
478
|
+
_See code: [src/commands/data/export/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/export/bulk.ts)_
|
|
479
479
|
|
|
480
480
|
## `sf data export resume`
|
|
481
481
|
|
|
@@ -514,7 +514,7 @@ EXAMPLES
|
|
|
514
514
|
$ sf data export resume --use-most-recent
|
|
515
515
|
```
|
|
516
516
|
|
|
517
|
-
_See code: [src/commands/data/export/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
517
|
+
_See code: [src/commands/data/export/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/export/resume.ts)_
|
|
518
518
|
|
|
519
519
|
## `sf data export tree`
|
|
520
520
|
|
|
@@ -574,7 +574,7 @@ EXAMPLES
|
|
|
574
574
|
my-scratch
|
|
575
575
|
```
|
|
576
576
|
|
|
577
|
-
_See code: [src/commands/data/export/tree.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
577
|
+
_See code: [src/commands/data/export/tree.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/export/tree.ts)_
|
|
578
578
|
|
|
579
579
|
## `sf data get record`
|
|
580
580
|
|
|
@@ -638,7 +638,7 @@ EXAMPLES
|
|
|
638
638
|
$ sf data get record --use-tooling-api --sobject TraceFlag --record-id 7tf8c
|
|
639
639
|
```
|
|
640
640
|
|
|
641
|
-
_See code: [src/commands/data/get/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
641
|
+
_See code: [src/commands/data/get/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/get/record.ts)_
|
|
642
642
|
|
|
643
643
|
## `sf data import bulk`
|
|
644
644
|
|
|
@@ -690,7 +690,7 @@ EXAMPLES
|
|
|
690
690
|
$ sf data import bulk --file accounts.csv --sobject Account --wait 10 --target-org my-scratch
|
|
691
691
|
```
|
|
692
692
|
|
|
693
|
-
_See code: [src/commands/data/import/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
693
|
+
_See code: [src/commands/data/import/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/import/bulk.ts)_
|
|
694
694
|
|
|
695
695
|
## `sf data import resume`
|
|
696
696
|
|
|
@@ -726,7 +726,7 @@ EXAMPLES
|
|
|
726
726
|
$ sf data import resume --use-most-recent --target-org my-scratch
|
|
727
727
|
```
|
|
728
728
|
|
|
729
|
-
_See code: [src/commands/data/import/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
729
|
+
_See code: [src/commands/data/import/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/import/resume.ts)_
|
|
730
730
|
|
|
731
731
|
## `sf data import tree`
|
|
732
732
|
|
|
@@ -790,7 +790,7 @@ FLAG DESCRIPTIONS
|
|
|
790
790
|
- files(array) - Files: An array of files paths to load
|
|
791
791
|
```
|
|
792
792
|
|
|
793
|
-
_See code: [src/commands/data/import/tree.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
793
|
+
_See code: [src/commands/data/import/tree.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/import/tree.ts)_
|
|
794
794
|
|
|
795
795
|
## `sf data query`
|
|
796
796
|
|
|
@@ -843,7 +843,7 @@ EXAMPLES
|
|
|
843
843
|
$ sf data query --query "SELECT Name FROM ApexTrigger" --use-tooling-api
|
|
844
844
|
```
|
|
845
845
|
|
|
846
|
-
_See code: [src/commands/data/query.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
846
|
+
_See code: [src/commands/data/query.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/query.ts)_
|
|
847
847
|
|
|
848
848
|
## `sf data resume`
|
|
849
849
|
|
|
@@ -880,7 +880,7 @@ EXAMPLES
|
|
|
880
880
|
$ sf data resume --job-id 750xx000000005sAAA --batch-id 751xx000000005nAAA
|
|
881
881
|
```
|
|
882
882
|
|
|
883
|
-
_See code: [src/commands/data/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
883
|
+
_See code: [src/commands/data/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/resume.ts)_
|
|
884
884
|
|
|
885
885
|
## `sf data search`
|
|
886
886
|
|
|
@@ -930,7 +930,7 @@ EXAMPLES
|
|
|
930
930
|
$ sf data search --file query.txt --target-org my-scratch --result-format csv
|
|
931
931
|
```
|
|
932
932
|
|
|
933
|
-
_See code: [src/commands/data/search.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
933
|
+
_See code: [src/commands/data/search.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/search.ts)_
|
|
934
934
|
|
|
935
935
|
## `sf data update bulk`
|
|
936
936
|
|
|
@@ -985,7 +985,7 @@ EXAMPLES
|
|
|
985
985
|
$ sf data update bulk --file accounts.csv --sobject Account --wait 10 --target-org my-scratch
|
|
986
986
|
```
|
|
987
987
|
|
|
988
|
-
_See code: [src/commands/data/update/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
988
|
+
_See code: [src/commands/data/update/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/update/bulk.ts)_
|
|
989
989
|
|
|
990
990
|
## `sf data update record`
|
|
991
991
|
|
|
@@ -1047,7 +1047,7 @@ EXAMPLES
|
|
|
1047
1047
|
"ExpirationDate=2017-12-01T00:58:04.000+0000"
|
|
1048
1048
|
```
|
|
1049
1049
|
|
|
1050
|
-
_See code: [src/commands/data/update/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
1050
|
+
_See code: [src/commands/data/update/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/update/record.ts)_
|
|
1051
1051
|
|
|
1052
1052
|
## `sf data update resume`
|
|
1053
1053
|
|
|
@@ -1086,7 +1086,7 @@ EXAMPLES
|
|
|
1086
1086
|
$ sf data update resume --use-most-recent
|
|
1087
1087
|
```
|
|
1088
1088
|
|
|
1089
|
-
_See code: [src/commands/data/update/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
1089
|
+
_See code: [src/commands/data/update/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/update/resume.ts)_
|
|
1090
1090
|
|
|
1091
1091
|
## `sf data upsert bulk`
|
|
1092
1092
|
|
|
@@ -1142,7 +1142,7 @@ EXAMPLES
|
|
|
1142
1142
|
my-scratch
|
|
1143
1143
|
```
|
|
1144
1144
|
|
|
1145
|
-
_See code: [src/commands/data/upsert/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
1145
|
+
_See code: [src/commands/data/upsert/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/upsert/bulk.ts)_
|
|
1146
1146
|
|
|
1147
1147
|
## `sf data upsert resume`
|
|
1148
1148
|
|
|
@@ -1181,7 +1181,7 @@ EXAMPLES
|
|
|
1181
1181
|
$ sf data upsert resume --use-most-recent --target-org my-scratch
|
|
1182
1182
|
```
|
|
1183
1183
|
|
|
1184
|
-
_See code: [src/commands/data/upsert/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
1184
|
+
_See code: [src/commands/data/upsert/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/data/upsert/resume.ts)_
|
|
1185
1185
|
|
|
1186
1186
|
## `sf force data bulk delete`
|
|
1187
1187
|
|
|
@@ -1228,7 +1228,7 @@ EXAMPLES
|
|
|
1228
1228
|
$ sf force data bulk delete --sobject MyObject__c --file files/delete.csv --wait 5 --target-org my-scratch
|
|
1229
1229
|
```
|
|
1230
1230
|
|
|
1231
|
-
_See code: [src/commands/force/data/bulk/delete.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
1231
|
+
_See code: [src/commands/force/data/bulk/delete.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/force/data/bulk/delete.ts)_
|
|
1232
1232
|
|
|
1233
1233
|
## `sf force data bulk status`
|
|
1234
1234
|
|
|
@@ -1265,7 +1265,7 @@ EXAMPLES
|
|
|
1265
1265
|
$ sf force data bulk status --job-id 750xx000000005sAAA --batch-id 751xx000000005nAAA --target-org my-scratch
|
|
1266
1266
|
```
|
|
1267
1267
|
|
|
1268
|
-
_See code: [src/commands/force/data/bulk/status.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
1268
|
+
_See code: [src/commands/force/data/bulk/status.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/force/data/bulk/status.ts)_
|
|
1269
1269
|
|
|
1270
1270
|
## `sf force data bulk upsert`
|
|
1271
1271
|
|
|
@@ -1323,6 +1323,6 @@ EXAMPLES
|
|
|
1323
1323
|
--target-org my-scratch
|
|
1324
1324
|
```
|
|
1325
1325
|
|
|
1326
|
-
_See code: [src/commands/force/data/bulk/upsert.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.
|
|
1326
|
+
_See code: [src/commands/force/data/bulk/upsert.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.67/src/commands/force/data/bulk/upsert.ts)_
|
|
1327
1327
|
|
|
1328
1328
|
<!-- commandsstop -->
|
|
@@ -26,7 +26,10 @@ export const importFromFiles = async (conn, dataFilePaths) => {
|
|
|
26
26
|
await Promise.all(fileInfos.map(async (fi) => transformRecordTypeEntries(conn, fi.records)));
|
|
27
27
|
const refMap = createSObjectTypeMap(fileInfos.flatMap((fi) => fi.records));
|
|
28
28
|
const results = await Promise.allSettled(fileInfos.map((fi) => sendSObjectTreeRequest(conn)(fi.sobject)(JSON.stringify({ records: fi.records }))));
|
|
29
|
-
return
|
|
29
|
+
return {
|
|
30
|
+
results: results.map(getSuccessOrThrow).flatMap(getValueOrThrow(fileInfos)).map(addObjectTypes(refMap)),
|
|
31
|
+
warnings: [],
|
|
32
|
+
};
|
|
30
33
|
};
|
|
31
34
|
const getSuccessOrThrow = (result) => isFulfilled(result) ? result : treeSaveErrorHandler(result.reason);
|
|
32
35
|
const getValueOrThrow = (fi) => (response, index) => getResultsIfNoError(fi[index].filePath)(response.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importFiles.js","sourceRoot":"","sources":["../../../../src/api/data/tree/importFiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,EAAc,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAoB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AASnD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,IAAgB,EAAE,aAAuB,
|
|
1
|
+
{"version":3,"file":"importFiles.js","sourceRoot":"","sources":["../../../../src/api/data/tree/importFiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import path from 'node:path';
|
|
17
17
|
import { EOL } from 'node:os';
|
|
18
|
-
import { fileURLToPath } from 'node:url';
|
|
19
18
|
import fs from 'node:fs';
|
|
20
19
|
import { createHash } from 'node:crypto';
|
|
21
20
|
import { isString } from '@salesforce/ts-types';
|
|
22
|
-
import { Logger,
|
|
21
|
+
import { Logger, Messages } from '@salesforce/core';
|
|
22
|
+
import { DataImportPlanArraySchema } from '../../../schema/dataImportPlan.js';
|
|
23
23
|
import { getResultsIfNoError, parseDataFileContents, sendSObjectTreeRequest, transformRecordTypeEntries, treeSaveErrorHandler, } from './importCommon.js';
|
|
24
24
|
import { isUnresolvedRef } from './functions.js';
|
|
25
25
|
import { hasUnresolvedRefs } from './functions.js';
|
|
@@ -30,16 +30,18 @@ const refRegex = (object) => new RegExp(`^@${object}Ref\\d+$`);
|
|
|
30
30
|
export const importFromPlan = async (conn, planFilePath) => {
|
|
31
31
|
const resolvedPlanPath = path.resolve(process.cwd(), planFilePath);
|
|
32
32
|
const logger = Logger.childFromRoot('data:import:tree:importFromPlan');
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
const warnings = [];
|
|
34
|
+
const planResultObj = validatePlanContents(resolvedPlanPath, JSON.parse(fs.readFileSync(resolvedPlanPath, 'utf-8')));
|
|
35
|
+
warnings.push(...planResultObj.warnings);
|
|
36
|
+
const planContents = await Promise.all(planResultObj.parsedPlans
|
|
37
|
+
.flatMap((planPart) => planPart.files.map((f) => ({ ...planPart, filePath: path.resolve(path.dirname(resolvedPlanPath), f) })))
|
|
36
38
|
.map(async (i) => ({
|
|
37
39
|
...i,
|
|
38
40
|
records: parseDataFileContents(i.filePath)(await fs.promises.readFile(i.filePath, 'utf-8')),
|
|
39
41
|
})));
|
|
40
42
|
// using recursion to sequentially send the requests so we get refs back from each round
|
|
41
43
|
const { results } = await getResults(conn)(logger)({ results: [], fingerprints: new Set() })(planContents);
|
|
42
|
-
return results;
|
|
44
|
+
return { results, warnings };
|
|
43
45
|
};
|
|
44
46
|
/** recursively splits files (for size or unresolved refs) and makes API calls, storing results for subsequent calls */
|
|
45
47
|
const getResults = (conn) => (logger) => (resultsSoFar) => async (planParts) => {
|
|
@@ -123,34 +125,25 @@ export const replaceRefs = (results) => (records) => {
|
|
|
123
125
|
};
|
|
124
126
|
/** replace 1 record with 1 ref for all of its fields */
|
|
125
127
|
const replaceRefWithId = (ref) => (record) => Object.fromEntries(Object.entries(record).map(([k, v]) => [k, v === `@${ref.refId}` ? ref.id : v]));
|
|
126
|
-
export
|
|
127
|
-
const
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
childLogger.warn("The plan contains the 'saveRefs' and/or 'resolveRefs' properties. These properties will be ignored and can be removed.");
|
|
135
|
-
}
|
|
136
|
-
if (!hasOnlySimpleFiles(output)) {
|
|
137
|
-
throw messages.createError('error.NonStringFiles');
|
|
138
|
-
}
|
|
139
|
-
return planContents;
|
|
128
|
+
export function validatePlanContents(planPath, planContents) {
|
|
129
|
+
const warnings = [];
|
|
130
|
+
const parseResults = DataImportPlanArraySchema.safeParse(planContents);
|
|
131
|
+
if (parseResults.error) {
|
|
132
|
+
throw messages.createError('error.InvalidDataImport', [
|
|
133
|
+
planPath,
|
|
134
|
+
parseResults.error.issues.map((e) => JSON.stringify(e, null, 2)).join('\n'),
|
|
135
|
+
]);
|
|
140
136
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
throw SfError.wrap(err);
|
|
137
|
+
const parsedPlans = parseResults.data;
|
|
138
|
+
for (const parsedPlan of parsedPlans) {
|
|
139
|
+
if (parsedPlan.saveRefs !== undefined || parsedPlan.resolveRefs !== undefined) {
|
|
140
|
+
warnings.push("The plan contains the 'saveRefs' and/or 'resolveRefs' properties. These properties will be ignored and can be removed.");
|
|
141
|
+
break;
|
|
147
142
|
}
|
|
148
|
-
throw err;
|
|
149
143
|
}
|
|
150
|
-
};
|
|
144
|
+
return { parsedPlans, warnings };
|
|
145
|
+
}
|
|
151
146
|
const matchesRefFilter = (unresolvedRefRegex) => (v) => typeof v === 'string' && unresolvedRefRegex.test(v);
|
|
152
|
-
const hasOnlySimpleFiles = (planParts) => planParts.every((p) => p.files.every((f) => typeof f === 'string'));
|
|
153
|
-
const hasRefs = (planParts) => planParts.some((p) => p.saveRefs !== undefined || p.resolveRefs !== undefined);
|
|
154
147
|
// TODO: change this implementation to use Object.groupBy when it's on all supported node versions
|
|
155
148
|
const filterUnresolved = (records) => ({
|
|
156
149
|
resolved: records.filter((r) => !hasUnresolvedRefs([r])),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importPlan.js","sourceRoot":"","sources":["../../../../src/api/data/tree/importPlan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"importPlan.js","sourceRoot":"","sources":["../../../../src/api/data/tree/importPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,9 +53,12 @@ export default class Import extends SfCommand {
|
|
|
53
53
|
const { flags } = await this.parse(Import);
|
|
54
54
|
const conn = flags['target-org'].getConnection(flags['api-version']);
|
|
55
55
|
try {
|
|
56
|
-
const results = flags.plan
|
|
56
|
+
const { results, warnings } = flags.plan
|
|
57
57
|
? await importFromPlan(conn, flags.plan)
|
|
58
58
|
: await importFromFiles(conn, flags.files ?? []);
|
|
59
|
+
for (const warning of warnings) {
|
|
60
|
+
this.warn(warning);
|
|
61
|
+
}
|
|
59
62
|
this.table({
|
|
60
63
|
data: results,
|
|
61
64
|
columns: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/commands/data/import/tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,SAAyB;IACpD,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAU,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACrD,MAAM,CAAU,gBAAgB,GAAG,IAAI,CAAC;IAExC,MAAM,CAAU,KAAK,GAAG;QAC7B,GAAG,QAAQ;QACX,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;YACnD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;YAC7B,OAAO,EAAE,CAAC,kBAAkB,CAAC;YAC7B,gBAAgB,EAAE,IAAI;YACtB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,GAAG;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC1D,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;YAC7B,MAAM,EAAE,IAAI;SACb,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/commands/data/import/tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025, Salesforce, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { z } from 'zod';
|
|
17
|
+
export const DataImportPlanArraySchema = z
|
|
18
|
+
.array(z.object({
|
|
19
|
+
sobject: z.string().describe('Child file references must have SObject roots of this type'),
|
|
20
|
+
saveRefs: z
|
|
21
|
+
.boolean()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('Post-save, save references (Name/ID) to be used for reference replacement in subsequent saves. Applies to all data files for this SObject type.'),
|
|
24
|
+
resolveRefs: z
|
|
25
|
+
.boolean()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('Pre-save, replace @<reference> with ID from previous save. Applies to all data files for this SObject type.'),
|
|
28
|
+
files: z
|
|
29
|
+
.array(z
|
|
30
|
+
.string('The `files` property of the plan objects must contain only strings')
|
|
31
|
+
.describe('Filepath string or object to point to a JSON or XML file having data defined in SObject Tree format.'))
|
|
32
|
+
.describe('An array of files paths to load'),
|
|
33
|
+
}))
|
|
34
|
+
.describe('Schema for data import plan JSON');
|
|
35
|
+
//# sourceMappingURL=dataImportPlan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataImportPlan.js","sourceRoot":"","sources":["../../src/schema/dataImportPlan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,kJAAkJ,CACnJ;IACH,WAAW,EAAE,CAAC;SACX,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,8GAA8G,CAC/G;IACH,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC;SACE,MAAM,CAAC,oEAAoE,CAAC;SAC5E,QAAQ,CACP,sGAAsG,CACvG,CACJ;SACA,QAAQ,CAAC,iCAAiC,CAAC;CAC/C,CAAC,CACH;KACA,QAAQ,CAAC,kCAAkC,CAAC,CAAC"}
|
package/messages/importApi.md
CHANGED
|
@@ -20,7 +20,7 @@ Data plan file %s did not validate against the schema. Errors: %s.
|
|
|
20
20
|
|
|
21
21
|
- Make sure you're importing a plan definition file.
|
|
22
22
|
|
|
23
|
-
- Get help with the import plan schema by running "sf data import
|
|
23
|
+
- Get help with the import plan schema by running "sf data import tree --help".
|
|
24
24
|
|
|
25
25
|
# error.NonStringFiles
|
|
26
26
|
|
package/oclif.manifest.json
CHANGED
|
@@ -401,83 +401,6 @@
|
|
|
401
401
|
"search:data"
|
|
402
402
|
]
|
|
403
403
|
},
|
|
404
|
-
"data:bulk:results": {
|
|
405
|
-
"aliases": [],
|
|
406
|
-
"args": {},
|
|
407
|
-
"description": "Use this command to get the complete results after running one of the CLI commands that uses Bulk API 2.0 to ingest (import, update, upsert, or delete) large datasets to your org, such as \"data import bulk\". The previously-run bulk command must have completed; if it's still processing, run the corresponding resume command first, such as \"data import resume.\" Make note of the job ID of the previous bulk command because you use it to run this command. \n\nYou can also use this command to get results from running a bulk ingest job with a different tool, such as Data Loader, as long as you have the job ID. For information on Data Loader, see https://developer.salesforce.com/docs/atlas.en-us.dataLoader.meta/dataLoader/data_loader_intro.htm. \n\nThis command first displays the status of the previous bulk job, the operation that was executed in the org (such as insert or hard delete), and the updated Salesforce object. The command then displays how many records were processed in total, and how many were successful or failed. Finally, the output displays the names of the generated CSV-formatted files that contain the specific results for each ingested record. Depending on the success or failure of the bulk command, the results files can include the IDs of inserted records or the specific errors. When possible, if the ingest job failed or was aborted, you also get a CSV file with the unprocessed results.",
|
|
408
|
-
"examples": [
|
|
409
|
-
"Get results from a bulk ingest job; use the org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --job-id 7507i000fake341G --target-org my-scratch"
|
|
410
|
-
],
|
|
411
|
-
"flags": {
|
|
412
|
-
"json": {
|
|
413
|
-
"description": "Format output as json.",
|
|
414
|
-
"helpGroup": "GLOBAL",
|
|
415
|
-
"name": "json",
|
|
416
|
-
"allowNo": false,
|
|
417
|
-
"type": "boolean"
|
|
418
|
-
},
|
|
419
|
-
"flags-dir": {
|
|
420
|
-
"helpGroup": "GLOBAL",
|
|
421
|
-
"name": "flags-dir",
|
|
422
|
-
"summary": "Import flag values from a directory.",
|
|
423
|
-
"hasDynamicHelp": false,
|
|
424
|
-
"multiple": false,
|
|
425
|
-
"type": "option"
|
|
426
|
-
},
|
|
427
|
-
"job-id": {
|
|
428
|
-
"char": "i",
|
|
429
|
-
"name": "job-id",
|
|
430
|
-
"required": true,
|
|
431
|
-
"summary": "Job ID of the bulk job.",
|
|
432
|
-
"hasDynamicHelp": false,
|
|
433
|
-
"multiple": false,
|
|
434
|
-
"type": "option"
|
|
435
|
-
},
|
|
436
|
-
"target-org": {
|
|
437
|
-
"char": "o",
|
|
438
|
-
"name": "target-org",
|
|
439
|
-
"noCacheDefault": true,
|
|
440
|
-
"required": true,
|
|
441
|
-
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
442
|
-
"hasDynamicHelp": true,
|
|
443
|
-
"multiple": false,
|
|
444
|
-
"type": "option"
|
|
445
|
-
},
|
|
446
|
-
"api-version": {
|
|
447
|
-
"description": "Override the api version used for api requests made by this command",
|
|
448
|
-
"name": "api-version",
|
|
449
|
-
"hasDynamicHelp": false,
|
|
450
|
-
"multiple": false,
|
|
451
|
-
"type": "option"
|
|
452
|
-
}
|
|
453
|
-
},
|
|
454
|
-
"hasDynamicHelp": true,
|
|
455
|
-
"hiddenAliases": [],
|
|
456
|
-
"id": "data:bulk:results",
|
|
457
|
-
"pluginAlias": "@salesforce/plugin-data",
|
|
458
|
-
"pluginName": "@salesforce/plugin-data",
|
|
459
|
-
"pluginType": "core",
|
|
460
|
-
"strict": true,
|
|
461
|
-
"summary": "Get the results of a bulk ingest job that you previously ran.",
|
|
462
|
-
"enableJsonFlag": true,
|
|
463
|
-
"isESM": true,
|
|
464
|
-
"relativePath": [
|
|
465
|
-
"lib",
|
|
466
|
-
"commands",
|
|
467
|
-
"data",
|
|
468
|
-
"bulk",
|
|
469
|
-
"results.js"
|
|
470
|
-
],
|
|
471
|
-
"aliasPermutations": [],
|
|
472
|
-
"permutations": [
|
|
473
|
-
"data:bulk:results",
|
|
474
|
-
"bulk:data:results",
|
|
475
|
-
"bulk:results:data",
|
|
476
|
-
"data:results:bulk",
|
|
477
|
-
"results:data:bulk",
|
|
478
|
-
"results:bulk:data"
|
|
479
|
-
]
|
|
480
|
-
},
|
|
481
404
|
"data:create:file": {
|
|
482
405
|
"aliases": [],
|
|
483
406
|
"args": {},
|
|
@@ -1165,6 +1088,83 @@
|
|
|
1165
1088
|
"resume:delete:data"
|
|
1166
1089
|
]
|
|
1167
1090
|
},
|
|
1091
|
+
"data:bulk:results": {
|
|
1092
|
+
"aliases": [],
|
|
1093
|
+
"args": {},
|
|
1094
|
+
"description": "Use this command to get the complete results after running one of the CLI commands that uses Bulk API 2.0 to ingest (import, update, upsert, or delete) large datasets to your org, such as \"data import bulk\". The previously-run bulk command must have completed; if it's still processing, run the corresponding resume command first, such as \"data import resume.\" Make note of the job ID of the previous bulk command because you use it to run this command. \n\nYou can also use this command to get results from running a bulk ingest job with a different tool, such as Data Loader, as long as you have the job ID. For information on Data Loader, see https://developer.salesforce.com/docs/atlas.en-us.dataLoader.meta/dataLoader/data_loader_intro.htm. \n\nThis command first displays the status of the previous bulk job, the operation that was executed in the org (such as insert or hard delete), and the updated Salesforce object. The command then displays how many records were processed in total, and how many were successful or failed. Finally, the output displays the names of the generated CSV-formatted files that contain the specific results for each ingested record. Depending on the success or failure of the bulk command, the results files can include the IDs of inserted records or the specific errors. When possible, if the ingest job failed or was aborted, you also get a CSV file with the unprocessed results.",
|
|
1095
|
+
"examples": [
|
|
1096
|
+
"Get results from a bulk ingest job; use the org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --job-id 7507i000fake341G --target-org my-scratch"
|
|
1097
|
+
],
|
|
1098
|
+
"flags": {
|
|
1099
|
+
"json": {
|
|
1100
|
+
"description": "Format output as json.",
|
|
1101
|
+
"helpGroup": "GLOBAL",
|
|
1102
|
+
"name": "json",
|
|
1103
|
+
"allowNo": false,
|
|
1104
|
+
"type": "boolean"
|
|
1105
|
+
},
|
|
1106
|
+
"flags-dir": {
|
|
1107
|
+
"helpGroup": "GLOBAL",
|
|
1108
|
+
"name": "flags-dir",
|
|
1109
|
+
"summary": "Import flag values from a directory.",
|
|
1110
|
+
"hasDynamicHelp": false,
|
|
1111
|
+
"multiple": false,
|
|
1112
|
+
"type": "option"
|
|
1113
|
+
},
|
|
1114
|
+
"job-id": {
|
|
1115
|
+
"char": "i",
|
|
1116
|
+
"name": "job-id",
|
|
1117
|
+
"required": true,
|
|
1118
|
+
"summary": "Job ID of the bulk job.",
|
|
1119
|
+
"hasDynamicHelp": false,
|
|
1120
|
+
"multiple": false,
|
|
1121
|
+
"type": "option"
|
|
1122
|
+
},
|
|
1123
|
+
"target-org": {
|
|
1124
|
+
"char": "o",
|
|
1125
|
+
"name": "target-org",
|
|
1126
|
+
"noCacheDefault": true,
|
|
1127
|
+
"required": true,
|
|
1128
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
1129
|
+
"hasDynamicHelp": true,
|
|
1130
|
+
"multiple": false,
|
|
1131
|
+
"type": "option"
|
|
1132
|
+
},
|
|
1133
|
+
"api-version": {
|
|
1134
|
+
"description": "Override the api version used for api requests made by this command",
|
|
1135
|
+
"name": "api-version",
|
|
1136
|
+
"hasDynamicHelp": false,
|
|
1137
|
+
"multiple": false,
|
|
1138
|
+
"type": "option"
|
|
1139
|
+
}
|
|
1140
|
+
},
|
|
1141
|
+
"hasDynamicHelp": true,
|
|
1142
|
+
"hiddenAliases": [],
|
|
1143
|
+
"id": "data:bulk:results",
|
|
1144
|
+
"pluginAlias": "@salesforce/plugin-data",
|
|
1145
|
+
"pluginName": "@salesforce/plugin-data",
|
|
1146
|
+
"pluginType": "core",
|
|
1147
|
+
"strict": true,
|
|
1148
|
+
"summary": "Get the results of a bulk ingest job that you previously ran.",
|
|
1149
|
+
"enableJsonFlag": true,
|
|
1150
|
+
"isESM": true,
|
|
1151
|
+
"relativePath": [
|
|
1152
|
+
"lib",
|
|
1153
|
+
"commands",
|
|
1154
|
+
"data",
|
|
1155
|
+
"bulk",
|
|
1156
|
+
"results.js"
|
|
1157
|
+
],
|
|
1158
|
+
"aliasPermutations": [],
|
|
1159
|
+
"permutations": [
|
|
1160
|
+
"data:bulk:results",
|
|
1161
|
+
"bulk:data:results",
|
|
1162
|
+
"bulk:results:data",
|
|
1163
|
+
"data:results:bulk",
|
|
1164
|
+
"results:data:bulk",
|
|
1165
|
+
"results:bulk:data"
|
|
1166
|
+
]
|
|
1167
|
+
},
|
|
1168
1168
|
"data:export:bulk": {
|
|
1169
1169
|
"aliases": [],
|
|
1170
1170
|
"args": {},
|
|
@@ -3166,5 +3166,5 @@
|
|
|
3166
3166
|
]
|
|
3167
3167
|
}
|
|
3168
3168
|
},
|
|
3169
|
-
"version": "4.0.
|
|
3169
|
+
"version": "4.0.67"
|
|
3170
3170
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-data",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.67",
|
|
4
4
|
"description": "Plugin for salesforce data commands",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"homepage": "https://github.com/salesforcecli/plugin-data",
|
|
@@ -132,7 +132,8 @@
|
|
|
132
132
|
"csv-parse": "^5.6.0",
|
|
133
133
|
"csv-stringify": "^6.6.0",
|
|
134
134
|
"form-data": "^4.0.5",
|
|
135
|
-
"terminal-link": "^3.0.0"
|
|
135
|
+
"terminal-link": "^3.0.0",
|
|
136
|
+
"zod": "^4.2.1"
|
|
136
137
|
},
|
|
137
138
|
"devDependencies": {
|
|
138
139
|
"@oclif/core": "^4.8.0",
|
|
@@ -140,10 +141,10 @@
|
|
|
140
141
|
"@oclif/test": "^4.1.15",
|
|
141
142
|
"@salesforce/cli-plugins-testkit": "^5.3.41",
|
|
142
143
|
"@salesforce/dev-scripts": "^11.0.4",
|
|
143
|
-
"@salesforce/plugin-command-reference": "^3.1.
|
|
144
|
-
"@salesforce/types": "^1.
|
|
144
|
+
"@salesforce/plugin-command-reference": "^3.1.79",
|
|
145
|
+
"@salesforce/types": "^1.6.0",
|
|
145
146
|
"eslint-plugin-sf-plugin": "^1.20.33",
|
|
146
|
-
"oclif": "^4.22.
|
|
147
|
+
"oclif": "^4.22.55",
|
|
147
148
|
"ts-node": "^10.9.2",
|
|
148
149
|
"typescript": "^5.8.3"
|
|
149
150
|
},
|
|
@@ -268,7 +269,7 @@
|
|
|
268
269
|
"exports": "./lib/index.js",
|
|
269
270
|
"type": "module",
|
|
270
271
|
"sfdx": {
|
|
271
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-data/4.0.
|
|
272
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-data/4.0.
|
|
272
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-data/4.0.67.crt",
|
|
273
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-data/4.0.67.sig"
|
|
273
274
|
}
|
|
274
275
|
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$comment": "Copyright (c) 2016, salesforce.com, inc. All rights reserved. Licensed under the BSD 3-Clause license. For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause",
|
|
3
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"type": "array",
|
|
5
|
-
"title": "Data Import Plan",
|
|
6
|
-
"description": "Schema for data import plan JSON.",
|
|
7
|
-
"items": {
|
|
8
|
-
"type": "object",
|
|
9
|
-
"title": "SObject Type",
|
|
10
|
-
"description": "Definition of records to be insert per SObject Type",
|
|
11
|
-
"properties": {
|
|
12
|
-
"sobject": {
|
|
13
|
-
"type": "string",
|
|
14
|
-
"title": "Name of SObject",
|
|
15
|
-
"description": "Child file references must have SObject roots of this type"
|
|
16
|
-
},
|
|
17
|
-
"saveRefs": {
|
|
18
|
-
"type": "boolean",
|
|
19
|
-
"title": "Save References",
|
|
20
|
-
"description": "Post-save, save references (Name/ID) to be used for reference replacement in subsequent saves. Applies to all data files for this SObject type.",
|
|
21
|
-
"default": false
|
|
22
|
-
},
|
|
23
|
-
"resolveRefs": {
|
|
24
|
-
"type": "boolean",
|
|
25
|
-
"title": "Resolve References",
|
|
26
|
-
"description": "Pre-save, replace @<reference> with ID from previous save. Applies to all data files for this SObject type.",
|
|
27
|
-
"default": false
|
|
28
|
-
},
|
|
29
|
-
"files": {
|
|
30
|
-
"type": "array",
|
|
31
|
-
"title": "Files",
|
|
32
|
-
"description": "An array of files paths to load",
|
|
33
|
-
"items": {
|
|
34
|
-
"title": "Filepath.",
|
|
35
|
-
"description": "Filepath string or object to point to a JSON or XML file having data defined in SObject Tree format.",
|
|
36
|
-
"oneOf": [
|
|
37
|
-
{
|
|
38
|
-
"type": "string"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"type": "object",
|
|
42
|
-
"properties": {
|
|
43
|
-
"file": {
|
|
44
|
-
"type": "string",
|
|
45
|
-
"title": "Filepath schema",
|
|
46
|
-
"description": "Filepath to JSON or XML file having data defined in SObject Tree format"
|
|
47
|
-
},
|
|
48
|
-
"contentType": {
|
|
49
|
-
"title": "Filepath schema.",
|
|
50
|
-
"description": "If data file extension is not .json or .xml, provide content type.",
|
|
51
|
-
"enum": ["application/json", "application/xml"]
|
|
52
|
-
},
|
|
53
|
-
"saveRefs": {
|
|
54
|
-
"type": "boolean",
|
|
55
|
-
"title": "Save References",
|
|
56
|
-
"description": "Post-save, save references (Name/ID) to be used for reference replacement in subsequent saves. Overrides SObject-level 'saveRefs' setting."
|
|
57
|
-
},
|
|
58
|
-
"resolveRefs": {
|
|
59
|
-
"type": "boolean",
|
|
60
|
-
"title": "Resolve References",
|
|
61
|
-
"description": "Pre-save, replace @<reference> with ID from previous save. Overrides SObject-level 'replaceRefs' setting."
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
"required": ["file"]
|
|
65
|
-
}
|
|
66
|
-
]
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
"required": ["sobject", "files"]
|
|
71
|
-
}
|
|
72
|
-
}
|