@kitalive/sfdx-plugin 1.0.2 → 1.0.4

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.
Files changed (44) hide show
  1. package/README.md +48 -27
  2. package/lib/bulk.js +220 -0
  3. package/lib/bulk.js.map +1 -0
  4. package/lib/commands/kit/data/bulk/delete.js +113 -0
  5. package/lib/commands/kit/data/bulk/delete.js.map +1 -0
  6. package/lib/commands/kit/data/bulk/insert.js +7 -0
  7. package/lib/commands/kit/data/bulk/insert.js.map +1 -0
  8. package/lib/commands/kit/data/bulk/query.js +166 -0
  9. package/lib/commands/kit/data/bulk/query.js.map +1 -0
  10. package/lib/commands/kit/data/bulk/update.js +7 -0
  11. package/lib/commands/kit/data/bulk/update.js.map +1 -0
  12. package/lib/commands/kit/data/bulk/upsert.js +22 -0
  13. package/lib/commands/kit/data/bulk/upsert.js.map +1 -0
  14. package/lib/commands/kit/data/csv/convert.js +160 -0
  15. package/lib/commands/kit/data/csv/convert.js.map +1 -0
  16. package/lib/commands/kit/graphql/editor.js +37 -0
  17. package/lib/commands/kit/graphql/editor.js.map +1 -0
  18. package/lib/commands/kit/layout/assignments/deploy.js +35 -0
  19. package/lib/commands/kit/layout/assignments/deploy.js.map +1 -0
  20. package/lib/commands/kit/layout/assignments/retrieve.js +124 -0
  21. package/lib/commands/kit/layout/assignments/retrieve.js.map +1 -0
  22. package/lib/commands/kit/metadata/dependencies.js +182 -0
  23. package/lib/commands/kit/metadata/dependencies.js.map +1 -0
  24. package/lib/commands/kit/object/fields/describe.js +84 -0
  25. package/lib/commands/kit/object/fields/describe.js.map +1 -0
  26. package/lib/commands/kit/object/fields/setup.js +261 -0
  27. package/lib/commands/kit/object/fields/setup.js.map +1 -0
  28. package/lib/commands/kit/script/execute.js +72 -0
  29. package/lib/commands/kit/script/execute.js.map +1 -0
  30. package/lib/index.js +2 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/metadata.js +82 -0
  33. package/lib/metadata.js.map +1 -0
  34. package/lib/server.js +43 -0
  35. package/lib/server.js.map +1 -0
  36. package/lib/types.js +2 -0
  37. package/lib/types.js.map +1 -0
  38. package/lib/utils.js +94 -0
  39. package/lib/utils.js.map +1 -0
  40. package/messages/data.bulk.delete.md +8 -0
  41. package/messages/data.bulk.query.md +32 -0
  42. package/oclif.lock +1 -11
  43. package/oclif.manifest.json +1875 -2
  44. package/package.json +2 -2
package/README.md CHANGED
@@ -17,7 +17,7 @@ $ npm install -g @kitalive/sfdx-plugin
17
17
  $ sf COMMAND
18
18
  running command...
19
19
  $ sf (--version)
20
- @kitalive/sfdx-plugin/1.0.2 darwin-arm64 node-v22.17.1
20
+ @kitalive/sfdx-plugin/1.0.4 darwin-arm64 node-v22.17.1
21
21
  $ sf --help [COMMAND]
22
22
  USAGE
23
23
  $ sf COMMAND
@@ -49,13 +49,13 @@ Bulk delete records by SOQL select query.
49
49
 
