@salesforce/plugin-data 0.6.15 → 2.0.2
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/CHANGELOG.md +10 -0
- package/README.md +173 -186
- package/lib/api/data/tree/exportApi.d.ts +0 -1
- package/lib/api/data/tree/exportApi.js +17 -26
- package/lib/api/data/tree/exportApi.js.map +1 -1
- package/lib/api/data/tree/importApi.js +25 -45
- package/lib/api/data/tree/importApi.js.map +1 -1
- package/lib/batcher.d.ts +7 -4
- package/lib/batcher.js +3 -7
- package/lib/batcher.js.map +1 -1
- package/lib/commands/force/data/bulk/delete.d.ts +1 -1
- package/lib/commands/force/data/bulk/delete.js +5 -4
- package/lib/commands/force/data/bulk/delete.js.map +1 -1
- package/lib/commands/force/data/bulk/status.d.ts +2 -1
- package/lib/commands/force/data/bulk/status.js +1 -4
- package/lib/commands/force/data/bulk/status.js.map +1 -1
- package/lib/commands/force/data/bulk/upsert.d.ts +1 -1
- package/lib/commands/force/data/bulk/upsert.js +3 -2
- package/lib/commands/force/data/bulk/upsert.js.map +1 -1
- package/lib/commands/force/data/record/create.d.ts +2 -2
- package/lib/commands/force/data/record/create.js.map +1 -1
- package/lib/commands/force/data/record/delete.d.ts +2 -2
- package/lib/commands/force/data/record/delete.js +1 -1
- package/lib/commands/force/data/record/delete.js.map +1 -1
- package/lib/commands/force/data/record/get.d.ts +1 -2
- package/lib/commands/force/data/record/get.js +1 -1
- package/lib/commands/force/data/record/get.js.map +1 -1
- package/lib/commands/force/data/record/update.d.ts +2 -2
- package/lib/commands/force/data/record/update.js +3 -1
- package/lib/commands/force/data/record/update.js.map +1 -1
- package/lib/commands/force/data/soql/query.d.ts +3 -4
- package/lib/commands/force/data/soql/query.js +33 -17
- package/lib/commands/force/data/soql/query.js.map +1 -1
- package/lib/commands/force/data/tree/import.js +3 -5
- package/lib/commands/force/data/tree/import.js.map +1 -1
- package/lib/dataCommand.d.ts +12 -6
- package/lib/dataCommand.js +38 -23
- package/lib/dataCommand.js.map +1 -1
- package/lib/dataSoqlQueryTypes.d.ts +2 -2
- package/lib/dataSoqlQueryTypes.js +1 -2
- package/lib/dataSoqlQueryTypes.js.map +1 -1
- package/lib/reporters.d.ts +5 -8
- package/lib/reporters.js +28 -17
- package/lib/reporters.js.map +1 -1
- package/messages/bulk.delete.json +2 -2
- package/messages/bulk.status.json +2 -2
- package/messages/bulk.upsert.json +2 -2
- package/messages/record.create.json +5 -5
- package/messages/record.delete.json +5 -5
- package/messages/record.get.json +5 -5
- package/messages/record.update.json +5 -5
- package/messages/soql.query.json +4 -4
- package/messages/tree.export.json +2 -2
- package/messages/tree.import.json +2 -2
- package/oclif.manifest.json +1 -1
- package/package.json +15 -13
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BatchInfo } from 'jsforce/lib/api/bulk';
|
|
2
|
+
import { JobInfo } from 'jsforce/job';
|
|
2
3
|
import { FlagsConfig } from '@salesforce/command';
|
|
3
4
|
import { DataCommand } from '../../../../dataCommand';
|
|
4
5
|
export default class Status extends DataCommand {
|
|
@@ -30,10 +30,7 @@ class Status extends dataCommand_1.DataCommand {
|
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
if (!found) {
|
|
33
|
-
throw core_1.
|
|
34
|
-
this.flags.batchid,
|
|
35
|
-
this.flags.jobid,
|
|
36
|
-
]);
|
|
33
|
+
throw new core_1.SfError(messages.getMessage('NoBatchFound', [this.flags.batchid, this.flags.jobid]), 'NoBatchFound');
|
|
37
34
|
}
|
|
38
35
|
this.ux.stopSpinner();
|
|
39
36
|
return batches;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/bulk/status.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yBAAyB;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/bulk/status.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yBAAyB;AAGzB,iDAAyD;AACzD,2CAAiE;AACjE,iDAA8C;AAC9C,yDAAsD;AAEtD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;AAEjF,MAAqB,MAAO,SAAQ,yBAAW;IAgBtC,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACvC,MAAM,IAAI,GAAe,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAC1C,oBAAoB;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,KAAK,CAAC;YAElB,MAAM,OAAO,GAAgB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAgB,EAAE,EAAE;gBACnC,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBACnC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC1B,KAAK,GAAG,IAAI,CAAC;iBACd;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,IAAI,cAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;aAChH;YAED,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC;SAChB;aAAM;YACL,kBAAkB;YAClB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;YACrF,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;;AA5CH,yBA6CC;AA5CwB,kBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,eAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACzD,uBAAgB,GAAG,IAAI,CAAC;AACxB,kBAAW,GAAgB;IAChD,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;KAClD,CAAC;IACF,KAAK,EAAE,eAAK,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;QAC/C,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FlagsConfig } from '@salesforce/command';
|
|
2
|
-
import { JobInfo } from 'jsforce';
|
|
2
|
+
import { JobInfo } from 'jsforce/job';
|
|
3
3
|
import { BulkResult } from '../../../../batcher';
|
|
4
4
|
import { DataCommand } from '../../../../dataCommand';
|
|
5
5
|
export default class Upsert extends DataCommand {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
8
8
|
*/
|
|
9
9
|
const os = require("os");
|
|
10
|
+
const fs = require("fs");
|
|
10
11
|
const command_1 = require("@salesforce/command");
|
|
11
12
|
const core_1 = require("@salesforce/core");
|
|
12
13
|
const batcher_1 = require("../../../../batcher");
|
|
@@ -17,9 +18,9 @@ class Upsert extends dataCommand_1.DataCommand {
|
|
|
17
18
|
async run() {
|
|
18
19
|
const conn = this.ensureOrg().getConnection();
|
|
19
20
|
this.ux.startSpinner('Bulk Upsert');
|
|
20
|
-
await this.
|
|
21
|
+
await this.throwIfPathDoesntExist(this.flags.csvfile);
|
|
21
22
|
const batcher = new batcher_1.Batcher(conn, this.ux);
|
|
22
|
-
const csvStream =
|
|
23
|
+
const csvStream = fs.createReadStream(this.flags.csvfile, { encoding: 'utf-8' });
|
|
23
24
|
const concurrencyMode = this.flags.serial ? 'Serial' : 'Parallel';
|
|
24
25
|
const job = conn.bulk.createJob(this.flags.sobjecttype, 'upsert', {
|
|
25
26
|
extIdField: this.flags.externalid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/bulk/upsert.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yBAAyB;AAEzB,iDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/bulk/upsert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { FlagsConfig } from '@salesforce/command';
|
|
2
|
-
import {
|
|
2
|
+
import { SaveResult } from 'jsforce';
|
|
3
3
|
import { DataCommand } from '../../../../dataCommand';
|
|
4
4
|
export default class Create extends DataCommand {
|
|
5
5
|
static readonly description: string;
|
|
6
6
|
static readonly examples: string[];
|
|
7
7
|
static readonly requiresUsername = true;
|
|
8
8
|
static readonly flagsConfig: FlagsConfig;
|
|
9
|
-
run(): Promise<
|
|
9
|
+
run(): Promise<SaveResult>;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/record/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;AAEzB,iDAAyD;AACzD,2CAA4C;AAE5C,yDAAsD;AAEtD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;AACnF,MAAM,cAAc,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAEpF,MAAqB,MAAO,SAAQ,yBAAW;IA0BtC,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,uBAAuB,IAAI,CAAC,KAAK,CAAC,WAAqB,EAAE,CAAC,CAAC;QAEhF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/record/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;AAEzB,iDAAyD;AACzD,2CAA4C;AAE5C,yDAAsD;AAEtD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;AACnF,MAAM,cAAc,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAEpF,MAAqB,MAAO,SAAQ,yBAAW;IA0BtC,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,uBAAuB,IAAI,CAAC,KAAK,CAAC,WAAqB,EAAE,CAAC,CAAC;QAEhF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAa,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SACvB;aAAM;YACL,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC/B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;;AAzCH,yBA0CC;AAzCwB,kBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,eAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACzD,uBAAgB,GAAG,IAAI,CAAC;AAExB,kBAAW,GAAgB;IAChD,WAAW,EAAE,eAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;KAChD,CAAC;IACF,MAAM,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;KAC3C,CAAC;IACF,aAAa,EAAE,eAAK,CAAC,OAAO,CAAC;QAC3B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;KAClD,CAAC;IACF,OAAO,EAAE,eAAK,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAC5D,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC;CACH,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { FlagsConfig } from '@salesforce/command';
|
|
2
|
-
import {
|
|
2
|
+
import { SaveResult } from 'jsforce';
|
|
3
3
|
import { DataCommand } from '../../../../dataCommand';
|
|
4
4
|
export default class Delete extends DataCommand {
|
|
5
5
|
static readonly description: string;
|
|
6
6
|
static readonly examples: string[];
|
|
7
7
|
static readonly requiresUsername = true;
|
|
8
8
|
static readonly flagsConfig: FlagsConfig;
|
|
9
|
-
run(): Promise<
|
|
9
|
+
run(): Promise<SaveResult>;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/record/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;AAEzB,iDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/record/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;AAEzB,iDAAyD;AACzD,2CAAqD;AAErD,yDAAsD;AAEtD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;AACnF,MAAM,cAAc,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAEpF,MAAqB,MAAO,SAAQ,yBAAW;IA+BtC,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACxC,IAAI,MAAM,GAAG,SAAS,CAAC;QAEvB,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAW,CAAC;YACvG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAa,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YAE5E,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAChE;iBAAM;gBACL,MAAM,GAAG,QAAQ,CAAC;gBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC/D;YACD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,GAAG,QAAQ,CAAC;YAClB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,IAAI,cAAO,CAAE,GAAa,CAAC,IAAI,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;SAChE;IACH,CAAC;;AAxDH,yBAyDC;AAxDwB,kBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,eAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACzD,uBAAgB,GAAG,IAAI,CAAC;AAExB,kBAAW,GAAgB;IAChD,WAAW,EAAE,eAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;KAChD,CAAC;IACF,SAAS,EAAE,eAAK,CAAC,EAAE,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAC7C,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB,CAAC;IACF,KAAK,EAAE,eAAK,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QACzC,SAAS,EAAE,CAAC,WAAW,CAAC;KACzB,CAAC;IACF,aAAa,EAAE,eAAK,CAAC,OAAO,CAAC;QAC3B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;KAClD,CAAC;IACF,OAAO,EAAE,eAAK,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAC5D,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC;CACH,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { FlagsConfig } from '@salesforce/command';
|
|
2
2
|
import { Record } from 'jsforce';
|
|
3
|
-
import { AnyJson } from '@salesforce/ts-types';
|
|
4
3
|
import { DataCommand } from '../../../../dataCommand';
|
|
5
4
|
export default class Get extends DataCommand {
|
|
6
5
|
static readonly description: string;
|
|
7
6
|
static readonly examples: string[];
|
|
8
7
|
static readonly requiresUsername = true;
|
|
9
8
|
static readonly flagsConfig: FlagsConfig;
|
|
10
|
-
run(): Promise<Record
|
|
9
|
+
run(): Promise<Record>;
|
|
11
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/record/get.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;AAEzB,iDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/record/get.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;AAEzB,iDAAyD;AACzD,2CAAqD;AAErD,mDAAiD;AACjD,yDAAsD;AAEtD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;AAChF,MAAM,cAAc,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAEpF,MAAqB,GAAI,SAAQ,yBAAW;IA+BnC,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAqB,CAAC,CAAC;QAC/E,IAAI;YACF,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC,EAAE,CAAW,CAAC;YACjH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,eAAe,CAAC,MAAe,CAAC,CAAC;YAC5D,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,IAAA,oBAAS,EAAC,MAAM,CAAW,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,IAAI,cAAO,CAAE,GAAa,CAAC,IAAI,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;SAChE;IACH,CAAC;;AA9CH,sBA+CC;AA9CwB,eAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,YAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACzD,oBAAgB,GAAG,IAAI,CAAC;AAExB,eAAW,GAAgB;IAChD,WAAW,EAAE,eAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;KAChD,CAAC;IACF,SAAS,EAAE,eAAK,CAAC,EAAE,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAC7C,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB,CAAC;IACF,KAAK,EAAE,eAAK,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QACzC,SAAS,EAAE,CAAC,WAAW,CAAC;KACzB,CAAC;IACF,aAAa,EAAE,eAAK,CAAC,OAAO,CAAC;QAC3B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;KAClD,CAAC;IACF,OAAO,EAAE,eAAK,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAC5D,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC;CACH,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { FlagsConfig } from '@salesforce/command';
|
|
2
|
-
import {
|
|
2
|
+
import { SaveResult } from 'jsforce';
|
|
3
3
|
import { DataCommand } from '../../../../dataCommand';
|
|
4
4
|
export default class Update extends DataCommand {
|
|
5
5
|
static readonly description: string;
|
|
6
6
|
static readonly examples: string[];
|
|
7
7
|
static readonly requiresUsername = true;
|
|
8
8
|
static readonly flagsConfig: FlagsConfig;
|
|
9
|
-
run(): Promise<
|
|
9
|
+
run(): Promise<SaveResult>;
|
|
10
10
|
}
|
|
@@ -23,6 +23,8 @@ class Update extends dataCommand_1.DataCommand {
|
|
|
23
23
|
try {
|
|
24
24
|
const updateObject = this.stringToDictionary(this.flags.values);
|
|
25
25
|
updateObject.Id = sObjectId;
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
27
|
+
// @ts-ignore
|
|
26
28
|
const result = await sobject.update(updateObject);
|
|
27
29
|
if (result.success) {
|
|
28
30
|
this.ux.log(messages.getMessage('updateSuccess', [sObjectId]));
|
|
@@ -39,7 +41,7 @@ class Update extends dataCommand_1.DataCommand {
|
|
|
39
41
|
this.ux.stopSpinner(status);
|
|
40
42
|
const error = err;
|
|
41
43
|
if (Reflect.has(error, 'errorCode') && Reflect.has(error, 'fields')) {
|
|
42
|
-
throw new core_1.
|
|
44
|
+
throw new core_1.SfError(messages.getMessage('updateFailureWithFields', [
|
|
43
45
|
Reflect.get(error, 'errorCode'),
|
|
44
46
|
Reflect.get(error, 'message'),
|
|
45
47
|
Reflect.get(error, 'fields'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/record/update.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/record/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FlagsConfig } from '@salesforce/command';
|
|
2
2
|
import { Connection, Logger } from '@salesforce/core';
|
|
3
|
-
import { Tooling } from '@salesforce/core/lib/connection';
|
|
4
3
|
import { Field, SoqlQueryResult } from '../../../../dataSoqlQueryTypes';
|
|
5
4
|
import { DataCommand } from '../../../../dataCommand';
|
|
6
5
|
/**
|
|
@@ -9,7 +8,7 @@ import { DataCommand } from '../../../../dataCommand';
|
|
|
9
8
|
* Will collect all records and the column metadata of the query
|
|
10
9
|
*/
|
|
11
10
|
export declare class SoqlQuery {
|
|
12
|
-
runSoqlQuery(connection: Connection
|
|
11
|
+
runSoqlQuery(connection: Connection, query: string, logger: Logger): Promise<SoqlQueryResult>;
|
|
13
12
|
/**
|
|
14
13
|
* Utility to fetch the columns involved in a soql query.
|
|
15
14
|
*
|
|
@@ -19,9 +18,9 @@ export declare class SoqlQuery {
|
|
|
19
18
|
* @param connection
|
|
20
19
|
* @param query
|
|
21
20
|
*/
|
|
22
|
-
retrieveColumns(connection: Connection
|
|
21
|
+
retrieveColumns(connection: Connection, query: string): Promise<Field[]>;
|
|
23
22
|
private recursivelyFindColumns;
|
|
24
|
-
private
|
|
23
|
+
private searchSubColumnsRecursively;
|
|
25
24
|
}
|
|
26
25
|
export declare class DataSoqlQueryCommand extends DataCommand {
|
|
27
26
|
static readonly description: string;
|
|
@@ -9,14 +9,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.DataSoqlQueryCommand = exports.SoqlQuery = void 0;
|
|
10
10
|
const os = require("os");
|
|
11
11
|
const command_1 = require("@salesforce/command");
|
|
12
|
-
const core_1 = require("@
|
|
12
|
+
const core_1 = require("@oclif/core");
|
|
13
|
+
const core_2 = require("@salesforce/core");
|
|
13
14
|
const ts_types_1 = require("@salesforce/ts-types");
|
|
14
15
|
const reporters_1 = require("../../../../reporters");
|
|
15
16
|
const dataSoqlQueryTypes_1 = require("../../../../dataSoqlQueryTypes");
|
|
16
17
|
const dataCommand_1 = require("../../../../dataCommand");
|
|
17
|
-
|
|
18
|
-
const messages =
|
|
19
|
-
const commonMessages =
|
|
18
|
+
core_2.Messages.importMessagesDirectory(__dirname);
|
|
19
|
+
const messages = core_2.Messages.loadMessages('@salesforce/plugin-data', 'soql.query');
|
|
20
|
+
const commonMessages = core_2.Messages.loadMessages('@salesforce/plugin-data', 'messages');
|
|
20
21
|
/**
|
|
21
22
|
* Class to handle a soql query
|
|
22
23
|
*
|
|
@@ -24,14 +25,26 @@ const commonMessages = core_1.Messages.loadMessages('@salesforce/plugin-data', '
|
|
|
24
25
|
*/
|
|
25
26
|
class SoqlQuery {
|
|
26
27
|
async runSoqlQuery(connection, query, logger) {
|
|
28
|
+
const config = await core_2.SfdxConfigAggregator.create();
|
|
27
29
|
let columns = [];
|
|
28
30
|
logger.debug('running query');
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
// take the limit from the config, then default 10,000
|
|
32
|
+
const queryOpts = {
|
|
33
|
+
autoFetch: true,
|
|
34
|
+
maxFetch: config.getInfo('maxQueryLimit').value || 10000,
|
|
35
|
+
};
|
|
36
|
+
const records = [];
|
|
37
|
+
const result = await connection.query(query, queryOpts).on('record', (rec) => records.push(rec));
|
|
38
|
+
const totalSize = (0, ts_types_1.getNumber)(result, 'totalSize', 0);
|
|
39
|
+
if (records.length && totalSize > records.length) {
|
|
40
|
+
core_1.CliUx.ux.warn(`The query result is missing ${totalSize - records.length} records due to a ${queryOpts.maxFetch} record limit. Increase the number of records returned by setting the config value "maxQueryLimit" or the environment variable "SFDX_MAX_QUERY_LIMIT" to ${totalSize} or greater than ${queryOpts.maxFetch}.`);
|
|
41
|
+
}
|
|
42
|
+
logger.debug(`Query complete with ${totalSize} records returned`);
|
|
43
|
+
if (totalSize) {
|
|
32
44
|
logger.debug('fetching columns for query');
|
|
33
45
|
columns = await this.retrieveColumns(connection, query);
|
|
34
46
|
}
|
|
47
|
+
result.records = records;
|
|
35
48
|
// remove nextRecordsUrl and force done to true
|
|
36
49
|
delete result.nextRecordsUrl;
|
|
37
50
|
result.done = true;
|
|
@@ -87,12 +100,13 @@ class SoqlQuery {
|
|
|
87
100
|
}
|
|
88
101
|
else {
|
|
89
102
|
for (const subcolumn of column.joinColumns) {
|
|
90
|
-
const allSubFieldNames = this.
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
103
|
+
const allSubFieldNames = this.searchSubColumnsRecursively(subcolumn);
|
|
104
|
+
for (const subFields of allSubFieldNames) {
|
|
105
|
+
columns.push({
|
|
106
|
+
fieldType: dataSoqlQueryTypes_1.FieldType.field,
|
|
107
|
+
name: `${name}.${subFields}`,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
96
110
|
}
|
|
97
111
|
}
|
|
98
112
|
}
|
|
@@ -113,16 +127,18 @@ class SoqlQuery {
|
|
|
113
127
|
}
|
|
114
128
|
return columns;
|
|
115
129
|
}
|
|
116
|
-
|
|
130
|
+
searchSubColumnsRecursively(parent) {
|
|
117
131
|
const column = (0, ts_types_1.ensureJsonMap)(parent);
|
|
118
132
|
const name = (0, ts_types_1.ensureString)(column.columnName);
|
|
119
|
-
|
|
133
|
+
let names = [name];
|
|
120
134
|
const child = (0, ts_types_1.getArray)(parent, 'joinColumns');
|
|
121
135
|
if (child.length) {
|
|
136
|
+
// if we're recursively searching, reset the 'parent' - it gets added back below
|
|
137
|
+
names = [];
|
|
122
138
|
// recursively search for related column names
|
|
123
|
-
child.map((c) => names.push(this.
|
|
139
|
+
child.map((c) => names.push(`${name}.${this.searchSubColumnsRecursively(c).join('.')}`));
|
|
124
140
|
}
|
|
125
|
-
return names
|
|
141
|
+
return names;
|
|
126
142
|
}
|
|
127
143
|
}
|
|
128
144
|
exports.SoqlQuery = SoqlQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/soql/query.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yBAAyB;AACzB,iDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/soql/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,11 +74,9 @@ Import.flagsConfig = {
|
|
|
74
74
|
};
|
|
75
75
|
Import.result = {
|
|
76
76
|
tableColumnData: {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
{ key: 'id', label: 'ID' },
|
|
81
|
-
],
|
|
77
|
+
refId: { header: 'Reference ID' },
|
|
78
|
+
type: { header: 'Type' },
|
|
79
|
+
id: { header: 'ID' },
|
|
82
80
|
},
|
|
83
81
|
};
|
|
84
82
|
//# sourceMappingURL=import.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/tree/import.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;AAEzB,iDAAkF;AAClF,2CAAgE;AAChE,mDAA0D;AAC1D,mEAA8E;AAE9E,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;AAQjF;;GAEG;AACH,MAAqB,MAAO,SAAQ,qBAAW;
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../../src/commands/force/data/tree/import.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,yBAAyB;AAEzB,iDAAkF;AAClF,2CAAgE;AAChE,mDAA0D;AAC1D,mEAA8E;AAE9E,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;AAQjF;;GAEG;AACH,MAAqB,MAAO,SAAQ,qBAAW;IAiCtC,KAAK,CAAC,GAAG;;QACd,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,GAAU,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACzB,iCAAiC;YACjC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACpB,MAAM,WAAW,GAAG,IAAI,oBAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACtE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,wBAAwB;gBACxB,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC;aACzC;YAED,OAAO,MAAM,CAAC;SACf;QAED,MAAM,YAAY,GAAiB;YACjC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAA4B;YACzD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAqB;YAC7C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAc;SAChC,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,eAAe,GAAmB,EAAE,CAAC;QACzC,IAAI,MAAA,aAAa,CAAC,YAAY,0CAAE,MAAM,EAAE;YACtC,eAAe,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvD,MAAM,IAAI,GAAG,IAAA,oBAAS,EAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAC/E,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAkB,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAEvC,OAAO,eAAe,CAAC;IACzB,CAAC;;AAnEH,yBAoEC;AAnEwB,kBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,eAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACzD,uBAAgB,GAAG,IAAI,CAAC;AACxB,kBAAW,GAAgB;IAChD,gBAAgB,EAAE,eAAK,CAAC,KAAK,CAAC;QAC5B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACpD,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE,eAAK,CAAC,QAAQ,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;KACzC,CAAC;IACF,WAAW,EAAE,eAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;QAC/C,MAAM,EAAE,IAAI;KACb,CAAC;IACF,6CAA6C;IAC7C,UAAU,EAAE,eAAK,CAAC,OAAO,CAAC;QACxB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;KAC/C,CAAC;CACH,CAAC;AAEY,aAAM,GAAe;IACjC,eAAe,EAAE;QACf,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;QACjC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;QACxB,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;KACrB;CACF,CAAC"}
|
package/lib/dataCommand.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { SfdxCommand } from '@salesforce/command';
|
|
2
2
|
import { AnyJson, Dictionary } from '@salesforce/ts-types';
|
|
3
|
-
import { Org } from '@salesforce/core';
|
|
4
|
-
import {
|
|
3
|
+
import { Connection, Org } from '@salesforce/core';
|
|
4
|
+
import { Record as jsforceRecord, SaveResult, SObject } from 'jsforce';
|
|
5
|
+
import { Tooling } from '@salesforce/core/lib/org';
|
|
5
6
|
export interface Metric {
|
|
6
7
|
requestPath: string;
|
|
7
8
|
perfMetrics: AnyJson;
|
|
@@ -11,13 +12,18 @@ interface Result {
|
|
|
11
12
|
result: AnyJson;
|
|
12
13
|
perfMetrics?: Metric[];
|
|
13
14
|
}
|
|
15
|
+
declare type ConnectionInternals = {
|
|
16
|
+
_callOptions?: {
|
|
17
|
+
perfOption?: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
14
20
|
export declare abstract class DataCommand extends SfdxCommand {
|
|
15
21
|
private static metrics;
|
|
16
22
|
static addMetric(metric: Metric): void;
|
|
17
23
|
static getMetrics(): Metric[];
|
|
18
24
|
validateIdXorWhereFlags(): void;
|
|
19
|
-
collectErrorMessages(result:
|
|
20
|
-
|
|
25
|
+
collectErrorMessages(result: SaveResult): string;
|
|
26
|
+
throwIfPathDoesntExist(path: string): Promise<void>;
|
|
21
27
|
getJsonResultObject(result?: AnyJson, status?: number): Result;
|
|
22
28
|
/**
|
|
23
29
|
* Necessary where plugin commands are extending a base class that extends SfdxCommand
|
|
@@ -25,8 +31,8 @@ export declare abstract class DataCommand extends SfdxCommand {
|
|
|
25
31
|
* @returns Org
|
|
26
32
|
*/
|
|
27
33
|
ensureOrg(): Org;
|
|
28
|
-
getConnection():
|
|
29
|
-
query(sobject: SObject<unknown>, where: string): Promise<jsforceRecord
|
|
34
|
+
getConnection(): (Tooling | Connection) & ConnectionInternals;
|
|
35
|
+
query(sobject: SObject<unknown>, where: string): Promise<jsforceRecord>;
|
|
30
36
|
protected stringToDictionary(str: string): Dictionary<string | boolean | Record<string, unknown>>;
|
|
31
37
|
protected normalize<T>(results: T | T[]): T;
|
|
32
38
|
protected logNestedObject(obj: never, indentation?: number): void;
|
package/lib/dataCommand.js
CHANGED
|
@@ -7,27 +7,30 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.DataCommand = void 0;
|
|
10
|
+
const fse = require("fs-extra");
|
|
10
11
|
const command_1 = require("@salesforce/command");
|
|
11
12
|
const ts_types_1 = require("@salesforce/ts-types");
|
|
12
13
|
const core_1 = require("@salesforce/core");
|
|
13
|
-
|
|
14
|
-
// @ts-ignore because jsforce doesn't export http-api
|
|
15
|
-
const HttpApi = require("jsforce/lib/http-api");
|
|
14
|
+
const http_api_1 = require("jsforce/lib/http-api");
|
|
16
15
|
core_1.Messages.importMessagesDirectory(__dirname);
|
|
17
16
|
const messages = core_1.Messages.loadMessages('@salesforce/plugin-data', 'messages');
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
18
|
+
const originalRequestMethod = http_api_1.HttpApi.prototype.request;
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
http_api_1.HttpApi.prototype.request = function (req, ...args) {
|
|
22
22
|
this.once('response', (response) => {
|
|
23
|
+
var _a;
|
|
23
24
|
const metrics = response.headers.perfmetrics;
|
|
24
25
|
if (metrics) {
|
|
25
26
|
DataCommand.addMetric({
|
|
26
|
-
requestPath:
|
|
27
|
+
requestPath: `/services${(_a = req === null || req === void 0 ? void 0 : req.url) === null || _a === void 0 ? void 0 : _a.split('/services')[1]}`,
|
|
27
28
|
perfMetrics: JSON.parse(metrics),
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
31
|
});
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
33
|
+
// @ts-ignore
|
|
31
34
|
return originalRequestMethod.call(this, req, ...args);
|
|
32
35
|
};
|
|
33
36
|
/* eslint-enable @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-call*/
|
|
@@ -40,7 +43,7 @@ class DataCommand extends command_1.SfdxCommand {
|
|
|
40
43
|
}
|
|
41
44
|
validateIdXorWhereFlags() {
|
|
42
45
|
if (!this.flags.where && !this.flags.sobjectid) {
|
|
43
|
-
throw new core_1.
|
|
46
|
+
throw new core_1.SfError(messages.getMessage('NeitherSobjectidNorWhereError'), 'NeitherSobjectidNorWhereError', [
|
|
44
47
|
messages.getMessage('NeitherSobjectidNorWhereErrorActions'),
|
|
45
48
|
]);
|
|
46
49
|
}
|
|
@@ -49,15 +52,15 @@ class DataCommand extends command_1.SfdxCommand {
|
|
|
49
52
|
let errors = '';
|
|
50
53
|
if (result.errors) {
|
|
51
54
|
errors = '\nErrors:\n';
|
|
52
|
-
result.errors.
|
|
53
|
-
errors += ' ' + err + '\n';
|
|
55
|
+
result.errors.map((err) => {
|
|
56
|
+
errors += ' ' + (err === null || err === void 0 ? void 0 : err.message) + '\n';
|
|
54
57
|
});
|
|
55
58
|
}
|
|
56
59
|
return errors;
|
|
57
60
|
}
|
|
58
|
-
async
|
|
59
|
-
if (!(await
|
|
60
|
-
throw new core_1.
|
|
61
|
+
async throwIfPathDoesntExist(path) {
|
|
62
|
+
if (!(await fse.pathExists(path))) {
|
|
63
|
+
throw new core_1.SfError(messages.getMessage('PathDoesNotExist', [path]), 'PathDoesNotExist');
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
getJsonResultObject(result = this.result.data, status = process.exitCode || 0) {
|
|
@@ -74,31 +77,43 @@ class DataCommand extends command_1.SfdxCommand {
|
|
|
74
77
|
*/
|
|
75
78
|
ensureOrg() {
|
|
76
79
|
if (!this.org) {
|
|
77
|
-
throw new
|
|
80
|
+
throw new core_1.SfError('This command requires a username. Specify it with the -u parameter or with the "sfdx config:set defaultusername=<username>" command.');
|
|
78
81
|
}
|
|
79
82
|
return this.org;
|
|
80
83
|
}
|
|
81
84
|
getConnection() {
|
|
82
85
|
const safeOrg = this.ensureOrg();
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
87
|
+
// @ts-ignore
|
|
83
88
|
const connection = this.flags.usetoolingapi
|
|
84
89
|
? safeOrg.getConnection().tooling
|
|
85
90
|
: safeOrg.getConnection();
|
|
86
91
|
if (this.flags.perflog) {
|
|
87
|
-
|
|
88
|
-
|
|
92
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
93
|
+
if (!connection._callOptions) {
|
|
94
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
95
|
+
connection._callOptions = {};
|
|
89
96
|
}
|
|
90
|
-
|
|
97
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
98
|
+
connection._callOptions.perfOption = 'MINIMUM';
|
|
91
99
|
}
|
|
92
100
|
return connection;
|
|
93
101
|
}
|
|
102
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
103
|
+
// @ts-ignore enable any typing here
|
|
94
104
|
async query(sobject, where) {
|
|
95
105
|
const queryObject = this.stringToDictionary(where);
|
|
106
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access
|
|
96
107
|
const records = await sobject.find(queryObject, 'id');
|
|
108
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
97
109
|
if (!records || records.length === 0) {
|
|
98
|
-
throw new core_1.
|
|
110
|
+
throw new core_1.SfError('DataRecordGetNoRecord', messages.getMessage('DataRecordGetNoRecord'));
|
|
99
111
|
}
|
|
112
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
100
113
|
if (records.length > 1) {
|
|
101
|
-
throw new core_1.
|
|
114
|
+
throw new core_1.SfError('DataRecordGetMultipleRecords',
|
|
115
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
116
|
+
messages.getMessage('DataRecordGetMultipleRecords', [where, this.flags.sobjecttype, records.length]));
|
|
102
117
|
}
|
|
103
118
|
return this.normalize(records);
|
|
104
119
|
}
|
|
@@ -107,10 +122,10 @@ class DataCommand extends command_1.SfdxCommand {
|
|
|
107
122
|
return this.transformKeyValueSequence(keyValuePairs);
|
|
108
123
|
}
|
|
109
124
|
normalize(results) {
|
|
110
|
-
// jsforce returns
|
|
125
|
+
// jsforce returns SaveResult | SaveResult[]
|
|
111
126
|
// but we're only ever dealing with a single sobject we are guaranteed to
|
|
112
|
-
// get back a single
|
|
113
|
-
// single
|
|
127
|
+
// get back a single SaveResult. Nevertheless, we ensure that it's a
|
|
128
|
+
// single SaveResult to make Typescript happy
|
|
114
129
|
return Array.isArray(results) ? results[0] : results;
|
|
115
130
|
}
|
|
116
131
|
logNestedObject(obj, indentation = 0) {
|