@kitalive/sfdx-plugin 0.2.1 → 0.4.1
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 +79 -10
- package/lib/bulk.js +81 -38
- package/lib/bulk.js.map +1 -1
- package/lib/commands/kit/data/bulk/delete.js +37 -10
- package/lib/commands/kit/data/bulk/delete.js.map +1 -1
- package/lib/commands/kit/data/bulk/query.js +10 -3
- package/lib/commands/kit/data/bulk/query.js.map +1 -1
- package/lib/commands/kit/data/csv/convert.d.ts +0 -13
- package/lib/commands/kit/data/csv/convert.js +45 -77
- package/lib/commands/kit/data/csv/convert.js.map +1 -1
- package/lib/commands/kit/layout/assignments/deploy.d.ts +0 -1
- package/lib/commands/kit/layout/assignments/deploy.js +9 -8
- package/lib/commands/kit/layout/assignments/deploy.js.map +1 -1
- package/lib/commands/kit/layout/assignments/retrieve.d.ts +1 -1
- package/lib/commands/kit/layout/assignments/retrieve.js +71 -21
- package/lib/commands/kit/layout/assignments/retrieve.js.map +1 -1
- package/lib/commands/kit/object/fields/describe.d.ts +14 -0
- package/lib/commands/kit/object/fields/describe.js +85 -0
- package/lib/commands/kit/object/fields/describe.js.map +1 -0
- package/lib/commands/kit/object/fields/setup.d.ts +21 -0
- package/lib/commands/kit/object/fields/setup.js +197 -0
- package/lib/commands/kit/object/fields/setup.js.map +1 -0
- package/lib/commands/kit/script/execute.d.ts +1 -1
- package/lib/commands/kit/script/execute.js +13 -8
- package/lib/commands/kit/script/execute.js.map +1 -1
- package/lib/metadata.d.ts +18 -0
- package/lib/metadata.js +69 -0
- package/lib/metadata.js.map +1 -0
- package/lib/types.d.ts +25 -0
- package/lib/utils.d.ts +16 -1
- package/lib/utils.js +76 -1
- package/lib/utils.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +26 -14
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ $ npm install -g @kitalive/sfdx-plugin
|
|
|
18
18
|
$ sfdx COMMAND
|
|
19
19
|
running command...
|
|
20
20
|
$ sfdx (-v|--version|version)
|
|
21
|
-
@kitalive/sfdx-plugin/0.
|
|
21
|
+
@kitalive/sfdx-plugin/0.4.1 darwin-x64 node-v16.14.2
|
|
22
22
|
$ sfdx --help [COMMAND]
|
|
23
23
|
USAGE
|
|
24
24
|
$ sfdx COMMAND
|
|
@@ -37,6 +37,8 @@ USAGE
|
|
|
37
37
|
* [`sfdx kit:data:csv:convert [-f <filepath>] [-o <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitdatacsvconvert--f-filepath--o-filepath--e-string--d-string--q-string---skiplines-integer---trim--m-filepath--c-filepath---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
38
38
|
* [`sfdx kit:layout:assignments:deploy -f <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitlayoutassignmentsdeploy--f-string--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
39
39
|
* [`sfdx kit:layout:assignments:retrieve -f <string> [-p <string>] [-o <string>] [--merge] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitlayoutassignmentsretrieve--f-string--p-string--o-string---merge--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
40
|
+
* [`sfdx kit:object:fields:describe -o <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitobjectfieldsdescribe--o-string--f-string--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
41
|
+
* [`sfdx kit:object:fields:setup -o <string> -f <string> [--delete] [--force] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitobjectfieldssetup--o-string--f-string---delete---force--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
40
42
|
* [`sfdx kit:script:execute [-f <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitscriptexecute--f-filepath--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
41
43
|
|
|
42
44
|
## `sfdx kit:data:bulk:delete -q <string> [--hard] [--concurrencymode <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
@@ -80,7 +82,7 @@ EXAMPLE
|
|
|
80
82
|
$ sfdx kit:data:bulk:delete -q 'SELECT Id FROM Opportunity WHERE CloseDate < LAST_N_YEARS:5'
|
|
81
83
|
```
|
|
82
84
|
|
|
83
|
-
_See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
85
|
+
_See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/data/bulk/delete.ts)_
|
|
84
86
|
|
|
85
87
|
## `sfdx kit:data:bulk:insert -o <string> -f <filepath> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode <string>] [--assignmentruleid <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
86
88
|
|
|
@@ -165,7 +167,7 @@ EXAMPLES
|
|
|
165
167
|
$ sfdx kit:data:bulk:insert -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
|
|
166
168
|
```
|
|
167
169
|
|
|
168
|
-
_See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
170
|
+
_See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/data/bulk/insert.ts)_
|
|
169
171
|
|
|
170
172
|
## `sfdx kit:data:bulk:query -q <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
171
173
|
|
|
@@ -197,7 +199,7 @@ EXAMPLE
|
|
|
197
199
|
$ sfdx kit:data:bulk:query -q 'SELECT Id, Name FROM Account' -f ./path/to/Account.csv
|
|
198
200
|
```
|
|
199
201
|
|
|
200
|
-
_See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
202
|
+
_See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/data/bulk/query.ts)_
|
|
201
203
|
|
|
202
204
|
## `sfdx kit:data:bulk:update -o <string> -f <filepath> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode <string>] [--assignmentruleid <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
203
205
|
|
|
@@ -282,7 +284,7 @@ EXAMPLES
|
|
|
282
284
|
$ sfdx kit:data:bulk:update -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
|
|
283
285
|
```
|
|
284
286
|
|
|
285
|
-
_See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
287
|
+
_See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/data/bulk/update.ts)_
|
|
286
288
|
|
|
287
289
|
## `sfdx kit:data:bulk:upsert -o <string> -f <filepath> -i <string> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode <string>] [--assignmentruleid <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
288
290
|
|
|
@@ -371,7 +373,7 @@ EXAMPLES
|
|
|
371
373
|
10
|
|
372
374
|
```
|
|
373
375
|
|
|
374
|
-
_See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
376
|
+
_See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/data/bulk/upsert.ts)_
|
|
375
377
|
|
|
376
378
|
## `sfdx kit:data:csv:convert [-f <filepath>] [-o <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
377
379
|
|
|
@@ -420,7 +422,7 @@ EXAMPLES
|
|
|
420
422
|
$ sfdx kit:data:csv:convert -f ./path/to/input.csv -o ./path/to/output.csv -c ./path/to/convert.js -e cp932 -d :
|
|
421
423
|
```
|
|
422
424
|
|
|
423
|
-
_See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
425
|
+
_See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/data/csv/convert.ts)_
|
|
424
426
|
|
|
425
427
|
## `sfdx kit:layout:assignments:deploy -f <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
426
428
|
|
|
@@ -453,7 +455,7 @@ EXAMPLES
|
|
|
453
455
|
$ sfdx kit:layout:assignments:deploy -u me@my.org -f config/layout-assignments.sandbox.json
|
|
454
456
|
```
|
|
455
457
|
|
|
456
|
-
_See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
458
|
+
_See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/layout/assignments/deploy.ts)_
|
|
457
459
|
|
|
458
460
|
## `sfdx kit:layout:assignments:retrieve -f <string> [-p <string>] [-o <string>] [--merge] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
459
461
|
|
|
@@ -497,7 +499,74 @@ EXAMPLES
|
|
|
497
499
|
$ sfdx kit:layout:assignments:retrieve -u me@my.org -f config/layout-assignments.sandbox.json
|
|
498
500
|
```
|
|
499
501
|
|
|
500
|
-
_See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
502
|
+
_See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/layout/assignments/retrieve.ts)_
|
|
503
|
+
|
|
504
|
+
## `sfdx kit:object:fields:describe -o <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
505
|
+
|
|
506
|
+
describe object fields information
|
|
507
|
+
|
|
508
|
+
```
|
|
509
|
+
USAGE
|
|
510
|
+
$ sfdx kit:object:fields:describe -o <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
|
|
511
|
+
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
|
|
512
|
+
|
|
513
|
+
OPTIONS
|
|
514
|
+
-f, --file=file output csv file path
|
|
515
|
+
-o, --object=object (required) SObject name
|
|
516
|
+
|
|
517
|
+
-u, --targetusername=targetusername username or alias for the target
|
|
518
|
+
org; overrides default target org
|
|
519
|
+
|
|
520
|
+
--apiversion=apiversion override the api version used for
|
|
521
|
+
api requests made by this command
|
|
522
|
+
|
|
523
|
+
--json format output as json
|
|
524
|
+
|
|
525
|
+
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
|
|
526
|
+
this command invocation
|
|
527
|
+
|
|
528
|
+
EXAMPLES
|
|
529
|
+
$ sfdx kit:object:fields:describe -o Account -f path/to/account_fields.csv
|
|
530
|
+
$ sfdx kit:object:fields:describe -u me@my.org -o CustomObject__c --json
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
_See code: [src/commands/kit/object/fields/describe.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/object/fields/describe.ts)_
|
|
534
|
+
|
|
535
|
+
## `sfdx kit:object:fields:setup -o <string> -f <string> [--delete] [--force] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
536
|
+
|
|
537
|
+
upsert and delete object fields from a CSV file
|
|
538
|
+
|
|
539
|
+
```
|
|
540
|
+
USAGE
|
|
541
|
+
$ sfdx kit:object:fields:setup -o <string> -f <string> [--delete] [--force] [-u <string>] [--apiversion <string>]
|
|
542
|
+
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
|
|
543
|
+
|
|
544
|
+
OPTIONS
|
|
545
|
+
-f, --file=file (required) input csv file path
|
|
546
|
+
-o, --object=object (required) SObject name
|
|
547
|
+
|
|
548
|
+
-u, --targetusername=targetusername username or alias for the target
|
|
549
|
+
org; overrides default target org
|
|
550
|
+
|
|
551
|
+
--apiversion=apiversion override the api version used for
|
|
552
|
+
api requests made by this command
|
|
553
|
+
|
|
554
|
+
--delete delete fields that are not in the
|
|
555
|
+
csv file
|
|
556
|
+
|
|
557
|
+
--force Do not confirm when deleting
|
|
558
|
+
|
|
559
|
+
--json format output as json
|
|
560
|
+
|
|
561
|
+
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
|
|
562
|
+
this command invocation
|
|
563
|
+
|
|
564
|
+
EXAMPLES
|
|
565
|
+
$ sfdx kit:object:fields:setup -o Account -f path/to/account_fields.csv
|
|
566
|
+
$ sfdx kit:object:fields:setup -u me@my.org -o CustomObject__c -f path/to/custom_object_fields.csv --delete
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
_See code: [src/commands/kit/object/fields/setup.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/object/fields/setup.ts)_
|
|
501
570
|
|
|
502
571
|
## `sfdx kit:script:execute [-f <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
503
572
|
|
|
@@ -540,5 +609,5 @@ EXAMPLES
|
|
|
540
609
|
$ NODE_OPTIONS=--experimental-repl-await sfdx kit:script:execute
|
|
541
610
|
```
|
|
542
611
|
|
|
543
|
-
_See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
612
|
+
_See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.1/src/commands/kit/script/execute.ts)_
|
|
544
613
|
<!-- commandsstop -->
|
package/lib/bulk.js
CHANGED
|
@@ -1,42 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createBulkCommand = exports.normalizeDateString = exports.bulkLoad = exports.bulkQuery = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const command_1 = require("@salesforce/command");
|
|
6
5
|
const dayjs = require("dayjs");
|
|
7
6
|
const csv = require("fast-csv");
|
|
8
7
|
const fs = require("fs-extra");
|
|
9
8
|
const path = require("path");
|
|
10
9
|
const convert_1 = require("./commands/kit/data/csv/convert");
|
|
11
|
-
const convert_2 = require("./commands/kit/data/csv/convert");
|
|
12
10
|
const utils = require("./utils");
|
|
13
11
|
function bulkQuery(conn, query) {
|
|
14
12
|
return new Promise((resolve, reject) => {
|
|
15
13
|
const records = [];
|
|
16
|
-
conn.bulk
|
|
14
|
+
conn.bulk
|
|
15
|
+
.query(query)
|
|
17
16
|
.on('error', reject)
|
|
18
|
-
.on('record', record => records.push(record))
|
|
17
|
+
.on('record', (record) => records.push(record))
|
|
19
18
|
.on('end', () => resolve(records));
|
|
20
19
|
});
|
|
21
20
|
}
|
|
22
21
|
exports.bulkQuery = bulkQuery;
|
|
23
22
|
function bulkLoad(conn, sobject, operation, rows, options) {
|
|
24
|
-
const
|
|
23
|
+
const { batchSize = 10000, wait, ...jobOptions } = options || {};
|
|
25
24
|
const job = conn.bulk.createJob(sobject, operation, jobOptions);
|
|
26
25
|
const fetchResults = async (records) => ({
|
|
27
26
|
job: await job.check(),
|
|
28
27
|
batches: await job.list(),
|
|
29
|
-
records
|
|
28
|
+
records,
|
|
30
29
|
});
|
|
31
|
-
const executeBatch = batchRows => new Promise((resolve, reject) => {
|
|
30
|
+
const executeBatch = (batchRows) => new Promise((resolve, reject) => {
|
|
32
31
|
const batch = job.createBatch();
|
|
33
|
-
batch.on('error', e => {
|
|
32
|
+
batch.on('error', (e) => {
|
|
34
33
|
if (e.message.startsWith('Polling time out'))
|
|
35
34
|
job.emit('error', e);
|
|
36
35
|
reject(e);
|
|
37
36
|
});
|
|
38
|
-
batch.on('queue',
|
|
39
|
-
batch
|
|
37
|
+
batch.on('queue', () => {
|
|
38
|
+
batch
|
|
39
|
+
.check()
|
|
40
|
+
.then((result) => {
|
|
40
41
|
if (result.state === 'Failed') {
|
|
41
42
|
reject(result.stateMessage);
|
|
42
43
|
}
|
|
@@ -46,11 +47,13 @@ function bulkLoad(conn, sobject, operation, rows, options) {
|
|
|
46
47
|
else {
|
|
47
48
|
fetchResults([]).then(resolve).catch(reject);
|
|
48
49
|
}
|
|
49
|
-
})
|
|
50
|
+
})
|
|
51
|
+
.catch(reject);
|
|
50
52
|
});
|
|
51
53
|
batch.on('response', resolve);
|
|
52
|
-
batch.execute(batchRows, error => error && reject(error));
|
|
54
|
+
batch.execute(batchRows, (error) => error && reject(error));
|
|
53
55
|
});
|
|
56
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
54
57
|
return new Promise(async (resolve, reject) => {
|
|
55
58
|
job.on('error', reject);
|
|
56
59
|
try {
|
|
@@ -74,17 +77,28 @@ function normalizeDateString(str, format) {
|
|
|
74
77
|
}
|
|
75
78
|
exports.normalizeDateString = normalizeDateString;
|
|
76
79
|
const converters = {
|
|
77
|
-
date: value => normalizeDateString(value, 'YYYY-MM-DD'),
|
|
78
|
-
datetime: normalizeDateString
|
|
80
|
+
date: (value) => normalizeDateString(value, 'YYYY-MM-DD'),
|
|
81
|
+
datetime: normalizeDateString,
|
|
79
82
|
};
|
|
80
83
|
const csvFlags = convert_1.default['flagsConfig'];
|
|
81
84
|
const createBulkCommand = (operation) => {
|
|
82
85
|
var _a;
|
|
83
86
|
const config = {
|
|
84
|
-
object: command_1.flags.string({
|
|
87
|
+
object: command_1.flags.string({
|
|
88
|
+
char: 'o',
|
|
89
|
+
required: true,
|
|
90
|
+
description: `the sObject name to ${operation}`,
|
|
91
|
+
}),
|
|
85
92
|
// csv settings
|
|
86
|
-
csvfile: command_1.flags.filepath({
|
|
87
|
-
|
|
93
|
+
csvfile: command_1.flags.filepath({
|
|
94
|
+
char: 'f',
|
|
95
|
+
required: true,
|
|
96
|
+
description: `the CSV file path that defines the records to ${operation}`,
|
|
97
|
+
}),
|
|
98
|
+
resultfile: command_1.flags.filepath({
|
|
99
|
+
char: 'r',
|
|
100
|
+
description: `the CSV file path for writing the ${operation} results`,
|
|
101
|
+
}),
|
|
88
102
|
encoding: csvFlags.encoding,
|
|
89
103
|
delimiter: csvFlags.delimiter,
|
|
90
104
|
quote: csvFlags.quote,
|
|
@@ -92,19 +106,43 @@ const createBulkCommand = (operation) => {
|
|
|
92
106
|
trim: csvFlags.trim,
|
|
93
107
|
mapping: csvFlags.mapping,
|
|
94
108
|
converter: csvFlags.converter,
|
|
95
|
-
setnull: command_1.flags.boolean({
|
|
96
|
-
|
|
109
|
+
setnull: command_1.flags.boolean({
|
|
110
|
+
description: `set blank values as null values during ${operation} operations (default: empty field values are ignored)`,
|
|
111
|
+
}),
|
|
112
|
+
convertonly: command_1.flags.boolean({
|
|
113
|
+
description: `output converted.csv file and skip ${operation} for debugging`,
|
|
114
|
+
}),
|
|
97
115
|
// job settings
|
|
98
|
-
concurrencymode: command_1.flags.string({
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
116
|
+
concurrencymode: command_1.flags.string({
|
|
117
|
+
default: 'Parallel',
|
|
118
|
+
description: 'the concurrency mode (Parallel or Serial) for the job',
|
|
119
|
+
}),
|
|
120
|
+
assignmentruleid: command_1.flags.string({
|
|
121
|
+
description: 'the ID of a specific assignment rule to run for a case or a lead.',
|
|
122
|
+
}),
|
|
123
|
+
batchsize: command_1.flags.integer({
|
|
124
|
+
char: 's',
|
|
125
|
+
min: 1,
|
|
126
|
+
max: 10000,
|
|
127
|
+
default: 10000,
|
|
128
|
+
description: 'the batch size of the job',
|
|
129
|
+
}),
|
|
130
|
+
wait: command_1.flags.integer({
|
|
131
|
+
char: 'w',
|
|
132
|
+
min: 0,
|
|
133
|
+
description: 'the number of minutes to wait for the command to complete before displaying the results',
|
|
134
|
+
}),
|
|
102
135
|
};
|
|
103
136
|
const examples = [
|
|
104
|
-
`$ sfdx kit:data:bulk:${operation} -o Account -f ./path/to/Account.csv -m ./path/to/mapping.json
|
|
137
|
+
`$ sfdx kit:data:bulk:${operation} -o Account -f ./path/to/Account.csv -m ./path/to/mapping.json`,
|
|
105
138
|
];
|
|
106
139
|
if (operation === 'upsert') {
|
|
107
|
-
config['externalid'] = command_1.flags.string({
|
|
140
|
+
config['externalid'] = command_1.flags.string({
|
|
141
|
+
char: 'i',
|
|
142
|
+
required: true,
|
|
143
|
+
default: 'Id',
|
|
144
|
+
description: 'the column name of the external ID',
|
|
145
|
+
});
|
|
108
146
|
examples.push('$ sfdx kit:data:bulk:upsert -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -i MyExternalId__c -w 10');
|
|
109
147
|
}
|
|
110
148
|
else {
|
|
@@ -112,9 +150,9 @@ const createBulkCommand = (operation) => {
|
|
|
112
150
|
}
|
|
113
151
|
return _a = class extends command_1.SfdxCommand {
|
|
114
152
|
async run() {
|
|
115
|
-
const { object, csvfile, mapping, converter, encoding, delimiter, quote, skiplines, trim, setnull } = this.flags;
|
|
116
|
-
const mappingJson =
|
|
117
|
-
const script = converter ?
|
|
153
|
+
const { object, csvfile, mapping, converter, encoding, delimiter, quote, skiplines, trim, setnull, } = this.flags;
|
|
154
|
+
const mappingJson = mapping ? await fs.readJson(mapping) : undefined;
|
|
155
|
+
const script = converter ? utils.loadScript(converter) : {};
|
|
118
156
|
const fieldTypes = await this.getFieldTypes(object);
|
|
119
157
|
this.ux.startSpinner('Processing csv');
|
|
120
158
|
if (script.start)
|
|
@@ -128,7 +166,7 @@ const createBulkCommand = (operation) => {
|
|
|
128
166
|
setnull,
|
|
129
167
|
mapping: mappingJson,
|
|
130
168
|
convert: script.convert,
|
|
131
|
-
fieldTypes
|
|
169
|
+
fieldTypes,
|
|
132
170
|
});
|
|
133
171
|
if (script.finish) {
|
|
134
172
|
const result = await script.finish(rows, this);
|
|
@@ -148,7 +186,7 @@ const createBulkCommand = (operation) => {
|
|
|
148
186
|
concurrencyMode: this.flags.concurrencymode,
|
|
149
187
|
assignmentRuleId: this.flags.assignmentruleid,
|
|
150
188
|
batchSize: this.flags.batchsize,
|
|
151
|
-
wait: this.flags.wait
|
|
189
|
+
wait: this.flags.wait,
|
|
152
190
|
});
|
|
153
191
|
const batchErrors = [];
|
|
154
192
|
if (this.flags.wait) {
|
|
@@ -160,7 +198,7 @@ const createBulkCommand = (operation) => {
|
|
|
160
198
|
if (message) {
|
|
161
199
|
batchErrors.push({ line: i + 2, message, data });
|
|
162
200
|
}
|
|
163
|
-
return
|
|
201
|
+
return { ...data, Id: id, Errors: message };
|
|
164
202
|
});
|
|
165
203
|
if (batchErrors.length) {
|
|
166
204
|
result.errors = batchErrors;
|
|
@@ -183,8 +221,15 @@ const createBulkCommand = (operation) => {
|
|
|
183
221
|
}
|
|
184
222
|
}
|
|
185
223
|
async parseCsv(input, options) {
|
|
186
|
-
const { encoding, delimiter, quote, skiplines, trim, mapping, convert, setnull, fieldTypes } = options !== null && options !== void 0 ? options : {};
|
|
187
|
-
return await
|
|
224
|
+
const { encoding, delimiter, quote, skiplines, trim, mapping, convert, setnull, fieldTypes, } = options !== null && options !== void 0 ? options : {};
|
|
225
|
+
return await utils.parseCsv(input, {
|
|
226
|
+
encoding,
|
|
227
|
+
delimiter,
|
|
228
|
+
quote,
|
|
229
|
+
skiplines,
|
|
230
|
+
trim,
|
|
231
|
+
mapping,
|
|
232
|
+
convert: (row) => {
|
|
188
233
|
const result = convert ? convert(row) : row;
|
|
189
234
|
if (!result)
|
|
190
235
|
return;
|
|
@@ -204,7 +249,8 @@ const createBulkCommand = (operation) => {
|
|
|
204
249
|
}
|
|
205
250
|
}
|
|
206
251
|
return result;
|
|
207
|
-
}
|
|
252
|
+
},
|
|
253
|
+
});
|
|
208
254
|
}
|
|
209
255
|
bulkLoad(conn, sobject, op, rows, options) {
|
|
210
256
|
return bulkLoad(conn, sobject, op, rows, options);
|
|
@@ -212,9 +258,6 @@ const createBulkCommand = (operation) => {
|
|
|
212
258
|
saveCsv(file, rows) {
|
|
213
259
|
csv.writeToPath(file, rows, { headers: true, writeBOM: true });
|
|
214
260
|
}
|
|
215
|
-
loadScript(file) {
|
|
216
|
-
return (0, convert_2.loadScript)(file);
|
|
217
|
-
}
|
|
218
261
|
async getFieldTypes(sobject) {
|
|
219
262
|
const conn = this.org.getConnection();
|
|
220
263
|
const objectInfo = await conn.describe(sobject);
|
|
@@ -223,7 +266,7 @@ const createBulkCommand = (operation) => {
|
|
|
223
266
|
},
|
|
224
267
|
_a.description = [
|
|
225
268
|
`bulk ${operation} records from a CSV file`,
|
|
226
|
-
'For information about CSV file formats, see [Prepare CSV Files](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_csv_preparing.htm) in the Bulk API Developer Guide.'
|
|
269
|
+
'For information about CSV file formats, see [Prepare CSV Files](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_csv_preparing.htm) in the Bulk API Developer Guide.',
|
|
227
270
|
].join('\n'),
|
|
228
271
|
_a.examples = examples,
|
|
229
272
|
_a.requiresUsername = true,
|
package/lib/bulk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk.js","sourceRoot":"","sources":["../src/bulk.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bulk.js","sourceRoot":"","sources":["../src/bulk.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,12 @@ const soql_parser_js_1 = require("soql-parser-js");
|
|
|
5
5
|
const bulk_1 = require("../../../../bulk");
|
|
6
6
|
class DeleteCommand extends command_1.SfdxCommand {
|
|
7
7
|
async run() {
|
|
8
|
+
var _a;
|
|
8
9
|
const query = (0, soql_parser_js_1.parseQuery)(this.flags.query);
|
|
9
10
|
query.fields = [(0, soql_parser_js_1.getField)('Id')];
|
|
10
11
|
const soql = (0, soql_parser_js_1.composeQuery)(query);
|
|
11
12
|
const conn = this.org.getConnection();
|
|
12
|
-
const { concurrencymode: concurrencyMode, batchsize: batchSize, wait, hard } = this.flags;
|
|
13
|
+
const { concurrencymode: concurrencyMode, batchsize: batchSize, wait, hard, } = this.flags;
|
|
13
14
|
this.ux.startSpinner(hard ? 'Bulk hard delete' : 'Bulk delete');
|
|
14
15
|
try {
|
|
15
16
|
const rows = await this.bulkQuery(conn, soql);
|
|
@@ -18,10 +19,16 @@ class DeleteCommand extends command_1.SfdxCommand {
|
|
|
18
19
|
return { records: [] };
|
|
19
20
|
}
|
|
20
21
|
const operation = hard ? 'hardDelete' : 'delete';
|
|
21
|
-
const result = await this.bulkLoad(conn, query.sObject, operation, rows, {
|
|
22
|
+
const result = await this.bulkLoad(conn, query.sObject, operation, rows, {
|
|
23
|
+
concurrencyMode,
|
|
24
|
+
batchSize,
|
|
25
|
+
wait,
|
|
26
|
+
});
|
|
22
27
|
if (wait) {
|
|
23
28
|
const { numberRecordsProcessed, numberRecordsFailed } = result.job;
|
|
24
|
-
const errors = result.records
|
|
29
|
+
const errors = result.records
|
|
30
|
+
.filter((r) => !r.success)
|
|
31
|
+
.map((r) => ({ id: r.id, errors: r.errors.join(', ') }));
|
|
25
32
|
this.ux.stopSpinner(`${numberRecordsProcessed} processed, ${numberRecordsFailed} failed.`);
|
|
26
33
|
if (errors.length) {
|
|
27
34
|
this.ux.styledHeader('Error details');
|
|
@@ -31,7 +38,7 @@ class DeleteCommand extends command_1.SfdxCommand {
|
|
|
31
38
|
else {
|
|
32
39
|
this.ux.stopSpinner();
|
|
33
40
|
this.ux.log('Check bulk job status with the command: ');
|
|
34
|
-
this.ux.log(`sfdx force:org:open -u ${this.flags.targetusername} -p "lightning/setup/AsyncApiJobStatus/page?address=%2F${result.job.id}"`);
|
|
41
|
+
this.ux.log(`sfdx force:org:open -u ${this.flags.targetusername} -p "lightning/setup/AsyncApiJobStatus/page?address=%2F${(_a = result.job) === null || _a === void 0 ? void 0 : _a.id}"`);
|
|
35
42
|
}
|
|
36
43
|
return result;
|
|
37
44
|
}
|
|
@@ -50,15 +57,35 @@ class DeleteCommand extends command_1.SfdxCommand {
|
|
|
50
57
|
exports.default = DeleteCommand;
|
|
51
58
|
DeleteCommand.description = 'bulk delete records by SOQL select query';
|
|
52
59
|
DeleteCommand.examples = [
|
|
53
|
-
|
|
60
|
+
"$ sfdx kit:data:bulk:delete -q 'SELECT Id FROM Opportunity WHERE CloseDate < LAST_N_YEARS:5'",
|
|
54
61
|
];
|
|
55
62
|
DeleteCommand.requiresUsername = true;
|
|
56
63
|
DeleteCommand.requiresProject = false;
|
|
57
64
|
DeleteCommand.flagsConfig = {
|
|
58
|
-
query: command_1.flags.string({
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
query: command_1.flags.string({
|
|
66
|
+
char: 'q',
|
|
67
|
+
required: true,
|
|
68
|
+
description: 'SOQL query to delete',
|
|
69
|
+
}),
|
|
70
|
+
hard: command_1.flags.boolean({
|
|
71
|
+
default: false,
|
|
72
|
+
description: 'perform a hard delete',
|
|
73
|
+
}),
|
|
74
|
+
concurrencymode: command_1.flags.string({
|
|
75
|
+
default: 'Parallel',
|
|
76
|
+
description: 'the concurrency mode (Parallel or Serial) for the job',
|
|
77
|
+
}),
|
|
78
|
+
batchsize: command_1.flags.integer({
|
|
79
|
+
char: 's',
|
|
80
|
+
min: 1,
|
|
81
|
+
max: 10000,
|
|
82
|
+
default: 10000,
|
|
83
|
+
description: 'the batch size of the job',
|
|
84
|
+
}),
|
|
85
|
+
wait: command_1.flags.integer({
|
|
86
|
+
char: 'w',
|
|
87
|
+
min: 0,
|
|
88
|
+
description: 'the number of minutes to wait for the command to complete before displaying the results',
|
|
89
|
+
}),
|
|
63
90
|
};
|
|
64
91
|
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/delete.ts"],"names":[],"mappings":";;AAAA,iDAAyD;AAEzD,mDAAoE;AACpE,2CAAmE;AAEnE,MAAqB,aAAc,SAAQ,qBAAW;
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,12 +39,19 @@ class QueryCommand extends command_1.SfdxCommand {
|
|
|
39
39
|
exports.default = QueryCommand;
|
|
40
40
|
QueryCommand.description = 'bulk query records';
|
|
41
41
|
QueryCommand.examples = [
|
|
42
|
-
|
|
42
|
+
"$ sfdx kit:data:bulk:query -q 'SELECT Id, Name FROM Account' -f ./path/to/Account.csv",
|
|
43
43
|
];
|
|
44
44
|
QueryCommand.requiresUsername = true;
|
|
45
45
|
QueryCommand.requiresProject = false;
|
|
46
46
|
QueryCommand.flagsConfig = {
|
|
47
|
-
query: command_1.flags.string({
|
|
48
|
-
|
|
47
|
+
query: command_1.flags.string({
|
|
48
|
+
char: 'q',
|
|
49
|
+
required: true,
|
|
50
|
+
description: 'SOQL query to export',
|
|
51
|
+
}),
|
|
52
|
+
csvfile: command_1.flags.string({
|
|
53
|
+
char: 'f',
|
|
54
|
+
description: 'output csv file (default: standard output)',
|
|
55
|
+
}),
|
|
49
56
|
};
|
|
50
57
|
//# sourceMappingURL=query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/query.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,iDAAyD;AAEzD,yBAAyB;AACzB,2CAA6C;AAE7C,MAAqB,YAAa,SAAQ,qBAAW;
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/query.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,iDAAyD;AAEzD,yBAAyB;AACzB,2CAA6C;AAE7C,MAAqB,YAAa,SAAQ,qBAAW;IAsB5C,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnC,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC;aACb;YAED,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;YAE9C,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;iBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;aACrC;YAED,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAEO,QAAQ,CAAC,IAAI,EAAE,MAAM;QAC3B,IAAA,cAAK,EAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEO,SAAS,CAAC,IAAI,EAAE,KAAK;QAC3B,OAAO,IAAA,gBAAS,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;;AAvDH,+BAwDC;AAvDe,wBAAW,GAAG,oBAAoB,CAAC;AAEnC,qBAAQ,GAAG;IACvB,uFAAuF;CACxF,CAAC;AAEe,6BAAgB,GAAG,IAAI,CAAC;AACxB,4BAAe,GAAG,KAAK,CAAC;AAExB,wBAAW,GAAG;IAC7B,KAAK,EAAE,eAAK,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,sBAAsB;KACpC,CAAC;IACF,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,4CAA4C;KAC1D,CAAC;CACH,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { flags, SfdxCommand } from '@salesforce/command';
|
|
3
2
|
import { JsonMap } from '@salesforce/ts-types';
|
|
4
|
-
import { Readable } from 'stream';
|
|
5
3
|
export default class CsvConvertCommand extends SfdxCommand {
|
|
6
4
|
static description: string;
|
|
7
5
|
static examples: string[];
|
|
@@ -22,14 +20,3 @@ export default class CsvConvertCommand extends SfdxCommand {
|
|
|
22
20
|
private writeCsv;
|
|
23
21
|
private loadConverter;
|
|
24
22
|
}
|
|
25
|
-
export declare function parseCsv(input: Readable, options?: {
|
|
26
|
-
encoding?: string;
|
|
27
|
-
delimiter?: string;
|
|
28
|
-
quote?: string;
|
|
29
|
-
skiplines?: number;
|
|
30
|
-
trim?: boolean;
|
|
31
|
-
mapping?: JsonMap;
|
|
32
|
-
convert?: (row: JsonMap) => JsonMap | null | undefined;
|
|
33
|
-
}): Promise<JsonMap[]>;
|
|
34
|
-
export declare function loadScript(file: any): any;
|
|
35
|
-
export declare function columnMapper(mapping: any): (row: any) => {};
|