50
50
  ```
51
51
  USAGE
52
- $ sf kit data bulk delete -q <value> -o <value> [--json] [--flags-dir <value>] [--hard] [--concurrency-mode
53
- Serial|Parallel] [-s <value>] [-w <value>] [--api-version <value>]
52
+ $ sf kit data bulk delete -o <value> [--json] [--flags-dir <value>] [-q <value>] [--query-file <value>] [--hard]
53
+ [--concurrency-mode Serial|Parallel] [-s <value>] [-w <value>] [--api-version <value>]
54
54
 
55
55
  FLAGS
56
56
  -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
57
57
  configuration variable is already set.
58
- -q, --query=<value> (required) SOQL query to delete
58
+ -q, --query=<value> SOQL query to delete
59
59
  -s, --batch-size=<value> [default: 10000] The batch size of the job
60
60
  -w, --wait=<value> The number of minutes to wait for the command to complete before displaying the
61
61
  results
@@ -63,6 +63,7 @@ FLAGS
63
63
  --concurrency-mode=<option> [default: Parallel] The concurrency mode (Parallel or Serial) for the job
64
64
  <options: Serial|Parallel>
65
65
  --hard Perform a hard delete
66
+ --query-file=<value> SOQL query file to delete
66
67
 
67
68
  GLOBAL FLAGS
68
69
  --flags-dir=<value> Import flag values from a directory.
@@ -72,9 +73,13 @@ EXAMPLES
72
73
  Delete Opportunity records with CloseDate older than 2 years:
73
74
 
74
75
  $ sf kit data bulk delete -q "SELECT Id FROM Opportunity WHERE CloseDate < LAST_N_YEARS:2"
76
+
77
+ Delete Opportunity records by SOQL file:
78
+
79
+ $ sf kit data bulk delete --query-file ./path/to/Opportunity.soql
75
80
  ```
76
81
 
77
- _See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/data/bulk/delete.ts)_
82
+ _See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/data/bulk/delete.ts)_
78
83
 
79
84
  ## `sf kit data bulk insert`
80
85
 
@@ -125,7 +130,7 @@ EXAMPLES
125
130
  $ sf kit data bulk insert -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
126
131
  ```
127
132
 
128
- _See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/data/bulk/insert.ts)_
133
+ _See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/data/bulk/insert.ts)_
129
134
 
130
135
  ## `sf kit data bulk query`
131
136
 
@@ -133,18 +138,21 @@ Bulk query records.
133
138
 
134
139
  ```
135
140
  USAGE
136
- $ sf kit data bulk query -q <value> -o <value> [--json] [--flags-dir <value>] [-f <value>] [--all] [-w <value>]
137
- [--api-version <value>]
141
+ $ sf kit data bulk query -o <value> [--json] [--flags-dir <value>] [-q <value>] [--query-file <value>] [-f <value>]
142
+ [--object-field-label] [--field-label-mapping <value>] [--all] [-w <value>] [--api-version <value>]
138
143
 
139
144
  FLAGS
140
- -f, --csv-file=<value> [default: standard output] Output csv file
141
- -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
142
- configuration variable is already set.
143
- -q, --query=<value> (required) SOQL query to export
144
- -w, --wait=<value> [default: 5] The number of minutes to wait for the command to complete before displaying
145
- the results
146
- --all include deleted or archived records
147
- --api-version=<value> Override the api version used for api requests made by this command
145
+ -f, --csv-file=<value> [default: standard output] Output csv file
146
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
147
+ configuration variable is already set.
148
+ -q, --query=<value> SOQL query to export
149
+ -w, --wait=<value> [default: 5] The number of minutes to wait for the command to complete before
150
+ displaying the results
151
+ --all include deleted or archived records
152
+ --api-version=<value> Override the api version used for api requests made by this command
153
+ --field-label-mapping=<value> JSON file that maps field API names to output field names
154
+ --object-field-label Output field names with object field labels
155
+ --query-file=<value> SOQL query file to export
148
156
 
149
157
  GLOBAL FLAGS
150
158
  --flags-dir=<value> Import flag values from a directory.
@@ -154,9 +162,22 @@ EXAMPLES
154
162
  Query Account records and save to specified path:
155
163
 
