sf-raven 1.2.0 → 1.2.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/README.md +66 -66
- package/lib/commands/raven/object/display/fields.d.ts +1 -0
- package/lib/commands/raven/object/display/fields.js +82 -20
- package/lib/commands/raven/object/display/fields.js.map +1 -1
- package/lib/commands/raven/object/display/recordtypes.d.ts +1 -0
- package/lib/commands/raven/object/display/recordtypes.js +82 -20
- package/lib/commands/raven/object/display/recordtypes.js.map +1 -1
- package/messages/raven.object.display.fields.md +13 -1
- package/messages/raven.object.display.recordtypes.md +13 -1
- package/oclif.lock +1021 -1280
- package/oclif.manifest.json +25 -5
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -1,28 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
[sf-raven](https://
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="media/logo/sf-raven-roundrect.png" width="300px" align="center" alt="sf raven logo" />
|
|
3
|
+
<br/><br/>
|
|
4
|
+
<b>Salesforce CLI plugin by @tomcarman</b>
|
|
5
|
+
<br/><br/>
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/sf-raven) [](https://npmjs.org/package/sf-raven) [](https://raw.githubusercontent.com/salesforcecli/sf-raven/main/LICENSE.txt)
|
|
8
|
+
|
|
9
|
+
</div>
|
|
10
|
+
</br>
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
* [Features](#features)
|
|
15
|
+
* [Install](#install)
|
|
16
|
+
* [Command Reference](#command-reference)
|
|
17
|
+
* [sf raven object display fields](#sf-raven-object-display-fields)
|
|
18
|
+
* [sf raven object display recordtypes](#sf-raven-object-display-recordtypes)
|
|
19
|
+
* [sf raven pull](#sf-raven-pull)
|
|
20
|
+
* [sf raven pull remote](#sf-raven-pull-remote)
|
|
21
|
+
* [sf raven deploy cancel](#sf-raven-deploy-cancel)
|
|
22
|
+
* [sf raven query ids](#sf-raven-query-ids)
|
|
23
|
+
* [sf raven audit display](#sf-raven-audit-display)
|
|
24
|
+
* [sf raven event subscribe](#sf-raven-event-subscribe)
|
|
25
|
+
|
|
26
|
+
</br>
|
|
27
|
+
|
|
28
|
+
## Features
|
|
26
29
|
|
|
27
30
|
Full details, usage, examples etc are further down, or can be accessed via `--help` on the commands.
|
|
28
31
|
|
|
@@ -41,12 +44,12 @@ Full details, usage, examples etc are further down, or can be accessed via `--he
|
|
|
41
44
|
#### sf raven event
|
|
42
45
|
|
|
43
46
|
- [sf raven event subscribe](#sf-raven-event-subscribe)
|
|
44
|
-
- Subscribe to Platform Events.
|
|
47
|
+
- Subscribe to Platform Events, streamed to your terminal.
|
|
45
48
|
|
|
46
49
|
#### sf raven deploy
|
|
47
50
|
|
|
48
51
|
- [sf raven deploy cancel](#sf-raven-deploy-cancel)
|
|
49
|
-
-
|
|
52
|
+
- Query an org for pending or in progress Salesforce deployments, and cancel them.
|
|
50
53
|
|
|
51
54
|
#### sf raven query
|
|
52
55
|
|
|
@@ -56,9 +59,9 @@ Full details, usage, examples etc are further down, or can be accessed via `--he
|
|
|
56
59
|
#### sf raven pull
|
|
57
60
|
|
|
58
61
|
- [sf raven pull](#sf-raven-pull)
|
|
59
|
-
-
|
|
62
|
+
- Update Salesforce metadata into the local project via a fuzzy finder.
|
|
60
63
|
- [sf raven pull remote](#sf-raven-pull-remote)
|
|
61
|
-
-
|
|
64
|
+
- Retrieve Salesforce metadata that exists in the org but not locally, via a fuzzy finder.
|
|
62
65
|
|
|
63
66
|
<!-- #### sfdx:raven:utils
|
|
64
67
|
* [sfdx raven:utils:deploy:branch2org](#sfdx-ravenutilsdeploybranch2org)
|
|
@@ -68,7 +71,10 @@ Full details, usage, examples etc are further down, or can be accessed via `--he
|
|
|
68
71
|
* [sfdx raven:utils:dashboarduser:update](#sfdx-ravenutilsdashboarduserupdate)
|
|
69
72
|
* Change the running user of Dashboards -->
|
|
70
73
|
|
|
71
|
-
##
|
|
74
|
+
## Install
|
|
75
|
+
|
|
76
|
+
### Dependencies
|
|
77
|
+
* [fzf](https://github.com/junegunn/fzf) is required for the [sf raven pull](#sf-raven-pull) commands, and should be available on your path. (IMO they are probably the most useful commands in this plugin, so its worth setting up fzf if you don't have it.)
|
|
72
78
|
|
|
73
79
|
### Quick Install
|
|
74
80
|
|
|
@@ -91,41 +97,26 @@ The plugin can be updated to the latest version using
|
|
|
91
97
|
3. Install npm modules: `npm install`
|
|
92
98
|
4. Link the plugin: `sfdx plugins:link .`
|
|
93
99
|
|
|
94
|
-
|
|
100
|
+
### Compatibility
|
|
95
101
|
|
|
96
102
|
- **macOS**
|
|
97
103
|
- Plugin has been built on macOS and will always run on macOS
|
|
98
104
|
|
|
99
|
-
<!-- * **Windows**
|
|
100
|
-
* Work on Windows 10 1803+ (this is that latest build I have access to)
|
|
101
|
-
* Known Issues:
|
|
102
|
-
* Emoji will not work in cmd.exe / powershell - so you may seem some funny characters when running the plugin - this can be ignored. Emoji may work in Windows Terminal, but I have not managed to test yet
|
|
103
|
-
* I don't think 'diff' is available on windows cli, so `sfdx:raven:utils:diff` is not likely to work.
|
|
104
|
-
|
|
105
|
-
* **Linux**
|
|
106
|
-
* Only tested on an Ubuntu installation on [WSL](https://docs.microsoft.com/en-us/windows/wsl/about), but should work. -->
|
|
107
|
-
|
|
108
|
-
## Todo
|
|
109
105
|
|
|
110
|
-
|
|
111
|
-
- sfdx raven:utils:deploy:branch2org
|
|
112
|
-
- sfdx raven:utils:diff
|
|
113
|
-
- sfdx raven:utils:dashboarduser:update - tbc
|
|
114
|
-
- Get the sObject Type for a given Id
|
|
115
|
-
- Get the picklist values for a given picklist
|
|
116
|
-
- Clone a record
|
|
106
|
+
## Command Reference
|
|
117
107
|
|
|
118
|
-
|
|
108
|
+
### sf raven object display fields
|
|
119
109
|
|
|
120
110
|
Show field information for a given sObject.
|
|
121
111
|
|
|
122
112
|
```
|
|
123
113
|
USAGE
|
|
124
|
-
$ sf raven object display fields -o <value> -s <value> [--json]
|
|
114
|
+
$ sf raven object display fields -o <value> -s <value> [--json] [-c <value>]
|
|
125
115
|
|
|
126
116
|
FLAGS
|
|
117
|
+
-c, --csv=<value> Path to write field information as CSV. When supplied, table output is suppressed.
|
|
127
118
|
-o, --target-org=<value> (required) Login username or alias for the target org.
|
|
128
|
-
-s, --sobject=<value> (required) The API name of the sObject that you want to view fields for.
|
|
119
|
+
-s, --sobject=<value> (required) The API name of the sObject that you want to view fields for. Use a comma-delimited list to query multiple objects.
|
|
129
120
|
|
|
130
121
|
GLOBAL FLAGS
|
|
131
122
|
--json Format output as json.
|
|
@@ -140,6 +131,10 @@ EXAMPLES
|
|
|
140
131
|
|
|
141
132
|
$ sf raven object display fields --target-org dev --sobject My_Custom_Object__c
|
|
142
133
|
|
|
134
|
+
$ sf raven object display fields --target-org dev --sobject Account,Contact
|
|
135
|
+
|
|
136
|
+
$ sf raven object display fields --target-org dev --sobject Account --csv account-fields.csv
|
|
137
|
+
|
|
143
138
|
|
|
144
139
|
OUTPUT
|
|
145
140
|
|
|
@@ -151,17 +146,18 @@ Annual Revenue AnnualRevenue Currency(18, 0)
|
|
|
151
146
|
...
|
|
152
147
|
```
|
|
153
148
|
|
|
154
|
-
|
|
149
|
+
### sf raven object display recordtypes
|
|
155
150
|
|
|
156
151
|
Show RecordType information for a given sObject.
|
|
157
152
|
|
|
158
153
|
```
|
|
159
154
|
USAGE
|
|
160
|
-
$ sf raven object display recordtypes -o <value> -s <value> [--json]
|
|
155
|
+
$ sf raven object display recordtypes -o <value> -s <value> [--json] [-c <value>]
|
|
161
156
|
|
|
162
157
|
FLAGS
|
|
158
|
+
-c, --csv=<value> Path to write Record Type information as CSV. When supplied, table output is suppressed.
|
|
163
159
|
-o, --target-org=<value> (required) Login username or alias for the target org.
|
|
164
|
-
-s, --sobject=<value> (required) The API name of the sObject that you want to view Record Types for.
|
|
160
|
+
-s, --sobject=<value> (required) The API name of the sObject that you want to view Record Types for. Use a comma-delimited list to query multiple objects.
|
|
165
161
|
|
|
166
162
|
GLOBAL FLAGS
|
|
167
163
|
--json Format output as json.
|
|
@@ -176,6 +172,10 @@ EXAMPLES
|
|
|
176
172
|
|
|
177
173
|
$ sf raven object display recordtypes --target-org dev --sobject My_Custom_Object__c
|
|
178
174
|
|
|
175
|
+
$ sf raven object display recordtypes --target-org dev --sobject Account,Opportunity
|
|
176
|
+
|
|
177
|
+
$ sf raven object display recordtypes --target-org dev --sobject Account --csv account-record-types.csv
|
|
178
|
+
|
|
179
179
|
|
|
180
180
|
OUTPUT
|
|
181
181
|
|
|
@@ -186,9 +186,9 @@ Person Account PersonAccount 0124J000000YYYYDEF
|
|
|
186
186
|
...
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
-
|
|
189
|
+
### sf raven pull
|
|
190
190
|
|
|
191
|
-
|
|
191
|
+
Update Salesforce metadata into the local project via a fuzzy finder.
|
|
192
192
|
|
|
193
193
|
```
|
|
194
194
|
USAGE
|
|
@@ -214,9 +214,9 @@ EXAMPLES
|
|
|
214
214
|
$ sf raven pull --target-org dev --all
|
|
215
215
|
```
|
|
216
216
|
|
|
217
|
-
|
|
217
|
+
### sf raven pull remote
|
|
218
218
|
|
|
219
|
-
|
|
219
|
+
Retrieve Salesforce metadata that exists in the org but not locally, via a fuzzy finder.
|
|
220
220
|
|
|
221
221
|
```
|
|
222
222
|
USAGE
|
|
@@ -237,7 +237,7 @@ EXAMPLES
|
|
|
237
237
|
$ sf raven pull remote --target-org dev
|
|
238
238
|
```
|
|
239
239
|
|
|
240
|
-
|
|
240
|
+
### sf raven deploy cancel
|
|
241
241
|
|
|
242
242
|
Cancel a pending or in-progress Salesforce deploy.
|
|
243
243
|
|
|
@@ -260,7 +260,7 @@ EXAMPLES
|
|
|
260
260
|
$ sf raven deploy cancel --target-org dev
|
|
261
261
|
```
|
|
262
262
|
|
|
263
|
-
|
|
263
|
+
### sf raven query ids
|
|
264
264
|
|
|
265
265
|
Run a SOQL query against a large list of Salesforce IDs.
|
|
266
266
|
|
|
@@ -292,7 +292,7 @@ EXAMPLES
|
|
|
292
292
|
$ sf raven query ids --file account-ids.txt --query "SELECT Id, Name FROM Account WHERE Id IN {ids}" --csv results.csv
|
|
293
293
|
```
|
|
294
294
|
|
|
295
|
-
|
|
295
|
+
### sf raven audit display
|
|
296
296
|
|
|
297
297
|
Show recent entries in the Setup Audit Trail.
|
|
298
298
|
|
|
@@ -332,9 +332,9 @@ Date Username Type Action
|
|
|
332
332
|
...
|
|
333
333
|
```
|
|
334
334
|
|
|
335
|
-
|
|
335
|
+
### sf raven event subscribe
|
|
336
336
|
|
|
337
|
-
Subscribe to Platform Events.
|
|
337
|
+
Subscribe to Platform Events, streamed to your terminal.
|
|
338
338
|
|
|
339
339
|
```
|
|
340
340
|
USAGE
|
|
@@ -381,7 +381,7 @@ OUTPUT
|
|
|
381
381
|
}
|
|
382
382
|
```
|
|
383
383
|
|
|
384
|
-
<!--
|
|
384
|
+
<!-- ### sfdx raven:utils:deploy:branch2org
|
|
385
385
|
|
|
386
386
|
Deploys a git branch to an org. Assumes you have git installed the neccessary access to the repo you are trying to clone (eg. you can run `git clone ...`), and that the branch is in a source-format sfdx project structure.
|
|
387
387
|
|
|
@@ -437,7 +437,7 @@ OUTPUT
|
|
|
437
437
|
https://wise-hawk-22uzds-dev-ed.my.salesforce.com/lightning/setup/DeployStatus/page?address=%2Fchangemgmt%2FmonitorDeploymentsDetails.apexp%3FasyncId%3D0Af4K00000BHVuASAX
|
|
438
438
|
```
|
|
439
439
|
|
|
440
|
-
|
|
440
|
+
### sfdx raven:utils:diff
|
|
441
441
|
|
|
442
442
|
Allows you to quickly compare metadata of files between two orgs. Intended to be used for quick compares of single
|
|
443
443
|
(or possibly a few) files of the same metadata type, rather than a full org compare (there are better tools for
|
|
@@ -501,7 +501,7 @@ OUTPUT
|
|
|
501
501
|
<img width="795" alt="diff" src="https://user-images.githubusercontent.com/1554713/111902572-057edf80-8a36-11eb-8c45-56c09c290e89.png">
|
|
502
502
|
|
|
503
503
|
|
|
504
|
-
|
|
504
|
+
### sfdx raven:utils:dashboarduser:update
|
|
505
505
|
|
|
506
506
|
Updates the "Running User" of Dashboards from a given user, to an alternate given user. Useful for mass-updating Dashboards when a user is deactivated.
|
|
507
507
|
|
|
@@ -9,6 +9,7 @@ export default class ObjectDisplayFields extends SfCommand<ObjectDisplayFieldsRe
|
|
|
9
9
|
static readonly flags: {
|
|
10
10
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
11
|
sobject: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
csv: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
13
|
};
|
|
13
14
|
run(): Promise<ObjectDisplayFieldsResult>;
|
|
14
15
|
}
|
|
@@ -7,6 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
import { writeFileSync } from 'node:fs';
|
|
10
11
|
import { SfCommand, Flags, Ux } from '@salesforce/sf-plugins-core';
|
|
11
12
|
import { Messages } from '@salesforce/core';
|
|
12
13
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
@@ -14,31 +15,42 @@ const messages = Messages.loadMessages('sf-raven', 'raven.object.display.fields'
|
|
|
14
15
|
class ObjectDisplayFields extends SfCommand {
|
|
15
16
|
run() {
|
|
16
17
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
this.spinner.start('Loading...');
|
|
18
18
|
const { flags } = yield this.parse(ObjectDisplayFields);
|
|
19
19
|
const ux = new Ux({ jsonEnabled: this.jsonEnabled() });
|
|
20
20
|
const org = flags['target-org'];
|
|
21
21
|
const conn = org.getConnection();
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
this.spinner.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
const sobjects = parseSobjects(flags.sobject);
|
|
23
|
+
const records = [];
|
|
24
|
+
this.spinner.start('Loading...');
|
|
25
|
+
try {
|
|
26
|
+
yield sobjects.reduce((previousQuery, sobject) => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
yield previousQuery;
|
|
28
|
+
const query = `SELECT EntityDefinition.QualifiedApiName, Label, QualifiedApiName, DataType FROM FieldDefinition WHERE EntityDefinition.QualifiedApiName = '${sobject}' ORDER BY QualifiedApiName`;
|
|
29
|
+
const queryResult = (yield conn.query(query));
|
|
30
|
+
records.push(...queryResult.records);
|
|
31
|
+
}), Promise.resolve());
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
this.spinner.stop();
|
|
35
|
+
}
|
|
36
|
+
const result = {
|
|
37
|
+
totalSize: records.length,
|
|
38
|
+
done: true,
|
|
39
|
+
records,
|
|
40
|
+
};
|
|
41
|
+
const includeObjectColumn = sobjects.length > 1;
|
|
42
|
+
if (flags.csv) {
|
|
43
|
+
writeCsv(flags.csv, result.records, includeObjectColumn);
|
|
44
|
+
ux.log(messages.getMessage('info.csvWritten', [result.records.length.toString(), flags.csv]));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Return table of fields
|
|
48
|
+
ux.table(result.records, getTableColumns(includeObjectColumn));
|
|
49
|
+
}
|
|
40
50
|
// Return url
|
|
41
|
-
|
|
51
|
+
if (sobjects.length === 1) {
|
|
52
|
+
ux.log(`\n${conn.instanceUrl}/lightning/setup/ObjectManager/${sobjects[0]}/FieldsAndRelationships/view`);
|
|
53
|
+
}
|
|
42
54
|
// Return an object to be displayed with --json
|
|
43
55
|
return result;
|
|
44
56
|
});
|
|
@@ -58,6 +70,56 @@ ObjectDisplayFields.flags = {
|
|
|
58
70
|
char: 's',
|
|
59
71
|
required: true,
|
|
60
72
|
}),
|
|
73
|
+
csv: Flags.file({
|
|
74
|
+
summary: messages.getMessage('flags.csv.summary'),
|
|
75
|
+
char: 'c',
|
|
76
|
+
}),
|
|
61
77
|
};
|
|
62
78
|
export default ObjectDisplayFields;
|
|
79
|
+
const parseSobjects = (sobjectFlag) => {
|
|
80
|
+
const sobjects = sobjectFlag
|
|
81
|
+
.split(',')
|
|
82
|
+
.map((sobject) => sobject.trim())
|
|
83
|
+
.filter((sobject) => sobject.length > 0);
|
|
84
|
+
return Array.from(new Set(sobjects));
|
|
85
|
+
};
|
|
86
|
+
const getTableColumns = (includeObjectColumn) => (Object.assign(Object.assign({}, (includeObjectColumn
|
|
87
|
+
? {
|
|
88
|
+
object: {
|
|
89
|
+
header: 'Object',
|
|
90
|
+
get: (row) => row.EntityDefinition.QualifiedApiName,
|
|
91
|
+
},
|
|
92
|
+
}
|
|
93
|
+
: {})), { label: {
|
|
94
|
+
header: 'Name',
|
|
95
|
+
get: (row) => row.Label,
|
|
96
|
+
}, qualifiedApiName: {
|
|
97
|
+
header: 'Developer Name',
|
|
98
|
+
get: (row) => row.QualifiedApiName,
|
|
99
|
+
}, dataType: {
|
|
100
|
+
header: 'Type',
|
|
101
|
+
get: (row) => row.DataType,
|
|
102
|
+
} }));
|
|
103
|
+
const writeCsv = (filePath, records, includeObjectColumn) => {
|
|
104
|
+
const columns = includeObjectColumn ? ['Object', 'Name', 'Developer Name', 'Type'] : ['Name', 'Developer Name', 'Type'];
|
|
105
|
+
const rows = [
|
|
106
|
+
columns.map(escapeCsvValue).join(','),
|
|
107
|
+
...records.map((record) => (includeObjectColumn
|
|
108
|
+
? [record.EntityDefinition.QualifiedApiName, record.Label, record.QualifiedApiName, record.DataType]
|
|
109
|
+
: [record.Label, record.QualifiedApiName, record.DataType])
|
|
110
|
+
.map(escapeCsvValue)
|
|
111
|
+
.join(',')),
|
|
112
|
+
];
|
|
113
|
+
writeFileSync(filePath, `${rows.join('\n')}\n`, 'utf8');
|
|
114
|
+
};
|
|
115
|
+
const escapeCsvValue = (value) => {
|
|
116
|
+
if (value == null) {
|
|
117
|
+
return '';
|
|
118
|
+
}
|
|
119
|
+
const stringValue = String(value);
|
|
120
|
+
if (/[",\n\r]/.test(stringValue)) {
|
|
121
|
+
return `"${stringValue.replace(/"/g, '""')}"`;
|
|
122
|
+
}
|
|
123
|
+
return stringValue;
|
|
124
|
+
};
|
|
63
125
|
//# sourceMappingURL=fields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../src/commands/raven/object/display/fields.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;AAMlF,MAAqB,mBAAoB,SAAQ,SAAoC;
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../src/commands/raven/object/display/fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export default class ObjectDisplayRecordtypes extends SfCommand<ObjectDisplayRec
|
|
|
9
9
|
static readonly flags: {
|
|
10
10
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
11
|
sobject: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
csv: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
13
|
};
|
|
13
14
|
run(): Promise<ObjectDisplayRecordtypesResult>;
|
|
14
15
|
}
|
|
@@ -7,6 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
import { writeFileSync } from 'node:fs';
|
|
10
11
|
import { SfCommand, Flags, Ux } from '@salesforce/sf-plugins-core';
|
|
11
12
|
import { Messages } from '@salesforce/core';
|
|
12
13
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
@@ -14,31 +15,42 @@ const messages = Messages.loadMessages('sf-raven', 'raven.object.display.recordt
|
|
|
14
15
|
class ObjectDisplayRecordtypes extends SfCommand {
|
|
15
16
|
run() {
|
|
16
17
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
this.spinner.start('Loading...');
|
|
18
18
|
const { flags } = yield this.parse(ObjectDisplayRecordtypes);
|
|
19
19
|
const ux = new Ux({ jsonEnabled: this.jsonEnabled() });
|
|
20
20
|
const org = flags['target-org'];
|
|
21
21
|
const conn = org.getConnection();
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
this.spinner.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
const sobjects = parseSobjects(flags.sobject);
|
|
23
|
+
const records = [];
|
|
24
|
+
this.spinner.start('Loading...');
|
|
25
|
+
try {
|
|
26
|
+
yield sobjects.reduce((previousQuery, sobject) => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
yield previousQuery;
|
|
28
|
+
const query = `SELECT SObjectType, Name, DeveloperName, Id FROM RecordType WHERE SObjectType = '${sobject}' ORDER BY DeveloperName`;
|
|
29
|
+
const queryResult = (yield conn.query(query));
|
|
30
|
+
records.push(...queryResult.records.map((record) => (Object.assign(Object.assign({}, record), { SObjectType: sobject }))));
|
|
31
|
+
}), Promise.resolve());
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
this.spinner.stop();
|
|
35
|
+
}
|
|
36
|
+
const result = {
|
|
37
|
+
totalSize: records.length,
|
|
38
|
+
done: true,
|
|
39
|
+
records,
|
|
40
|
+
};
|
|
41
|
+
const includeObjectColumn = sobjects.length > 1;
|
|
42
|
+
if (flags.csv) {
|
|
43
|
+
writeCsv(flags.csv, result.records, includeObjectColumn);
|
|
44
|
+
ux.log(messages.getMessage('info.csvWritten', [result.records.length.toString(), flags.csv]));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Return table of fields
|
|
48
|
+
ux.table(result.records, getTableColumns(includeObjectColumn));
|
|
49
|
+
}
|
|
40
50
|
// Return url
|
|
41
|
-
|
|
51
|
+
if (sobjects.length === 1) {
|
|
52
|
+
ux.log(`\n${conn.instanceUrl}/lightning/setup/ObjectManager/${sobjects[0]}/RecordTypes/view`);
|
|
53
|
+
}
|
|
42
54
|
// Return an object to be displayed with --json
|
|
43
55
|
return result;
|
|
44
56
|
});
|
|
@@ -58,6 +70,56 @@ ObjectDisplayRecordtypes.flags = {
|
|
|
58
70
|
char: 's',
|
|
59
71
|
required: true,
|
|
60
72
|
}),
|
|
73
|
+
csv: Flags.file({
|
|
74
|
+
summary: messages.getMessage('flags.csv.summary'),
|
|
75
|
+
char: 'c',
|
|
76
|
+
}),
|
|
61
77
|
};
|
|
62
78
|
export default ObjectDisplayRecordtypes;
|
|
79
|
+
const parseSobjects = (sobjectFlag) => {
|
|
80
|
+
const sobjects = sobjectFlag
|
|
81
|
+
.split(',')
|
|
82
|
+
.map((sobject) => sobject.trim())
|
|
83
|
+
.filter((sobject) => sobject.length > 0);
|
|
84
|
+
return Array.from(new Set(sobjects));
|
|
85
|
+
};
|
|
86
|
+
const getTableColumns = (includeObjectColumn) => (Object.assign(Object.assign({}, (includeObjectColumn
|
|
87
|
+
? {
|
|
88
|
+
object: {
|
|
89
|
+
header: 'Object',
|
|
90
|
+
get: (row) => row.SObjectType,
|
|
91
|
+
},
|
|
92
|
+
}
|
|
93
|
+
: {})), { label: {
|
|
94
|
+
header: 'Name',
|
|
95
|
+
get: (row) => row.Name,
|
|
96
|
+
}, qualifiedApiName: {
|
|
97
|
+
header: 'Developer Name',
|
|
98
|
+
get: (row) => row.DeveloperName,
|
|
99
|
+
}, dataType: {
|
|
100
|
+
header: 'Id',
|
|
101
|
+
get: (row) => row.Id,
|
|
102
|
+
} }));
|
|
103
|
+
const writeCsv = (filePath, records, includeObjectColumn) => {
|
|
104
|
+
const columns = includeObjectColumn ? ['Object', 'Name', 'Developer Name', 'Id'] : ['Name', 'Developer Name', 'Id'];
|
|
105
|
+
const rows = [
|
|
106
|
+
columns.map(escapeCsvValue).join(','),
|
|
107
|
+
...records.map((record) => (includeObjectColumn
|
|
108
|
+
? [record.SObjectType, record.Name, record.DeveloperName, record.Id]
|
|
109
|
+
: [record.Name, record.DeveloperName, record.Id])
|
|
110
|
+
.map(escapeCsvValue)
|
|
111
|
+
.join(',')),
|
|
112
|
+
];
|
|
113
|
+
writeFileSync(filePath, `${rows.join('\n')}\n`, 'utf8');
|
|
114
|
+
};
|
|
115
|
+
const escapeCsvValue = (value) => {
|
|
116
|
+
if (value == null) {
|
|
117
|
+
return '';
|
|
118
|
+
}
|
|
119
|
+
const stringValue = String(value);
|
|
120
|
+
if (/[",\n\r]/.test(stringValue)) {
|
|
121
|
+
return `"${stringValue.replace(/"/g, '""')}"`;
|
|
122
|
+
}
|
|
123
|
+
return stringValue;
|
|
124
|
+
};
|
|
63
125
|
//# sourceMappingURL=recordtypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordtypes.js","sourceRoot":"","sources":["../../../../../src/commands/raven/object/display/recordtypes.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,kCAAkC,CAAC,CAAC;AAMvF,MAAqB,wBAAyB,SAAQ,SAAyC;
|
|
1
|
+
{"version":3,"file":"recordtypes.js","sourceRoot":"","sources":["../../../../../src/commands/raven/object/display/recordtypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,10 +12,22 @@ Login username or alias for the target org.
|
|
|
12
12
|
|
|
13
13
|
# flags.sobject.summary
|
|
14
14
|
|
|
15
|
-
The API name of the sObject that you want to view fields for.
|
|
15
|
+
The API name of the sObject that you want to view fields for. Use a comma-delimited list to query multiple objects.
|
|
16
|
+
|
|
17
|
+
# flags.csv.summary
|
|
18
|
+
|
|
19
|
+
Path to write field information as CSV. When supplied, table output is suppressed.
|
|
20
|
+
|
|
21
|
+
# info.csvWritten
|
|
22
|
+
|
|
23
|
+
Wrote %s fields to %s.
|
|
16
24
|
|
|
17
25
|
# examples
|
|
18
26
|
|
|
19
27
|
- <%= config.bin %> <%= command.id %> --target-org dev --sobject Account
|
|
20
28
|
|
|
21
29
|
- <%= config.bin %> <%= command.id %> --target-org dev --sobject My_Custom_Object\_\_c
|
|
30
|
+
|
|
31
|
+
- <%= config.bin %> <%= command.id %> --target-org dev --sobject Account,Contact
|
|
32
|
+
|
|
33
|
+
- <%= config.bin %> <%= command.id %> --target-org dev --sobject Account --csv account-fields.csv
|
|
@@ -12,10 +12,22 @@ Login username or alias for the target org.
|
|
|
12
12
|
|
|
13
13
|
# flags.sobject.summary
|
|
14
14
|
|
|
15
|
-
The API name of the sObject that you want to view Record Types for.
|
|
15
|
+
The API name of the sObject that you want to view Record Types for. Use a comma-delimited list to query multiple objects.
|
|
16
|
+
|
|
17
|
+
# flags.csv.summary
|
|
18
|
+
|
|
19
|
+
Path to write Record Type information as CSV. When supplied, table output is suppressed.
|
|
20
|
+
|
|
21
|
+
# info.csvWritten
|
|
22
|
+
|
|
23
|
+
Wrote %s Record Types to %s.
|
|
16
24
|
|
|
17
25
|
# examples
|
|
18
26
|
|
|
19
27
|
- <%= config.bin %> <%= command.id %> --target-org dev --sobject Account
|
|
20
28
|
|
|
21
29
|
- <%= config.bin %> <%= command.id %> --target-org dev --sobject My_Custom_Object\_\_c
|
|
30
|
+
|
|
31
|
+
- <%= config.bin %> <%= command.id %> --target-org dev --sobject Account,Opportunity
|
|
32
|
+
|
|
33
|
+
- <%= config.bin %> <%= command.id %> --target-org dev --sobject Account --csv account-record-types.csv
|