@salesforce/plugin-data 2.1.21 → 2.1.23
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 +947 -320
- package/lib/api/data/tree/exportApi.js +66 -73
- package/lib/api/data/tree/exportApi.js.map +1 -1
- package/lib/api/data/tree/importApi.js +62 -62
- package/lib/api/data/tree/importApi.js.map +1 -1
- package/lib/batcher.js +80 -101
- package/lib/batcher.js.map +1 -1
- package/lib/commands/data/create/record.js +64 -0
- package/lib/commands/data/create/record.js.map +1 -0
- package/lib/commands/data/delete/bulk.js +78 -0
- package/lib/commands/data/delete/bulk.js.map +1 -0
- package/lib/commands/data/delete/record.js +83 -0
- package/lib/commands/data/delete/record.js.map +1 -0
- package/lib/commands/data/export/tree.js +57 -0
- package/lib/commands/data/export/tree.js.map +1 -0
- package/lib/commands/data/get/record.js +73 -0
- package/lib/commands/data/get/record.js.map +1 -0
- package/lib/commands/data/import/tree.js +85 -0
- package/lib/commands/data/import/tree.js.map +1 -0
- package/lib/commands/data/query/resume.js +55 -0
- package/lib/commands/data/query/resume.js.map +1 -0
- package/lib/commands/data/query.js +283 -0
- package/lib/commands/data/query.js.map +1 -0
- package/lib/commands/data/resume.js +64 -0
- package/lib/commands/data/resume.js.map +1 -0
- package/lib/commands/data/update/record.js +101 -0
- package/lib/commands/data/update/record.js.map +1 -0
- package/lib/commands/data/upsert/bulk.js +88 -0
- package/lib/commands/data/upsert/bulk.js.map +1 -0
- package/lib/dataCommand.js +103 -202
- package/lib/dataCommand.js.map +1 -1
- package/lib/dataSoqlQueryTypes.js +2 -6
- package/lib/dataSoqlQueryTypes.js.map +1 -1
- package/lib/flags.js +27 -0
- package/lib/flags.js.map +1 -0
- package/lib/reporters.js +58 -66
- package/lib/reporters.js.map +1 -1
- package/messages/batcher.md +39 -0
- package/messages/bulk.delete.md +31 -0
- package/messages/bulk.report.md +17 -0
- package/messages/bulk.status.md +29 -0
- package/messages/bulk.upsert.md +43 -0
- package/messages/exportApi.md +25 -0
- package/messages/importApi.md +52 -0
- package/messages/messages.md +20 -0
- package/messages/record.create.md +45 -0
- package/messages/record.delete.md +53 -0
- package/messages/record.get.md +47 -0
- package/messages/record.update.md +61 -0
- package/messages/soql.query.md +72 -0
- package/messages/tree.export.md +41 -0
- package/messages/tree.import.md +37 -0
- package/oclif.manifest.json +1233 -1
- package/package.json +55 -56
- package/lib/api/data/tree/exportApi.d.ts +0 -77
- package/lib/api/data/tree/importApi.d.ts +0 -60
- package/lib/batcher.d.ts +0 -79
- package/lib/commands/force/data/bulk/delete.d.ts +0 -11
- package/lib/commands/force/data/bulk/delete.js +0 -58
- package/lib/commands/force/data/bulk/delete.js.map +0 -1
- package/lib/commands/force/data/bulk/status.d.ts +0 -11
- package/lib/commands/force/data/bulk/status.js +0 -61
- package/lib/commands/force/data/bulk/status.js.map +0 -1
- package/lib/commands/force/data/bulk/upsert.d.ts +0 -11
- package/lib/commands/force/data/bulk/upsert.js +0 -76
- package/lib/commands/force/data/bulk/upsert.js.map +0 -1
- package/lib/commands/force/data/record/create.d.ts +0 -10
- package/lib/commands/force/data/record/create.js +0 -58
- package/lib/commands/force/data/record/create.js.map +0 -1
- package/lib/commands/force/data/record/delete.d.ts +0 -10
- package/lib/commands/force/data/record/delete.js +0 -72
- package/lib/commands/force/data/record/delete.js.map +0 -1
- package/lib/commands/force/data/record/get.d.ts +0 -10
- package/lib/commands/force/data/record/get.js +0 -65
- package/lib/commands/force/data/record/get.js.map +0 -1
- package/lib/commands/force/data/record/update.d.ts +0 -10
- package/lib/commands/force/data/record/update.js +0 -90
- package/lib/commands/force/data/record/update.js.map +0 -1
- package/lib/commands/force/data/soql/bulk/report.d.ts +0 -9
- package/lib/commands/force/data/soql/bulk/report.js +0 -45
- package/lib/commands/force/data/soql/bulk/report.js.map +0 -1
- package/lib/commands/force/data/soql/query.d.ts +0 -64
- package/lib/commands/force/data/soql/query.js +0 -300
- package/lib/commands/force/data/soql/query.js.map +0 -1
- package/lib/commands/force/data/tree/export.d.ts +0 -10
- package/lib/commands/force/data/tree/export.js +0 -52
- package/lib/commands/force/data/tree/export.js.map +0 -1
- package/lib/commands/force/data/tree/import.d.ts +0 -19
- package/lib/commands/force/data/tree/import.js +0 -81
- package/lib/commands/force/data/tree/import.js.map +0 -1
- package/lib/dataCommand.d.ts +0 -57
- package/lib/dataSoqlQueryTypes.d.ts +0 -63
- package/lib/index.d.ts +0 -2
- package/lib/reporters.d.ts +0 -57
- package/messages/batcher.json +0 -12
- package/messages/bulk.delete.json +0 -12
- package/messages/bulk.report.json +0 -7
- package/messages/bulk.status.json +0 -12
- package/messages/bulk.upsert.json +0 -14
- package/messages/exportApi.json +0 -8
- package/messages/importApi.json +0 -16
- package/messages/messages.json +0 -11
- package/messages/record.create.json +0 -15
- package/messages/record.delete.json +0 -16
- package/messages/record.get.json +0 -14
- package/messages/record.update.json +0 -18
- package/messages/soql.query.json +0 -26
- package/messages/tree.export.json +0 -11
- package/messages/tree.import.json +0 -13
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const core_1 = require("@salesforce/core");
|
|
10
|
+
const ts_types_1 = require("@salesforce/ts-types");
|
|
11
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
12
|
+
const flags_1 = require("../../../flags");
|
|
13
|
+
const dataCommand_1 = require("../../../dataCommand");
|
|
14
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
15
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-data', 'record.get');
|
|
16
|
+
class Get extends sf_plugins_core_1.SfCommand {
|
|
17
|
+
async run() {
|
|
18
|
+
const { flags } = await this.parse(Get);
|
|
19
|
+
this.spinner.start('Getting Record');
|
|
20
|
+
const conn = flags['use-tooling-api']
|
|
21
|
+
? flags['target-org'].getConnection(flags['api-version']).tooling
|
|
22
|
+
: flags['target-org'].getConnection(flags['api-version']);
|
|
23
|
+
try {
|
|
24
|
+
const sObjectId = flags['record-id'] ?? (await (0, dataCommand_1.query)(conn, flags.sobject, flags.where)).Id;
|
|
25
|
+
const result = await conn.sobject(flags.sobject).retrieve(sObjectId);
|
|
26
|
+
if (!this.jsonEnabled()) {
|
|
27
|
+
(0, dataCommand_1.logNestedObject)(result);
|
|
28
|
+
}
|
|
29
|
+
this.spinner.stop();
|
|
30
|
+
return (0, ts_types_1.toAnyJson)(result);
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
this.spinner.stop('failed');
|
|
34
|
+
throw new core_1.SfError(err.message, err.name);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.default = Get;
|
|
39
|
+
Get.summary = messages.getMessage('summary');
|
|
40
|
+
Get.description = messages.getMessage('description');
|
|
41
|
+
Get.examples = messages.getMessages('examples');
|
|
42
|
+
Get.aliases = ['force:data:record:get'];
|
|
43
|
+
Get.deprecateAliases = true;
|
|
44
|
+
Get.flags = {
|
|
45
|
+
...flags_1.orgFlags,
|
|
46
|
+
sobject: sf_plugins_core_1.Flags.string({
|
|
47
|
+
char: 's',
|
|
48
|
+
required: true,
|
|
49
|
+
summary: messages.getMessage('flags.sobject'),
|
|
50
|
+
aliases: ['sobjecttype'],
|
|
51
|
+
deprecateAliases: true,
|
|
52
|
+
}),
|
|
53
|
+
'record-id': sf_plugins_core_1.Flags.salesforceId({
|
|
54
|
+
char: 'i',
|
|
55
|
+
summary: messages.getMessage('flags.recordId'),
|
|
56
|
+
exactlyOne: ['where', 'record-id'],
|
|
57
|
+
aliases: ['sobjectid'],
|
|
58
|
+
deprecateAliases: true,
|
|
59
|
+
}),
|
|
60
|
+
where: sf_plugins_core_1.Flags.string({
|
|
61
|
+
char: 'w',
|
|
62
|
+
summary: messages.getMessage('flags.where'),
|
|
63
|
+
exactlyOne: ['where', 'record-id'],
|
|
64
|
+
}),
|
|
65
|
+
'use-tooling-api': sf_plugins_core_1.Flags.boolean({
|
|
66
|
+
char: 't',
|
|
67
|
+
summary: messages.getMessage('flags.useToolingApi'),
|
|
68
|
+
aliases: ['usetoolingapi'],
|
|
69
|
+
deprecateAliases: true,
|
|
70
|
+
}),
|
|
71
|
+
perflog: flags_1.perflogFlag,
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/commands/data/get/record.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,2CAAqD;AAErD,mDAAiD;AACjD,iEAA+D;AAC/D,0CAAuD;AACvD,sDAA8D;AAE9D,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;AAEhF,MAAqB,GAAI,SAAQ,2BAAiB;IAqCzC,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACnC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO;YACjE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI;YACF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,IAAK,CAAC,MAAM,IAAA,mBAAK,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC,EAAa,CAAC;YACjH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBACvB,IAAA,6BAAe,EAAC,MAAe,CAAC,CAAC;aAClC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,IAAA,oBAAS,EAAC,MAAM,CAAW,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,IAAI,cAAO,CAAE,GAAa,CAAC,OAAO,EAAG,GAAa,CAAC,IAAI,CAAC,CAAC;SAChE;IACH,CAAC;;AAvDH,sBAwDC;AAvDwB,WAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,eAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,YAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACrD,WAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC3B,oBAAgB,GAAG,IAAI,CAAC;AAExB,SAAK,GAAG;IAC7B,GAAG,gBAAQ;IACX,OAAO,EAAE,uBAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;QAC7C,OAAO,EAAE,CAAC,aAAa,CAAC;QACxB,gBAAgB,EAAE,IAAI;KACvB,CAAC;IACF,WAAW,EAAE,uBAAK,CAAC,YAAY,CAAC;QAC9B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAC9C,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;QAClC,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,gBAAgB,EAAE,IAAI;KACvB,CAAC;IACF,KAAK,EAAE,uBAAK,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;QAC3C,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;KACnC,CAAC;IACF,iBAAiB,EAAE,uBAAK,CAAC,OAAO,CAAC;QAC/B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;QACnD,OAAO,EAAE,CAAC,eAAe,CAAC;QAC1B,gBAAgB,EAAE,IAAI;KACvB,CAAC;IACF,OAAO,EAAE,mBAAW;CACrB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const core_1 = require("@salesforce/core");
|
|
10
|
+
const ts_types_1 = require("@salesforce/ts-types");
|
|
11
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
12
|
+
const importApi_1 = require("../../../api/data/tree/importApi");
|
|
13
|
+
const flags_1 = require("../../../flags");
|
|
14
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
15
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-data', 'tree.import');
|
|
16
|
+
/**
|
|
17
|
+
* Command that provides data import capability via the SObject Tree Save API.
|
|
18
|
+
*/
|
|
19
|
+
class Import extends sf_plugins_core_1.SfCommand {
|
|
20
|
+
async run() {
|
|
21
|
+
const { flags } = await this.parse(Import);
|
|
22
|
+
const logger = await core_1.Logger.child('Import');
|
|
23
|
+
const importApi = new importApi_1.ImportApi(flags['target-org']);
|
|
24
|
+
if (flags['config-help']) {
|
|
25
|
+
// Display config help and return
|
|
26
|
+
const schema = importApi.getSchema();
|
|
27
|
+
if (!this.jsonEnabled()) {
|
|
28
|
+
new core_1.SchemaPrinter(logger, schema).getLines().forEach((line) => this.log(line));
|
|
29
|
+
}
|
|
30
|
+
return schema;
|
|
31
|
+
}
|
|
32
|
+
const importConfig = {
|
|
33
|
+
sobjectTreeFiles: flags.files,
|
|
34
|
+
contentType: flags['content-type'],
|
|
35
|
+
plan: flags.plan,
|
|
36
|
+
};
|
|
37
|
+
const importResults = await importApi.import(importConfig);
|
|
38
|
+
const processedResult = (importResults.responseRefs ?? []).map((ref) => {
|
|
39
|
+
const type = (0, ts_types_1.getString)(importResults.sobjectTypes, ref.referenceId, 'Unknown');
|
|
40
|
+
return { refId: ref.referenceId, type, id: ref.id };
|
|
41
|
+
});
|
|
42
|
+
this.styledHeader('Import Results');
|
|
43
|
+
this.table(processedResult, {
|
|
44
|
+
refId: { header: 'Reference ID' },
|
|
45
|
+
type: { header: 'Type' },
|
|
46
|
+
id: { header: 'ID' },
|
|
47
|
+
});
|
|
48
|
+
return processedResult;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.default = Import;
|
|
52
|
+
Import.summary = messages.getMessage('summary');
|
|
53
|
+
Import.description = messages.getMessage('description');
|
|
54
|
+
Import.examples = messages.getMessages('examples');
|
|
55
|
+
Import.aliases = ['force:data:tree:import'];
|
|
56
|
+
Import.deprecateAliases = true;
|
|
57
|
+
Import.flags = {
|
|
58
|
+
...flags_1.orgFlags,
|
|
59
|
+
files: (0, sf_plugins_core_1.arrayWithDeprecation)({
|
|
60
|
+
char: 'f',
|
|
61
|
+
summary: messages.getMessage('flags.files'),
|
|
62
|
+
exclusive: ['plan'],
|
|
63
|
+
aliases: ['sobjecttreefiles'],
|
|
64
|
+
deprecateAliases: true,
|
|
65
|
+
}),
|
|
66
|
+
plan: sf_plugins_core_1.Flags.file({
|
|
67
|
+
char: 'p',
|
|
68
|
+
summary: messages.getMessage('flags.plan'),
|
|
69
|
+
exists: true,
|
|
70
|
+
}),
|
|
71
|
+
'content-type': sf_plugins_core_1.Flags.string({
|
|
72
|
+
char: 'c',
|
|
73
|
+
summary: messages.getMessage('flags.contenttype'),
|
|
74
|
+
hidden: true,
|
|
75
|
+
aliases: ['contenttype'],
|
|
76
|
+
deprecateAliases: true,
|
|
77
|
+
}),
|
|
78
|
+
// displays the schema for a data import plan
|
|
79
|
+
'config-help': sf_plugins_core_1.Flags.boolean({
|
|
80
|
+
summary: messages.getMessage('flags.confighelp'),
|
|
81
|
+
aliases: ['confighelp'],
|
|
82
|
+
deprecateAliases: true,
|
|
83
|
+
}),
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../src/commands/data/import/tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BulkQueryReport = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
const core_1 = require("@salesforce/core");
|
|
11
|
+
const bulk_1 = require("jsforce/lib/api/bulk");
|
|
12
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
13
|
+
const flags_1 = require("../../../flags");
|
|
14
|
+
const query_1 = require("../query");
|
|
15
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
16
|
+
const reportMessages = core_1.Messages.loadMessages('@salesforce/plugin-data', 'bulk.report');
|
|
17
|
+
// needed by the flags loaded from the other command
|
|
18
|
+
core_1.Messages.loadMessages('@salesforce/plugin-data', 'soql.query');
|
|
19
|
+
class BulkQueryReport extends sf_plugins_core_1.SfCommand {
|
|
20
|
+
async run() {
|
|
21
|
+
const { flags } = await this.parse(BulkQueryReport);
|
|
22
|
+
const job = new bulk_1.QueryJobV2({
|
|
23
|
+
operation: 'query',
|
|
24
|
+
pollingOptions: { pollTimeout: 0, pollInterval: 0 },
|
|
25
|
+
query: '',
|
|
26
|
+
connection: flags['target-org'].getConnection(flags['api-version']),
|
|
27
|
+
});
|
|
28
|
+
job.jobInfo = { id: flags['bulk-query-id'] };
|
|
29
|
+
const results = await job.getResults();
|
|
30
|
+
const queryResult = (0, query_1.transformBulkResults)(results, '');
|
|
31
|
+
if (!this.jsonEnabled()) {
|
|
32
|
+
(0, query_1.displayResults)({ ...queryResult }, flags['result-format']);
|
|
33
|
+
}
|
|
34
|
+
return queryResult.result;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.BulkQueryReport = BulkQueryReport;
|
|
38
|
+
BulkQueryReport.summary = reportMessages.getMessage('summary');
|
|
39
|
+
BulkQueryReport.description = reportMessages.getMessage('description');
|
|
40
|
+
BulkQueryReport.examples = reportMessages.getMessages('examples');
|
|
41
|
+
BulkQueryReport.aliases = ['force:data:soql:bulk:report'];
|
|
42
|
+
BulkQueryReport.deprecateAliases = true;
|
|
43
|
+
BulkQueryReport.flags = {
|
|
44
|
+
...flags_1.orgFlags,
|
|
45
|
+
'result-format': query_1.DataSoqlQueryCommand.flags['result-format'],
|
|
46
|
+
'bulk-query-id': sf_plugins_core_1.Flags.salesforceId({
|
|
47
|
+
char: 'i',
|
|
48
|
+
required: true,
|
|
49
|
+
startsWith: '750',
|
|
50
|
+
summary: reportMessages.getMessage('flags.bulkQueryId'),
|
|
51
|
+
aliases: ['bulkqueryid'],
|
|
52
|
+
deprecateAliases: true,
|
|
53
|
+
}),
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../../src/commands/data/query/resume.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,2CAA4C;AAC5C,+CAAkD;AAClD,iEAA+D;AAC/D,0CAA0C;AAC1C,oCAAsF;AAGtF,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,cAAc,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;AACvF,oDAAoD;AACpD,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;AAE/D,MAAa,eAAgB,SAAQ,2BAAkB;IAoB9C,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,iBAAU,CAAC;YACzB,SAAS,EAAE,OAAO;YAClB,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;YACnD,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SACpE,CAAC,CAAC;QACH,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAA,4BAAoB,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACvB,IAAA,sBAAc,EAAC,EAAE,GAAG,WAAW,EAAE,EAAE,KAAK,CAAC,eAAe,CAA6B,CAAC,CAAC;SACxF;QACD,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;;AApCH,0CAqCC;AApCwB,uBAAO,GAAG,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC/C,2BAAW,GAAG,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACvD,wBAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAClD,uBAAO,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC1C,gCAAgB,GAAG,IAAI,CAAC;AAExB,qBAAK,GAAG;IAC7B,GAAG,gBAAQ;IACX,eAAe,EAAE,4BAAoB,CAAC,KAAK,CAAC,eAAe,CAAC;IAC5D,eAAe,EAAE,uBAAK,CAAC,YAAY,CAAC;QAClC,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACvD,OAAO,EAAE,CAAC,aAAa,CAAC;QACxB,gBAAgB,EAAE,IAAI;KACvB,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.runSoqlQuery = exports.retrieveColumns = exports.transformBulkResults = exports.displayResults = exports.DataSoqlQueryCommand = void 0;
|
|
10
|
+
const fs = require("fs");
|
|
11
|
+
const core_1 = require("@salesforce/core");
|
|
12
|
+
const ts_types_1 = require("@salesforce/ts-types");
|
|
13
|
+
const kit_1 = require("@salesforce/kit");
|
|
14
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
15
|
+
const flags_1 = require("../../flags");
|
|
16
|
+
const reporters_1 = require("../../reporters");
|
|
17
|
+
const dataSoqlQueryTypes_1 = require("../../dataSoqlQueryTypes");
|
|
18
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
19
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-data', 'soql.query');
|
|
20
|
+
class DataSoqlQueryCommand extends sf_plugins_core_1.SfCommand {
|
|
21
|
+
// will init from run
|
|
22
|
+
/**
|
|
23
|
+
* Command run implementation
|
|
24
|
+
*
|
|
25
|
+
* Returns either a DataSoqlQueryResult or a SfdxResult.
|
|
26
|
+
* When the user is using global '--json' flag an instance of SfdxResult is returned.
|
|
27
|
+
* This is necessary since '--json' flag reports results in the form of SfdxResult
|
|
28
|
+
* and bypasses the definition of start result. The goal is to have the output
|
|
29
|
+
* from '--json' and '--resulformat json' be the same.
|
|
30
|
+
*
|
|
31
|
+
* The DataSoqlQueryResult is necessary to communicate user selections to the reporters.
|
|
32
|
+
* The 'this' object available during display() function does not include user input to
|
|
33
|
+
* the command, which are necessary for reporter selection.
|
|
34
|
+
*
|
|
35
|
+
*/
|
|
36
|
+
async run() {
|
|
37
|
+
this.logger = await core_1.Logger.child('data:soql:query');
|
|
38
|
+
const flags = (await this.parse(DataSoqlQueryCommand)).flags;
|
|
39
|
+
try {
|
|
40
|
+
// soqlqueryfile will be be present if flags.query isn't. Oclif exactlyOne isn't quite that clever
|
|
41
|
+
const queryString = flags.query ?? fs.readFileSync(flags.file, 'utf8');
|
|
42
|
+
const conn = flags['target-org'].getConnection(flags['api-version']);
|
|
43
|
+
const ux = new sf_plugins_core_1.Ux({ jsonEnabled: this.jsonEnabled() });
|
|
44
|
+
if (flags['result-format'] !== 'json')
|
|
45
|
+
this.spinner.start(messages.getMessage('queryRunningMessage'));
|
|
46
|
+
const queryResult = flags.bulk
|
|
47
|
+
? await runBulkSoqlQuery(conn, queryString, flags.async ? kit_1.Duration.minutes(0) : flags.wait, ux)
|
|
48
|
+
: await (0, exports.runSoqlQuery)(flags['use-tooling-api'] ? conn.tooling : conn, queryString, this.logger, ux, this.configAggregator.getInfo('org-max-query-limit').value);
|
|
49
|
+
if (!this.jsonEnabled()) {
|
|
50
|
+
// TODO: make the enum or string/options work correctly
|
|
51
|
+
(0, exports.displayResults)({ ...queryResult }, flags['result-format']);
|
|
52
|
+
}
|
|
53
|
+
return queryResult.result;
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
if (flags['result-format'] !== 'json')
|
|
57
|
+
this.spinner.stop();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.DataSoqlQueryCommand = DataSoqlQueryCommand;
|
|
62
|
+
DataSoqlQueryCommand.summary = messages.getMessage('summary');
|
|
63
|
+
DataSoqlQueryCommand.description = messages.getMessage('description');
|
|
64
|
+
DataSoqlQueryCommand.examples = messages.getMessages('examples');
|
|
65
|
+
DataSoqlQueryCommand.aliases = ['force:data:soql:query'];
|
|
66
|
+
DataSoqlQueryCommand.deprecateAliases = true;
|
|
67
|
+
DataSoqlQueryCommand.flags = {
|
|
68
|
+
...flags_1.orgFlags,
|
|
69
|
+
query: sf_plugins_core_1.Flags.string({
|
|
70
|
+
char: 'q',
|
|
71
|
+
summary: messages.getMessage('flags.queryToExecute'),
|
|
72
|
+
exactlyOne: ['query', 'file'],
|
|
73
|
+
}),
|
|
74
|
+
file: sf_plugins_core_1.Flags.file({
|
|
75
|
+
char: 'f',
|
|
76
|
+
exists: true,
|
|
77
|
+
summary: messages.getMessage('flags.file'),
|
|
78
|
+
exactlyOne: ['query', 'file'],
|
|
79
|
+
aliases: ['soqlqueryfile'],
|
|
80
|
+
deprecateAliases: true,
|
|
81
|
+
}),
|
|
82
|
+
'use-tooling-api': sf_plugins_core_1.Flags.boolean({
|
|
83
|
+
char: 't',
|
|
84
|
+
summary: messages.getMessage('flags.useToolingApi'),
|
|
85
|
+
aliases: ['usetoolingapi'],
|
|
86
|
+
deprecateAliases: true,
|
|
87
|
+
}),
|
|
88
|
+
bulk: sf_plugins_core_1.Flags.boolean({
|
|
89
|
+
char: 'b',
|
|
90
|
+
default: false,
|
|
91
|
+
summary: messages.getMessage('flags.bulk'),
|
|
92
|
+
exclusive: ['use-tooling-api'],
|
|
93
|
+
}),
|
|
94
|
+
wait: sf_plugins_core_1.Flags.duration({
|
|
95
|
+
unit: 'minutes',
|
|
96
|
+
char: 'w',
|
|
97
|
+
summary: messages.getMessage('flags.wait'),
|
|
98
|
+
dependsOn: ['bulk'],
|
|
99
|
+
exclusive: ['async'],
|
|
100
|
+
}),
|
|
101
|
+
async: sf_plugins_core_1.Flags.boolean({
|
|
102
|
+
summary: messages.getMessage('flags.async'),
|
|
103
|
+
dependsOn: ['bulk'],
|
|
104
|
+
exclusive: ['wait'],
|
|
105
|
+
}),
|
|
106
|
+
// TODO: use union type from
|
|
107
|
+
'result-format': sf_plugins_core_1.Flags.enum({
|
|
108
|
+
char: 'r',
|
|
109
|
+
summary: messages.getMessage('flags.resultFormat'),
|
|
110
|
+
options: ['human', 'json', 'csv'],
|
|
111
|
+
default: 'human',
|
|
112
|
+
aliases: ['resultformat'],
|
|
113
|
+
deprecateAliases: true,
|
|
114
|
+
}),
|
|
115
|
+
perflog: flags_1.perflogFlag,
|
|
116
|
+
};
|
|
117
|
+
const displayResults = (queryResult, resultFormat) => {
|
|
118
|
+
let reporter;
|
|
119
|
+
switch (resultFormat) {
|
|
120
|
+
case 'human':
|
|
121
|
+
reporter = new reporters_1.HumanReporter(queryResult, queryResult.columns);
|
|
122
|
+
break;
|
|
123
|
+
case 'json':
|
|
124
|
+
reporter = new reporters_1.JsonReporter(queryResult, queryResult.columns);
|
|
125
|
+
break;
|
|
126
|
+
case 'csv':
|
|
127
|
+
reporter = new reporters_1.CsvReporter(queryResult, queryResult.columns);
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
// delegate to selected reporter
|
|
131
|
+
reporter.display();
|
|
132
|
+
};
|
|
133
|
+
exports.displayResults = displayResults;
|
|
134
|
+
/**
|
|
135
|
+
* transforms Bulk 2.0 results to match the SOQL query results
|
|
136
|
+
*
|
|
137
|
+
* @param results results object
|
|
138
|
+
* @param query query string
|
|
139
|
+
*/
|
|
140
|
+
const transformBulkResults = (results, query) => {
|
|
141
|
+
/*
|
|
142
|
+
bulk queries return a different payload, it's a [{column: data}, {column: data}]
|
|
143
|
+
so we just need to grab the first object, find the keys (columns) and create the columns
|
|
144
|
+
*/
|
|
145
|
+
const columns = Object.keys(results[0] ?? {}).map((name) => ({
|
|
146
|
+
fieldType: dataSoqlQueryTypes_1.FieldType.field,
|
|
147
|
+
name,
|
|
148
|
+
}));
|
|
149
|
+
return {
|
|
150
|
+
columns,
|
|
151
|
+
result: { done: true, records: results, totalSize: results.length },
|
|
152
|
+
query,
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
exports.transformBulkResults = transformBulkResults;
|
|
156
|
+
/**
|
|
157
|
+
* Executs a SOQL query using the bulk 2.0 API
|
|
158
|
+
*
|
|
159
|
+
* @param connection
|
|
160
|
+
* @param query
|
|
161
|
+
* @param timeout
|
|
162
|
+
* @param jsonEnabled
|
|
163
|
+
*/
|
|
164
|
+
const runBulkSoqlQuery = async (connection, query, timeout = kit_1.Duration.seconds(10), ux) => {
|
|
165
|
+
connection.bulk2.pollTimeout = timeout.milliseconds ?? kit_1.Duration.minutes(5).milliseconds;
|
|
166
|
+
let res;
|
|
167
|
+
try {
|
|
168
|
+
res = (await connection.bulk2.query(query)) ?? [];
|
|
169
|
+
return (0, exports.transformBulkResults)(res, query);
|
|
170
|
+
}
|
|
171
|
+
catch (e) {
|
|
172
|
+
const err = e;
|
|
173
|
+
if (timeout.minutes === 0 && err.message.includes('Polling time out')) {
|
|
174
|
+
// async query, so we can't throw an error, suggest force:data:query:report --queryid <id>
|
|
175
|
+
ux.log(messages.getMessage('bulkQueryTimeout', [err.jobId, err.jobId, connection.getUsername()]));
|
|
176
|
+
return { columns: [], result: { done: false, records: [], totalSize: 0, id: err.jobId }, query };
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
throw core_1.SfError.wrap(err);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
const searchSubColumnsRecursively = (parent) => {
|
|
184
|
+
const column = (0, ts_types_1.ensureJsonMap)(parent);
|
|
185
|
+
const name = (0, ts_types_1.ensureString)(column.columnName);
|
|
186
|
+
const child = (0, ts_types_1.getArray)(parent, 'joinColumns');
|
|
187
|
+
return child.length ? child.map((c) => `${name}.${searchSubColumnsRecursively(c).join('.')}`) : [name];
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Utility to fetch the columns involved in a soql query.
|
|
191
|
+
*
|
|
192
|
+
* Columns are then transformed into one of three types, Field, SubqueryField and FunctionField. List of
|
|
193
|
+
* fields is returned as the product.
|
|
194
|
+
*
|
|
195
|
+
* @param connection
|
|
196
|
+
* @param query
|
|
197
|
+
*/
|
|
198
|
+
const retrieveColumns = async (connection, query, logger) => {
|
|
199
|
+
logger?.debug('fetching columns for query');
|
|
200
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
201
|
+
const columnUrl = `${connection._baseUrl()}/query?q=${encodeURIComponent(query)}&columns=true`;
|
|
202
|
+
const results = (0, ts_types_1.toJsonMap)(await connection.request(columnUrl));
|
|
203
|
+
return recursivelyFindColumns((0, ts_types_1.ensureJsonArray)(results.columnMetadata));
|
|
204
|
+
};
|
|
205
|
+
exports.retrieveColumns = retrieveColumns;
|
|
206
|
+
const recursivelyFindColumns = (data) => {
|
|
207
|
+
const columns = [];
|
|
208
|
+
for (let column of data) {
|
|
209
|
+
column = (0, ts_types_1.ensureJsonMap)(column);
|
|
210
|
+
const name = (0, ts_types_1.ensureString)(column.columnName);
|
|
211
|
+
if ((0, ts_types_1.isJsonArray)(column.joinColumns) && column.joinColumns.length > 0) {
|
|
212
|
+
if (column.aggregate) {
|
|
213
|
+
const field = {
|
|
214
|
+
fieldType: dataSoqlQueryTypes_1.FieldType.subqueryField,
|
|
215
|
+
name,
|
|
216
|
+
fields: [],
|
|
217
|
+
};
|
|
218
|
+
for (let subcolumn of column.joinColumns) {
|
|
219
|
+
subcolumn = (0, ts_types_1.ensureJsonMap)(subcolumn);
|
|
220
|
+
if ((0, ts_types_1.isJsonArray)(column.joinColumns) && column.joinColumns.length > 0) {
|
|
221
|
+
if (field.fields)
|
|
222
|
+
field.fields.push(...recursivelyFindColumns([subcolumn]));
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
const f = {
|
|
226
|
+
fieldType: dataSoqlQueryTypes_1.FieldType.field,
|
|
227
|
+
name: (0, ts_types_1.ensureString)((0, ts_types_1.ensureJsonMap)(subcolumn).columnName),
|
|
228
|
+
};
|
|
229
|
+
if (field.fields)
|
|
230
|
+
field.fields.push(f);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
columns.push(field);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
for (const subcolumn of column.joinColumns) {
|
|
237
|
+
const allSubFieldNames = searchSubColumnsRecursively(subcolumn);
|
|
238
|
+
for (const subFields of allSubFieldNames) {
|
|
239
|
+
columns.push({
|
|
240
|
+
fieldType: dataSoqlQueryTypes_1.FieldType.field,
|
|
241
|
+
name: `${name}.${subFields}`,
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
else if (column.aggregate) {
|
|
248
|
+
const field = {
|
|
249
|
+
fieldType: dataSoqlQueryTypes_1.FieldType.functionField,
|
|
250
|
+
name: (0, ts_types_1.ensureString)(column.displayName),
|
|
251
|
+
};
|
|
252
|
+
// If it isn't an alias, skip so the display name is used when messaging rows
|
|
253
|
+
if (!/expr[0-9]+/.test(name)) {
|
|
254
|
+
field.alias = name;
|
|
255
|
+
}
|
|
256
|
+
columns.push(field);
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
columns.push({ fieldType: dataSoqlQueryTypes_1.FieldType.field, name });
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return columns;
|
|
263
|
+
};
|
|
264
|
+
const runSoqlQuery = async (connection, query, logger, ux, maxFetch = 50000) => {
|
|
265
|
+
logger.debug('running query');
|
|
266
|
+
const options = {
|
|
267
|
+
autoFetch: true,
|
|
268
|
+
maxFetch,
|
|
269
|
+
};
|
|
270
|
+
const result = await connection.query(query, options);
|
|
271
|
+
if (result.records.length && result.totalSize > result.records.length) {
|
|
272
|
+
ux.warn(`The query result is missing ${result.totalSize - result.records.length} records due to a ${maxFetch} record limit. Increase the number of records returned by setting the config value "org-max-query-limit" or the environment variable "SF_ORG_MAX_QUERY_LIMIT" to ${result.totalSize} or greater than ${maxFetch}.`);
|
|
273
|
+
}
|
|
274
|
+
logger.debug(`Query complete with ${result.totalSize} records returned`);
|
|
275
|
+
const columns = result.totalSize ? await (0, exports.retrieveColumns)(connection, query, logger) : [];
|
|
276
|
+
return {
|
|
277
|
+
query,
|
|
278
|
+
columns,
|
|
279
|
+
result,
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
exports.runSoqlQuery = runSoqlQuery;
|
|
283
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/commands/data/query.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yBAAyB;AACzB,2CAAyE;AAEzE,mDAS8B;AAC9B,yCAA2C;AAC3C,iEAAmE;AACnE,uCAAoD;AACpD,+CAAwF;AACxF,iEAA6E;AAE7E,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;AAEhF,MAAa,oBAAqB,SAAQ,2BAAkB;IA4D1D,qBAAqB;IACrB;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,aAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC;QAE7D,IAAI;YACF,kGAAkG;YAClG,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAc,EAAE,MAAM,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;YACrE,MAAM,EAAE,GAAG,IAAI,oBAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,MAAM;gBAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACtG,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI;gBAC5B,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,cAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC/F,CAAC,CAAC,MAAM,IAAA,oBAAY,EAChB,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAC9C,WAAW,EACX,IAAI,CAAC,MAAM,EACX,EAAE,EACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,KAAe,CACrE,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBACvB,uDAAuD;gBACvD,IAAA,sBAAc,EAAC,EAAE,GAAG,WAAW,EAAE,EAAE,KAAK,CAAC,eAAe,CAA6B,CAAC,CAAC;aACxF;YACD,OAAO,WAAW,CAAC,MAAM,CAAC;SAC3B;gBAAS;YACR,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,MAAM;gBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAC5D;IACH,CAAC;;AAtGH,oDAuGC;AAtGwB,4BAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,gCAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,6BAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC5C,4BAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACpC,qCAAgB,GAAG,IAAI,CAAC;AAExB,0BAAK,GAAG;IAC7B,GAAG,gBAAQ;IACX,KAAK,EAAE,uBAAK,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;QACpD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,IAAI,EAAE,uBAAK,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;QAC1C,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QAC7B,OAAO,EAAE,CAAC,eAAe,CAAC;QAC1B,gBAAgB,EAAE,IAAI;KACvB,CAAC;IACF,iBAAiB,EAAE,uBAAK,CAAC,OAAO,CAAC;QAC/B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;QACnD,OAAO,EAAE,CAAC,eAAe,CAAC;QAC1B,gBAAgB,EAAE,IAAI;KACvB,CAAC;IACF,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;QAC1C,SAAS,EAAE,CAAC,iBAAiB,CAAC;KAC/B,CAAC;IACF,IAAI,EAAE,uBAAK,CAAC,QAAQ,CAAC;QACnB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;QAC1C,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB,CAAC;IACF,KAAK,EAAE,uBAAK,CAAC,OAAO,CAAC;QACnB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;QAC3C,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC;IACF,4BAA4B;IAC5B,eAAe,EAAE,uBAAK,CAAC,IAAI,CAAC;QAC1B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QACjC,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,CAAC,cAAc,CAAC;QACzB,gBAAgB,EAAE,IAAI;KACvB,CAAC;IACF,OAAO,EAAE,mBAAW;CACrB,CAAC;AAiDG,MAAM,cAAc,GAAG,CAAC,WAA4B,EAAE,YAAsC,EAAQ,EAAE;IAC3G,IAAI,QAAoD,CAAC;IACzD,QAAQ,YAAY,EAAE;QACpB,KAAK,OAAO;YACV,QAAQ,GAAG,IAAI,yBAAa,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/D,MAAM;QACR,KAAK,MAAM;YACT,QAAQ,GAAG,IAAI,wBAAY,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM;QACR,KAAK,KAAK;YACR,QAAQ,GAAG,IAAI,uBAAW,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM;KACT;IACD,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB;AAEF;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAAiB,EAAE,KAAa,EAAmB,EAAE;IACxF;;;SAGK;IACL,MAAM,OAAO,GAAY,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpE,SAAS,EAAE,8BAAS,CAAC,KAAK;QAC1B,IAAI;KACL,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,OAAO;QACP,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE;QACnE,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,oBAAoB,wBAe/B;AAEF;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,KAAK,EAC5B,UAAsB,EACtB,KAAa,EACb,UAAoB,cAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EACxC,EAAM,EACoB,EAAE;IAC5B,UAAU,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY,IAAI,cAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACxF,IAAI,GAAa,CAAC;IAClB,IAAI;QACF,GAAG,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,IAAA,4BAAoB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KACzC;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,GAAG,GAAG,CAA8B,CAAC;QAC3C,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACrE,0FAA0F;YAC1F,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC;SAClG;aAAM;YACL,MAAM,cAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzB;KACF;AACH,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,MAAe,EAAY,EAAE;IAChE,MAAM,MAAM,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAA,uBAAY,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,MAAM,EAAE,aAAa,CAAc,CAAC;IAC3D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzG,CAAC,CAAC;AAEF;;;;;;;;GAQG;AAEI,MAAM,eAAe,GAAG,KAAK,EAClC,UAA8C,EAC9C,KAAa,EACb,MAAe,EACG,EAAE;IACpB,MAAM,EAAE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5C,gDAAgD;IAChD,MAAM,SAAS,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,YAAY,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC;IAC/F,MAAM,OAAO,GAAG,IAAA,oBAAS,EAAC,MAAM,UAAU,CAAC,OAAO,CAAS,SAAS,CAAC,CAAC,CAAC;IAEvE,OAAO,sBAAsB,CAAC,IAAA,0BAAe,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC;AAXW,QAAA,eAAe,mBAW1B;AAEF,MAAM,sBAAsB,GAAG,CAAC,IAAe,EAAW,EAAE;IAC1D,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE;QACvB,MAAM,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAA,uBAAY,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7C,IAAI,IAAA,sBAAW,EAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,IAAI,MAAM,CAAC,SAAS,EAAE;gBACpB,MAAM,KAAK,GAAU;oBACnB,SAAS,EAAE,8BAAS,CAAC,aAAa;oBAClC,IAAI;oBACJ,MAAM,EAAE,EAAE;iBACX,CAAC;gBACF,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE;oBACxC,SAAS,GAAG,IAAA,wBAAa,EAAC,SAAS,CAAC,CAAC;oBACrC,IAAI,IAAA,sBAAW,EAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;wBACpE,IAAI,KAAK,CAAC,MAAM;4BAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBAC7E;yBAAM;wBACL,MAAM,CAAC,GAAU;4BACf,SAAS,EAAE,8BAAS,CAAC,KAAK;4BAC1B,IAAI,EAAE,IAAA,uBAAY,EAAC,IAAA,wBAAa,EAAC,SAAS,CAAC,CAAC,UAAU,CAAC;yBACxD,CAAC;wBACF,IAAI,KAAK,CAAC,MAAM;4BAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACxC;iBACF;gBACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;iBAAM;gBACL,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE;oBAC1C,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;oBAChE,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE;wBACxC,OAAO,CAAC,IAAI,CAAC;4BACX,SAAS,EAAE,8BAAS,CAAC,KAAK;4BAC1B,IAAI,EAAE,GAAG,IAAI,IAAI,SAAS,EAAE;yBAC7B,CAAC,CAAC;qBACJ;iBACF;aACF;SACF;aAAM,IAAI,MAAM,CAAC,SAAS,EAAE;YAC3B,MAAM,KAAK,GAAU;gBACnB,SAAS,EAAE,8BAAS,CAAC,aAAa;gBAClC,IAAI,EAAE,IAAA,uBAAY,EAAC,MAAM,CAAC,WAAW,CAAC;aACvC,CAAC;YACF,6EAA6E;YAC7E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC5B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;aACpB;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrB;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,8BAAS,CAAC,KAAK,EAAE,IAAI,EAAW,CAAC,CAAC;SAC7D;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,KAAK,EAC/B,UAA8C,EAC9C,KAAa,EACb,MAAc,EACd,EAAM,EACN,QAAQ,GAAG,KAAK,EACU,EAAE;IAC5B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAE9B,MAAM,OAAO,GAAG;QACd,SAAS,EAAE,IAAI;QACf,QAAQ;KACT,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;QACrE,EAAE,CAAC,IAAI,CACL,+BACE,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MACpC,qBAAqB,QAAQ,oKAC3B,MAAM,CAAC,SACT,oBAAoB,QAAQ,GAAG,CAChC,CAAC;KACH;IAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,SAAS,mBAAmB,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAA,uBAAe,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,OAAO;QACL,KAAK;QACL,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,YAAY,gBAiCvB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@salesforce/core");
|
|
4
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
5
|
+
const flags_1 = require("../../flags");
|
|
6
|
+
const batcher_1 = require("../../batcher");
|
|
7
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
8
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-data', 'bulk.status');
|
|
9
|
+
class Status extends sf_plugins_core_1.SfCommand {
|
|
10
|
+
async run() {
|
|
11
|
+
const { flags } = await this.parse(Status);
|
|
12
|
+
this.spinner.start('Getting Status');
|
|
13
|
+
const conn = flags['target-org'].getConnection(flags['api-version']);
|
|
14
|
+
const batcher = new batcher_1.Batcher(conn, new sf_plugins_core_1.Ux({ jsonEnabled: this.jsonEnabled() }));
|
|
15
|
+
if (flags['job-id'] && flags['batch-id']) {
|
|
16
|
+
// view batch status
|
|
17
|
+
const job = conn.bulk.job(flags['job-id']);
|
|
18
|
+
let found = false;
|
|
19
|
+
const batches = await job.list();
|
|
20
|
+
batches.forEach((batch) => {
|
|
21
|
+
if (batch.id === flags['batch-id']) {
|
|
22
|
+
batcher.bulkStatus(batch);
|
|
23
|
+
found = true;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
if (!found) {
|
|
27
|
+
throw new core_1.SfError(messages.getMessage('NoBatchFound', [flags['batch-id'], flags['job-id']]), 'NoBatchFound');
|
|
28
|
+
}
|
|
29
|
+
this.spinner.stop();
|
|
30
|
+
return batches;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// view job status
|
|
34
|
+
const jobStatus = await batcher.fetchAndDisplayJobStatus(flags['job-id']);
|
|
35
|
+
this.spinner.stop();
|
|
36
|
+
return jobStatus;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.default = Status;
|
|
41
|
+
Status.summary = messages.getMessage('summary');
|
|
42
|
+
Status.description = messages.getMessage('description');
|
|
43
|
+
Status.examples = messages.getMessages('examples');
|
|
44
|
+
Status.aliases = ['force:data:bulk:status'];
|
|
45
|
+
Status.deprecateAliases = true;
|
|
46
|
+
Status.flags = {
|
|
47
|
+
...flags_1.orgFlags,
|
|
48
|
+
'batch-id': sf_plugins_core_1.Flags.salesforceId({
|
|
49
|
+
char: 'b',
|
|
50
|
+
startsWith: '751',
|
|
51
|
+
summary: messages.getMessage('flags.batchid'),
|
|
52
|
+
aliases: ['batchid'],
|
|
53
|
+
deprecateAliases: true,
|
|
54
|
+
}),
|
|
55
|
+
'job-id': sf_plugins_core_1.Flags.salesforceId({
|
|
56
|
+
char: 'i',
|
|
57
|
+
startsWith: '750',
|
|
58
|
+
summary: messages.getMessage('flags.jobid'),
|
|
59
|
+
required: true,
|
|
60
|
+
aliases: ['jobid'],
|
|
61
|
+
deprecateAliases: true,
|
|
62
|
+
}),
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/commands/data/resume.ts"],"names":[],"mappings":"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"}
|