156
164
  $ sf kit data bulk query -q "SELECT Id, Name FROM Account" -f ./path/to/Account.csv
165
+
166
+ Query Account records from SOQL file:
167
+
168
+ $ sf kit data bulk query --query-file ./path/to/Account.soql -f ./path/to/Account.csv
169
+
170
+ Query Account records with object field labels:
171
+
172
+ $ sf kit data bulk query -q "SELECT Id, Name FROM Account" --object-field-label
173
+
174
+ Query Account records with custom field label mapping:
175
+
176
+ $ sf kit data bulk query -q "SELECT Id, Name FROM Account" --field-label-mapping \
177
+ ./path/to/field-label-mapping.json
157
178
  ```
158
179
 
159
- _See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/data/bulk/query.ts)_
180
+ _See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/data/bulk/query.ts)_
160
181
 
161
182
  ## `sf kit data bulk update`
162
183
 
@@ -207,7 +228,7 @@ EXAMPLES
207
228
  $ sf kit data bulk update -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
208
229
  ```
209
230
 
210
- _See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/data/bulk/update.ts)_
231
+ _See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/data/bulk/update.ts)_
211
232
 
212
233
  ## `sf kit data bulk upsert`
213
234
 
@@ -260,7 +281,7 @@ EXAMPLES
260
281
  -w 10
261
282
  ```
262
283
 
263
- _See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/data/bulk/upsert.ts)_
284
+ _See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/data/bulk/upsert.ts)_
264
285
 
265
286
  ## `sf kit data csv convert`
266
287
 
@@ -298,7 +319,7 @@ EXAMPLES
298
319
  $ sf kit data csv convert -i ./path/to/input.csv -f ./path/to/output.csv -c ./path/to/convert.js
299
320
  ```
300
321
 
301
- _See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/data/csv/convert.ts)_
322
+ _See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/data/csv/convert.ts)_
302
323
 
303
324
  ## `sf kit graphql editor`
304
325
 
@@ -332,7 +353,7 @@ EXAMPLES
332
353
  $ sf kit graphql editor --port 8080
333
354
  ```
334
355
 
335
- _See code: [src/commands/kit/graphql/editor.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/graphql/editor.ts)_
356
+ _See code: [src/commands/kit/graphql/editor.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/graphql/editor.ts)_
336
357
 
337
358
  ## `sf kit layout assignments deploy`
338
359
 
@@ -367,7 +388,7 @@ EXAMPLES
367
388
  $ sf kit layout assignments deploy -o me@my.org -f config/layout-assignments.sandbox.json
368
389
  ```
369
390
 
370
- _See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/layout/assignments/deploy.ts)_
391
+ _See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/layout/assignments/deploy.ts)_
371
392
 
372
393
  ## `sf kit layout assignments retrieve`
373
394
 
@@ -406,7 +427,7 @@ EXAMPLES
406
427
  $ sf kit layout assignments retrieve -o me@my.org -f config/layout-assignments.sandbox.json
407
428
  ```
408
429
 
409
- _See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/layout/assignments/retrieve.ts)_
430
+ _See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/layout/assignments/retrieve.ts)_
410
431
 
411
432
  ## `sf kit metadata dependencies`
412
433
 
@@ -433,7 +454,7 @@ EXAMPLES
433
454
  $ sf kit metadata dependencies
434
455
  ```
435
456
 
436
- _See code: [src/commands/kit/metadata/dependencies.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/metadata/dependencies.ts)_
457
+ _See code: [src/commands/kit/metadata/dependencies.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/metadata/dependencies.ts)_
437
458
 
438
459
  ## `sf kit object fields describe`
439
460
 
@@ -465,7 +486,7 @@ EXAMPLES
465
486
  $ sf kit object fields describe -o me@my.org -s CustomObject__c --json
466
487
  ```
467
488
 
468
- _See code: [src/commands/kit/object/fields/describe.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/object/fields/describe.ts)_
489
+ _See code: [src/commands/kit/object/fields/describe.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/object/fields/describe.ts)_
469
490
 
470
491
  ## `sf kit object fields setup`
471
492
 
@@ -499,7 +520,7 @@ EXAMPLES
499
520
  $ sf kit object fields setup -o me@my.org -s CustomObject__c -f path/to/custom_object_fields.csv --delete
500
521
  ```
501
522
 
502
- _See code: [src/commands/kit/object/fields/setup.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/object/fields/setup.ts)_
523
+ _See code: [src/commands/kit/object/fields/setup.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/object/fields/setup.ts)_
503
524
 
504
525
  ## `sf kit script`
505
526
 
@@ -593,5 +614,5 @@ EXAMPLES
593
614
  > await conn.query('SELECT Id, Name FROM Account LIMIT 1')
594
615
  ```
595
616
 
596
- _See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.2/src/commands/kit/script/execute.ts)_
617
+ _See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v1.0.4/src/commands/kit/script/execute.ts)_
597
618
  <!-- commandsstop -->
package/lib/bulk.js ADDED
@@ -0,0 +1,220 @@
1
+ /* eslint-disable */
2
+ import path from 'path';
3
+ import { Messages } from '@salesforce/core';
4
+ import { Duration } from '@salesforce/kit';
5
+ import { Flags } from '@salesforce/sf-plugins-core';
6
+ import CsvConvertCommand, { CsvCommand, convertCsv, } from './commands/kit/data/csv/convert.js';
7
+ import * as utils from './utils.js';
8
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
9
+ export const messages = Messages.loadMessages('@kitalive/sfdx-plugin', 'data.bulk');
10
+ export async function bulkQuery(conn, query, options) {
11
+ const wait = options?.wait ?? 5;
12
+ conn.bulk2.pollTimeout = Duration.minutes(wait).milliseconds;
13
+ const result = await conn.bulk2.query(query, options?.all ? { scanAll: true } : {});
14
+ return result.toArray();
15
+ }
16
+ export function bulkLoad(conn, sobject, operation, rows, options) {
17
+ const { batchSize = 10000, wait, ...jobOptions } = options || {};
18
+ const job = conn.bulk.createJob(sobject, operation, jobOptions);
19
+ const fetchResults = async (records) => ({
20
+ job: await job.check(),
21
+ batches: await job.list(),
22
+ records,
23
+ });
24
+ const executeBatch = (batchRows) => new Promise((resolve, reject) => {
25
+ const batch = job.createBatch();
26
+ batch.on('error', (e) => {
27
+ if (e.message.startsWith('Polling time out'))
28
+ job.emit('error', e);
29
+ reject(e);
30
+ });
31
+ batch.on('queue', () => {
32
+ batch
33
+ .check()
34
+ .then((result) => {
35
+ if (result.state === 'Failed') {
36
+ reject(result.stateMessage);
37
+ }
38
+ else if (wait) {
39
+ batch.poll(5000, wait * 60000);
40
+ }
41
+ else {
42
+ fetchResults([]).then(resolve).catch(reject);
43
+ }
44
+ })
45
+ .catch(reject);
46
+ });
47
+ batch.on('response', resolve);
48
+ batch.execute(batchRows);
49
+ });
50
+ // eslint-disable-next-line no-async-promise-executor
51
+ return new Promise(async (resolve, reject) => {
52
+ job.on('error', reject);
53
+ try {
54
+ const results = await Promise.all(utils.chunk(rows, batchSize).map(executeBatch));
55
+ resolve(await fetchResults(results.flat()));
56
+ }
57
+ catch (e) {
58
+ reject(e);
59
+ }
60
+ finally {
61
+ await job.close();
62
+ }
63
+ });
64
+ }
65
+ const csvFlags = CsvConvertCommand.flags;
66
+ export function commonFlags(operation) {
67
+ return {
68
+ sobject: Flags.string({
69
+ char: 's',
70
+ required: true,
71
+ summary: messages.getMessage('flags.sobject.summary', [operation]),
72
+ }),
73
+ // csv settings
74
+ 'csv-file': Flags.string({
75
+ char: 'f',
76
+ required: true,
77
+ summary: messages.getMessage('flags.csv-file.summary', [operation]),
78
+ aliases: ['csvfile'],
79
+ deprecateAliases: true,
80
+ }),
81
+ 'result-file': Flags.string({
82
+ char: 'r',
83
+ summary: messages.getMessage('flags.result-file.summary', [operation]),
84
+ aliases: ['resultfile'],
85
+ deprecateAliases: true,
86
+ }),
87
+ encoding: csvFlags.encoding,
88
+ delimiter: csvFlags.delimiter,
89
+ quote: csvFlags.quote,
90
+ 'skip-lines': csvFlags['skip-lines'],
91
+ trim: csvFlags.trim,
92
+ mapping: csvFlags.mapping,
93
+ converter: csvFlags.converter,
94
+ 'set-null': Flags.boolean({
95
+ summary: messages.getMessage('flags.set-null.summary', [operation]),
96
+ aliases: ['setnull'],
97
+ deprecateAliases: true,
98
+ }),
99
+ 'convert-only': Flags.boolean({
100
+ summary: messages.getMessage('flags.convert-only.summary', [operation]),
101
+ aliases: ['convertonly'],
102
+ deprecateAliases: true,
103
+ }),
104
+ // job settings
105
+ 'concurrency-mode': Flags.string({
106
+ default: 'Parallel',
107
+ summary: messages.getMessage('flags.concurrency-mode.summary'),
108
+ options: ['Serial', 'Parallel'],
109
+ aliases: ['concurrencymode'],
110
+ deprecateAliases: true,
111
+ }),
112
+ 'assignment-rule-id': Flags.string({
113
+ summary: messages.getMessage('flags.assignment-rule-id.summary'),
114
+ aliases: ['assignmentruleid'],
115
+ deprecateAliases: true,
116
+ }),
117
+ 'batch-size': Flags.integer({
118
+ min: 1,
119
+ max: 10000,
120
+ default: 10000,
121
+ summary: messages.getMessage('flags.batch-size.summary'),
122
+ aliases: ['batchsize'],
123
+ deprecateAliases: true,
124
+ }),
125
+ wait: Flags.integer({
126
+ char: 'w',
127
+ min: 0,
128
+ summary: messages.getMessage('flags.wait.summary'),
129
+ }),
130
+ 'target-org': Flags.requiredOrg(),
131
+ 'api-version': Flags.orgApiVersion(),
132
+ };
133
+ }
134
+ export class BulkCommand extends CsvCommand {
135
+ static description = messages.getMessage('description');
136
+ static requiresProject = false;
137
+ async run() {
138
+ const { flags } = await this.parse();
139
+ this.org = flags['target-org'];
140
+ const conn = this.org.getConnection(flags['api-version']);
141
+ this.conn = conn;
142
+ const { sobject, 'csv-file': csvfile } = flags;
143
+ const fieldTypes = await this.getFieldTypes(conn, sobject);
144
+ this.spinner.start('Processing csv');
145
+ try {
146
+ let rows = await convertCsv(this, {
147
+ input: csvfile,
148
+ encoding: flags.encoding,
149
+ delimiter: flags.delimiter,
150
+ quote: flags.quote,
151
+ skiplines: flags['skip-lines'],
152
+ trim: flags.trim,
153
+ setnull: flags['set-null'],
154
+ mapping: flags.mapping,
155
+ converter: flags.converter,
156
+ fieldTypes,
157
+ });
158
+ this.spinner.stop();
159
+ if (flags['convert-only']) {
160
+ const base = path.basename(csvfile, path.extname(csvfile));
161
+ await this.saveCsv(path.join(path.dirname(csvfile), base + '.converted.csv'), rows);
162
+ return;
163
+ }
164
+ this.spinner.start(`Bulk ${this.operation}`);
165
+ const result = await this.bulkLoad(conn, sobject, this.operation, rows, {
166
+ extIdField: flags['external-id'],
167
+ concurrencyMode: flags['concurrency-mode'],
168
+ assignmentRuleId: flags['assignment-rule-id'],
169
+ batchSize: flags['batch-size'],
170
+ wait: flags.wait,
171
+ });
172
+ if (!result)
173
+ return;
174
+ const batchErrors = [];
175
+ if (flags.wait) {
176
+ const { numberRecordsProcessed, numberRecordsFailed } = result.job;
177
+ this.spinner.stop(`${numberRecordsProcessed} processed, ${numberRecordsFailed} failed.`);
178
+ rows = rows.map((data, i) => {
179
+ const { id, errors } = result.records[i] || {};
180
+ const message = errors?.join(', ');
181
+ if (message) {
182
+ batchErrors.push({ line: i + 2, message, data });
183
+ }
184
+ return { ...data, Id: id, Errors: message };
185
+ });
186
+ if (batchErrors.length) {
187
+ result.errors = batchErrors;
188
+ this.styledHeader('Error details');
189
+ this.table({
190
+ data: batchErrors,
191
+ columns: ['line', 'message'],
192
+ });
193
+ }
194
+ }
195
+ else {
196
+ this.spinner.stop();
197
+ this.log(messages.getMessage('asyncJob', [
198
+ this.config.bin,
199
+ conn.getUsername(),
200
+ result.job?.id,
201
+ ]));
202
+ }
203
+ if (flags['result-file'])
204
+ await this.saveCsv(flags['result-file'], rows);
205
+ return result;
206
+ }
207
+ catch (e) {
208
+ this.spinner.stop('error');
209
+ throw e;
210
+ }
211
+ }
212
+ bulkLoad(conn, sobject, op, rows, options) {
213
+ return bulkLoad(conn, sobject, op, rows, options);
214
+ }
215
+ async getFieldTypes(conn, sobject) {
216
+ const objectInfo = await conn.describe(sobject);
217
+ return objectInfo.fields.reduce((info, { name, type }) => Object.assign(info, { [name]: type }), {});
218
+ }
219
+ }
220
+ //# sourceMappingURL=bulk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk.js","sourceRoot":"","sources":["../src/bulk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import fs from 'node:fs';
2
+ import { Messages } from '@salesforce/core';
3
+ import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
4
+ import { composeQuery, getField, parseQuery, } from '@jetstreamapp/soql-parser-js';
5
+ import { bulkLoad, bulkQuery, } from '../../../../bulk.js';
6
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
7
+ const bulkMessages = Messages.loadMessages('@kitalive/sfdx-plugin', 'data.bulk');
8
+ const messages = Messages.loadMessages('@kitalive/sfdx-plugin', 'data.bulk.delete');
9
+ export default class DeleteCommand extends SfCommand {
10
+ static summary = messages.getMessage('summary');
11
+ static examples = messages.getMessages('examples');
12
+ static flags = {
13
+ query: Flags.string({
14
+ char: 'q',
15
+ exactlyOne: ['query', 'query-file'],
16
+ summary: messages.getMessage('flags.query.summary'),
17
+ }),
18
+ 'query-file': Flags.string({
19
+ exactlyOne: ['query', 'query-file'],
20
+ summary: messages.getMessage('flags.query-file.summary'),
21
+ }),
22
+ hard: Flags.boolean({
23
+ default: false,
24
+ summary: messages.getMessage('flags.hard.summary'),
25
+ }),
26
+ 'concurrency-mode': Flags.string({
27
+ default: 'Parallel',
28
+ options: ['Serial', 'Parallel'],
29
+ summary: bulkMessages.getMessage('flags.concurrency-mode.summary'),
30
+ aliases: ['concurrencymode'],
31
+ deprecateAliases: true,
32
+ }),
33
+ 'batch-size': Flags.integer({
34
+ char: 's',
35
+ min: 1,
36
+ max: 10_000,
37
+ default: 10_000,
38
+ summary: bulkMessages.getMessage('flags.batch-size.summary'),
39
+ aliases: ['batchsize'],
40
+ deprecateAliases: true,
41
+ }),
42
+ wait: Flags.integer({
43
+ char: 'w',
44
+ default: 0,
45
+ min: 0,
46
+ summary: bulkMessages.getMessage('flags.wait.summary'),
47
+ }),
48
+ 'target-org': Flags.requiredOrg(),
49
+ 'api-version': Flags.orgApiVersion(),
50
+ };
51
+ async run() {
52
+ const { flags } = await this.parse();
53
+ const org = flags['target-org'];
54
+ const conn = org.getConnection(flags['api-version']);
55
+ const query = parseQuery(this.getQuery(flags.query, flags['query-file']));
56
+ query.fields = [getField('Id')];
57
+ const soql = composeQuery(query);
58
+ this.spinner.start(flags.hard ? 'Bulk hard delete' : 'Bulk delete');
59
+ try {
60
+ const rows = await this.bulkQuery(conn, soql);
61
+ if (!rows.length) {
62
+ this.spinner.stop('no records');
63
+ return { records: [] };
64
+ }
65
+ const operation = flags.hard ? 'hardDelete' : 'delete';
66
+ const result = await this.bulkLoad(conn, query.sObject, operation, rows, {
67
+ concurrencyMode: flags['concurrency-mode'],
68
+ batchSize: flags['batch-size'],
69
+ wait: flags.wait,
70
+ });
71
+ if (!result)
72
+ return;
73
+ if (flags.wait) {
74
+ const numberRecordsProcessed = Number(result.job?.numberRecordsProcessed);
75
+ const numberRecordsFailed = Number(result.job?.numberRecordsFailed);
76
+ const errors = result.records
77
+ .filter((r) => !r.success)
78
+ .map((r) => ({ id: r.id, errors: r.errors.join(', ') }));
79
+ this.spinner.stop(`${numberRecordsProcessed} processed, ${numberRecordsFailed} failed.`);
80
+ if (errors.length) {
81
+ this.styledHeader('Error details');
82
+ this.table({
83
+ data: errors,
84
+ columns: ['id', 'errors'],
85
+ });
86
+ }
87
+ }
88
+ else {
89
+ this.spinner.stop();
90
+ this.log(bulkMessages.getMessage('asyncJob', [
91
+ this.config.bin,
92
+ org.getUsername(),
93
+ result.job?.id,
94
+ ]));
95
+ }
96
+ return result;
97
+ }
98
+ catch (e) {
99
+ this.spinner.stop('error');
100
+ throw e;
101
+ }
102
+ }
103
+ bulkQuery(conn, query) {
104
+ return bulkQuery(conn, query);
105
+ }
106
+ getQuery(query, queryFile) {
107
+ return query ?? fs.readFileSync(queryFile).toString('utf8');
108
+ }
109
+ bulkLoad(conn, sobject, operation, rows, options) {
110
+ return bulkLoad(conn, sobject, operation, rows, options);
111
+ }
112
+ }
113
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { BulkCommand, messages, commonFlags } from '../../../../bulk.js';
2
+ export default class InsertCommand extends BulkCommand {
3
+ static examples = messages.getMessages('examples', ['Insert']);
4
+ static flags = commonFlags('insert');
5
+ operation = 'insert';
6
+ }
7
+ //# sourceMappingURL=insert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/insert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAC7C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/D,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAElC,SAAS,GAAoB,QAAQ,CAAC"}