sf-raven 1.0.3 → 1.0.5

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 CHANGED
@@ -1,12 +1,14 @@
1
1
  # sf-raven
2
2
 
3
+ [![NPM](https://img.shields.io/npm/v/sf-raven.svg?label=sf-raven)](https://www.npmjs.com/package/sf-raven) [![Downloads/week](https://img.shields.io/npm/dw/sf-raven.svg)](https://npmjs.org/package/sf-raven) [![License](https://img.shields.io/badge/License-BSD%203--Clause-brightgreen.svg)](https://raw.githubusercontent.com/salesforcecli/sf-raven/main/LICENSE.txt)
4
+
3
5
  A plugin for the Salesforce CLI built by Tom Carman.
4
6
 
5
7
  [sf-raven](https://github.com/tomcarman/sf-raven) now replaces [sfdx-raven](https://github.com/tomcarman/sfdx-raven/).
6
8
 
7
9
  ## Why a new plugin?
8
10
 
9
- [sfdx-raven](https://github.com/tomcarman/sfdx-raven/) was originally built in 2020, but the Salesforce CLI landscape has changed a lot since then. Rather than attempting to [migrate the original plugin from sfdx to sf](https://github.com/salesforcecli/cli/wiki/Migrate-Plugins-Built-for-sfdx), it felt cleaner to start a new project and leverage the new architecture and scaffolding tools that come with the new sf cli.
11
+ I originally built [sfdx-raven](https://github.com/tomcarman/sfdx-raven/) in 2020, but the Salesforce CLI landscape has changed a lot since then. Rather than attempting to [migrate the original plugin from sfdx to sf](https://github.com/salesforcecli/cli/wiki/Migrate-Plugins-Built-for-sfdx), it felt cleaner to start a new project and leverage the new architecture and scaffolding tools that come with the new sf cli.
10
12
 
11
13
  ## Improvements over sfdx-raven
12
14
 
@@ -31,6 +33,11 @@ Full details, usage, examples etc are further down, or can be accessed via `--he
31
33
  - [sf raven object display recordtypes](#sf-raven-object-display-recordtypes)
32
34
  - Show RecordType information for a given sObject.
33
35
 
36
+ #### sf raven audit display
37
+
38
+ - [sf raven audit display](#sf-raven-audit-display)
39
+ - Show recent entries in the Setup Audit Trail.
40
+
34
41
  #### sf raven event
35
42
 
36
43
  - [sf raven event subscribe](#sf-raven-event-subscribe)
@@ -87,8 +94,6 @@ The plugin can be updated to the latest version using
87
94
  - sfdx raven:utils:deploy:branch2org
88
95
  - sfdx raven:utils:diff
89
96
  - sfdx raven:utils:dashboarduser:update - tbc
90
- - Audit Trail inspector
91
- - Allow you to quickly search audit trail by username, metadata item, most recent 50 etc.
92
97
  - Get the sObject Type for a given Id
93
98
  - Get the picklist values for a given picklist
94
99
  - Clone a record
@@ -164,6 +169,46 @@ Person Account PersonAccount 0124J000000YYYYDEF
164
169
  ...
165
170
  ```
166
171
 
172
+ ## sf raven audit display
173
+
174
+ Show recent entries in the Setup Audit Trail.
175
+
176
+ ```
177
+ USAGE
178
+ $ sf raven audit display -o <value> [--json] [-u <value>] [-l <value>]
179
+
180
+ FLAGS
181
+ -l, --limit=<value> [default: 20] The number of audit trail entries to return. Maximum is 2000.
182
+ -o, --target-org=<value> (required) Login username or alias for the target org.
183
+ -u, --username=<value> Username to filter the audit trail by.
184
+
185
+ GLOBAL FLAGS
186
+ --json Format output as json.
187
+
188
+ DESCRIPTION
189
+ Show recent entries in the Setup Audit Trail.
190
+
191
+ Returns the 20 most recent Setup Audit Trail entries, but this can be increased up to 2000 using the optional --limit flag. The results can be filtered by a particular user using the --username flag.
192
+
193
+ EXAMPLES
194
+ $ sf raven audit display --target-org dev
195
+
196
+ $ sf raven audit display --target-org dev --limit 200
197
+
198
+ $ sf raven audit display --target-org dev --username username@salesforce.com.dev
199
+
200
+ $ sf raven audit display --target-org dev --limit 50 --username username@salesforce.com.dev
201
+
202
+
203
+ OUTPUT
204
+
205
+ Date Username Type Action Delegate User
206
+ ─────────────────── ───────────── ──────────── ─────────────────────────────────────────────────────────── ────────────────────
207
+ 2023-09-29 17:23:47 user@dev.com Apex Trigger Changed Account Created Trigger code: AccountTrigger null
208
+ 2023-09-29 17:23:43 user@dev.com Apex Trigger Created Account Created Trigger code: AccountCreatedTrigger null
209
+ ...
210
+ ```
211
+
167
212
  ## sf raven event subscribe
168
213
 
169
214
  Subscribe to Platform Events.
@@ -0,0 +1,15 @@
1
+ import { SfCommand } from '@salesforce/sf-plugins-core';
2
+ export type AuditDisplayResult = {
3
+ result: object;
4
+ };
5
+ export default class AuditDisplay extends SfCommand<AuditDisplayResult> {
6
+ static readonly summary: string;
7
+ static readonly description: string;
8
+ static readonly examples: string[];
9
+ static readonly flags: {
10
+ 'target-org': import("@oclif/core/lib/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ username: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
+ limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
13
+ };
14
+ run(): Promise<AuditDisplayResult>;
15
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
4
+ const core_1 = require("@salesforce/core");
5
+ const dayjs = require("dayjs");
6
+ core_1.Messages.importMessagesDirectory(__dirname);
7
+ const messages = core_1.Messages.loadMessages('sf-raven', 'raven.audit.display');
8
+ class AuditDisplay extends sf_plugins_core_1.SfCommand {
9
+ async run() {
10
+ this.spinner.start('Loading...');
11
+ const { flags } = await this.parse(AuditDisplay);
12
+ const ux = new sf_plugins_core_1.Ux({ jsonEnabled: this.jsonEnabled() });
13
+ const org = flags['target-org'];
14
+ const conn = org.getConnection();
15
+ let query = '';
16
+ if (flags.username) {
17
+ query = `SELECT CreatedDate, CreatedBy.Username,
18
+ Section, Display, DelegateUser
19
+ FROM SetupAuditTrail
20
+ WHERE CreatedBy.Username = '${flags.username}'
21
+ ORDER BY CreatedDate DESC
22
+ LIMIT ${flags.limit}`;
23
+ }
24
+ else {
25
+ query = `SELECT CreatedDate, CreatedBy.Username,
26
+ Section, Display, DelegateUser
27
+ FROM SetupAuditTrail
28
+ ORDER BY CreatedDate DESC
29
+ LIMIT ${flags.limit}`;
30
+ }
31
+ const result = (await conn.query(query));
32
+ result.records.forEach((record) => {
33
+ record.CreatedDate = dayjs(record.CreatedDate).format('YYYY-MM-DD HH:mm:ss');
34
+ });
35
+ this.spinner.stop();
36
+ // Return table of fields
37
+ ux.table(result.records, {
38
+ createdDate: {
39
+ header: 'Date',
40
+ get: (row) => row.CreatedDate,
41
+ },
42
+ createdBy: {
43
+ header: 'Username',
44
+ get: (row) => row.CreatedBy?.Username,
45
+ },
46
+ section: {
47
+ header: 'Type',
48
+ get: (row) => row.Section,
49
+ },
50
+ display: {
51
+ header: 'Action',
52
+ get: (row) => row.Display,
53
+ },
54
+ delegateUser: {
55
+ header: 'Delegate User',
56
+ get: (row) => row.DelegateUser,
57
+ },
58
+ });
59
+ return result;
60
+ }
61
+ }
62
+ AuditDisplay.summary = messages.getMessage('summary');
63
+ AuditDisplay.description = messages.getMessage('description');
64
+ AuditDisplay.examples = messages.getMessages('examples');
65
+ AuditDisplay.flags = {
66
+ 'target-org': sf_plugins_core_1.Flags.requiredOrg({
67
+ summary: messages.getMessage('flags.target-org.summary'),
68
+ char: 'o',
69
+ required: true,
70
+ }),
71
+ username: sf_plugins_core_1.Flags.string({
72
+ summary: messages.getMessage('flags.username.summary'),
73
+ char: 'u',
74
+ }),
75
+ limit: sf_plugins_core_1.Flags.integer({
76
+ summary: messages.getMessage('flags.limit.summary'),
77
+ char: 'l',
78
+ min: 1,
79
+ max: 2000,
80
+ default: 20,
81
+ }),
82
+ };
83
+ exports.default = AuditDisplay;
84
+ //# sourceMappingURL=display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../../../src/commands/raven/audit/display.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ const core_1 = require("@salesforce/core");
5
5
  const lib_1 = require("@salesforce/kit/lib");
6
6
  const emoji = require("node-emoji");
7
7
  core_1.Messages.importMessagesDirectory(__dirname);
8
- const messages = core_1.Messages.loadMessages('sf-raven', 'event.subscribe');
8
+ const messages = core_1.Messages.loadMessages('sf-raven', 'raven.event.subscribe');
9
9
  class EventSubscribe extends sf_plugins_core_1.SfCommand {
10
10
  async run() {
11
11
  const { flags } = await this.parse(EventSubscribe);
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../../src/commands/raven/event/subscribe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../../src/commands/raven/event/subscribe.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
4
4
  const core_1 = require("@salesforce/core");
5
5
  core_1.Messages.importMessagesDirectory(__dirname);
6
- const messages = core_1.Messages.loadMessages('sf-raven', 'object.display.fields');
6
+ const messages = core_1.Messages.loadMessages('sf-raven', 'raven.object.display.fields');
7
7
  class ObjectDisplayFields extends sf_plugins_core_1.SfCommand {
8
8
  async run() {
9
9
  this.spinner.start('Loading...');
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../src/commands/raven/object/display/fields.ts"],"names":[],"mappings":";;AAAA,iEAAmE;AACnE,2CAA4C;AAE5C,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;AAM5E,MAAqB,mBAAoB,SAAQ,2BAAoC;IAkB5E,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAgBjC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,IAAI,oBAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,4GAA4G,KAAK,CAAC,OAAO,6BAA6B,CAAC;QACrK,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAgB,CAAC;QAExD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,yBAAyB;QACzB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK;aAChC;YACD,gBAAgB,EAAE;gBAChB,MAAM,EAAE,gBAAgB;gBACxB,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB;aAC3C;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ;aACnC;SACF,CAAC,CAAC;QAEH,aAAa;QACb,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,kCAAkC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;QAE3G,+CAA+C;QAC/C,OAAO,MAA8C,CAAC;IACxD,CAAC;;AAjEsB,2BAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,+BAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,4BAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAE5C,yBAAK,GAAG;IAC7B,YAAY,EAAE,uBAAK,CAAC,WAAW,CAAC;QAC9B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;QACxD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO,EAAE,uBAAK,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACrD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;kBAhBiB,mBAAmB"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../src/commands/raven/object/display/fields.ts"],"names":[],"mappings":";;AAAA,iEAAmE;AACnE,2CAA4C;AAE5C,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;AAMlF,MAAqB,mBAAoB,SAAQ,2BAAoC;IAkB5E,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAgBjC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,IAAI,oBAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,4GAA4G,KAAK,CAAC,OAAO,6BAA6B,CAAC;QACrK,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAgB,CAAC;QAExD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,yBAAyB;QACzB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK;aAChC;YACD,gBAAgB,EAAE;gBAChB,MAAM,EAAE,gBAAgB;gBACxB,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB;aAC3C;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ;aACnC;SACF,CAAC,CAAC;QAEH,aAAa;QACb,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,kCAAkC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;QAE3G,+CAA+C;QAC/C,OAAO,MAA8C,CAAC;IACxD,CAAC;;AAjEsB,2BAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,+BAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,4BAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAE5C,yBAAK,GAAG;IAC7B,YAAY,EAAE,uBAAK,CAAC,WAAW,CAAC;QAC9B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;QACxD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO,EAAE,uBAAK,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACrD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;kBAhBiB,mBAAmB"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
4
4
  const core_1 = require("@salesforce/core");
5
5
  core_1.Messages.importMessagesDirectory(__dirname);
6
- const messages = core_1.Messages.loadMessages('sf-raven', 'object.display.recordtypes');
6
+ const messages = core_1.Messages.loadMessages('sf-raven', 'raven.object.display.recordtypes');
7
7
  class ObjectDisplayRecordtypes extends sf_plugins_core_1.SfCommand {
8
8
  async run() {
9
9
  this.spinner.start('Loading...');
@@ -1 +1 @@
1
- {"version":3,"file":"recordtypes.js","sourceRoot":"","sources":["../../../../../src/commands/raven/object/display/recordtypes.ts"],"names":[],"mappings":";;AAAA,iEAAmE;AACnE,2CAA4C;AAE5C,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;AAMjF,MAAqB,wBAAyB,SAAQ,2BAAyC;IAkBtF,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAgBjC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,IAAI,oBAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,uEAAuE,KAAK,CAAC,OAAO,GAAG,CAAC;QAEtG,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAgB,CAAC;QAExD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,yBAAyB;QACzB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI;aAC/B;YACD,gBAAgB,EAAE;gBAChB,MAAM,EAAE,gBAAgB;gBACxB,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa;aACxC;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI;gBACZ,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;aAC7B;SACF,CAAC,CAAC;QAEH,aAAa;QACb,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,kCAAkC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;QAEhG,+CAA+C;QAC/C,OAAO,MAAmD,CAAC;IAC7D,CAAC;;AAlEsB,gCAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,oCAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,iCAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAE5C,8BAAK,GAAG;IAC7B,YAAY,EAAE,uBAAK,CAAC,WAAW,CAAC;QAC9B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;QACxD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO,EAAE,uBAAK,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACrD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;kBAhBiB,wBAAwB"}
1
+ {"version":3,"file":"recordtypes.js","sourceRoot":"","sources":["../../../../../src/commands/raven/object/display/recordtypes.ts"],"names":[],"mappings":";;AAAA,iEAAmE;AACnE,2CAA4C;AAE5C,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,kCAAkC,CAAC,CAAC;AAMvF,MAAqB,wBAAyB,SAAQ,2BAAyC;IAkBtF,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAgBjC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,IAAI,oBAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,uEAAuE,KAAK,CAAC,OAAO,GAAG,CAAC;QAEtG,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAgB,CAAC;QAExD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,yBAAyB;QACzB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI;aAC/B;YACD,gBAAgB,EAAE;gBAChB,MAAM,EAAE,gBAAgB;gBACxB,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa;aACxC;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI;gBACZ,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;aAC7B;SACF,CAAC,CAAC;QAEH,aAAa;QACb,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,kCAAkC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;QAEhG,+CAA+C;QAC/C,OAAO,MAAmD,CAAC;IAC7D,CAAC;;AAlEsB,gCAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,oCAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,iCAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAE5C,8BAAK,GAAG;IAC7B,YAAY,EAAE,uBAAK,CAAC,WAAW,CAAC;QAC9B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;QACxD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO,EAAE,uBAAK,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACrD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;kBAhBiB,wBAAwB"}
@@ -0,0 +1,26 @@
1
+ # summary
2
+
3
+ Show recent entries in the Setup Audit Trail.
4
+
5
+ # description
6
+
7
+ Returns the 20 most recent Setup Audit Trail entries, but this can be increased up to 2000 using the optional --limit flag. The results can be filtered by a particular user using the --username flag.
8
+
9
+ # flags.target-org.summary
10
+
11
+ Login username or alias for the target org.
12
+
13
+ # flags.username.summary
14
+
15
+ Username to filter the audit trail by.
16
+
17
+ # flags.limit.summary
18
+
19
+ The number of audit trail entries to return. Maximum is 2000.
20
+
21
+ # examples
22
+
23
+ - <%= config.bin %> <%= command.id %> --target-org dev
24
+ - <%= config.bin %> <%= command.id %> --target-org dev --limit 200
25
+ - <%= config.bin %> <%= command.id %> --target-org dev --username username@salesforce.com.dev
26
+ - <%= config.bin %> <%= command.id %> --target-org dev --limit 50 --username username@salesforce.com.dev
@@ -1,6 +1,56 @@
1
1
  {
2
- "version": "1.0.3",
2
+ "version": "1.0.5",
3
3
  "commands": {
4
+ "raven:audit:display": {
5
+ "id": "raven:audit:display",
6
+ "summary": "Show recent entries in the Setup Audit Trail.",
7
+ "description": "Returns the 20 most recent Setup Audit Trail entries, but this can be increased up to 2000 using the optional --limit flag. The results can be filtered by a particular user using the --username flag.",
8
+ "strict": true,
9
+ "pluginName": "sf-raven",
10
+ "pluginAlias": "sf-raven",
11
+ "pluginType": "core",
12
+ "aliases": [],
13
+ "examples": [
14
+ "<%= config.bin %> <%= command.id %> --target-org dev",
15
+ "<%= config.bin %> <%= command.id %> --target-org dev --limit 200",
16
+ "<%= config.bin %> <%= command.id %> --target-org dev --username username@salesforce.com.dev",
17
+ "<%= config.bin %> <%= command.id %> --target-org dev --limit 50 --username username@salesforce.com.dev"
18
+ ],
19
+ "flags": {
20
+ "json": {
21
+ "name": "json",
22
+ "type": "boolean",
23
+ "description": "Format output as json.",
24
+ "helpGroup": "GLOBAL",
25
+ "allowNo": false
26
+ },
27
+ "target-org": {
28
+ "name": "target-org",
29
+ "type": "option",
30
+ "char": "o",
31
+ "summary": "Login username or alias for the target org.",
32
+ "required": true,
33
+ "multiple": false
34
+ },
35
+ "username": {
36
+ "name": "username",
37
+ "type": "option",
38
+ "char": "u",
39
+ "summary": "Username to filter the audit trail by.",
40
+ "multiple": false
41
+ },
42
+ "limit": {
43
+ "name": "limit",
44
+ "type": "option",
45
+ "char": "l",
46
+ "summary": "The number of audit trail entries to return. Maximum is 2000.",
47
+ "multiple": false,
48
+ "default": 20
49
+ }
50
+ },
51
+ "args": {},
52
+ "hasDynamicHelp": true
53
+ },
4
54
  "raven:event:subscribe": {
5
55
  "id": "raven:event:subscribe",
6
56
  "summary": "Subscribe to Platform Events.",
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "sf-raven",
3
3
  "description": "A custom sf plugin built by @tomcarman",
4
- "version": "1.0.3",
4
+ "version": "1.0.5",
5
5
  "dependencies": {
6
6
  "@oclif/core": "^2.11.8",
7
7
  "@salesforce/core": "^5.2.10",
8
8
  "@salesforce/kit": "^3.0.8",
9
9
  "@salesforce/sf-plugins-core": "^3.1.14",
10
+ "dayjs": "^1.11.10",
10
11
  "node-emoji": "^2.1.0",
11
12
  "pinst": "^3.0.0",
12
13
  "tslib": "^2"
@@ -69,19 +70,42 @@
69
70
  "@oclif/plugin-help"
70
71
  ],
71
72
  "topics": {
72
- "hello": {
73
- "description": "Commands to say hello."
74
- },
75
- "object": {
76
- "description": "description for object",
73
+ "raven": {
74
+ "description": "Various useful commands.",
77
75
  "subtopics": {
78
- "display": {
79
- "description": "description for object.display"
76
+ "audit": {
77
+ "description": "Commands relating to the Setup Audit Trail.",
78
+ "subtopics": {
79
+ "display": {
80
+ "description": "Show recent entries in the Setup Audit Trail."
81
+ }
82
+ }
83
+ },
84
+ "event": {
85
+ "description": "Commands relating to Platform Events.",
86
+ "subtopics": {
87
+ "subscribe": {
88
+ "description": "Subscribe to Platform Events."
89
+ }
90
+ }
91
+ },
92
+ "object": {
93
+ "description": "Commands relating to sObjects",
94
+ "subtopics": {
95
+ "display": {
96
+ "description": "Commands that display information about sObjects",
97
+ "subtopics": {
98
+ "fields": {
99
+ "description": "Show field information for a given sObject."
100
+ },
101
+ "recordtypes": {
102
+ "description": "Show Record Type information for a given sObject."
103
+ }
104
+ }
105
+ }
106
+ }
80
107
  }
81
108
  }
82
- },
83
- "event": {
84
- "description": "description for event"
85
109
  }
86
110
  }
87
111
  },
@@ -94,7 +118,6 @@
94
118
  "docs": "sf-docs",
95
119
  "format": "wireit",
96
120
  "lint": "wireit",
97
- "_postinstall": "yarn husky install",
98
121
  "postpack": "pinst --enable && shx rm -f oclif.manifest.json",
99
122
  "prepack": "pinst --disable && sf-prepack",
100
123
  "test": "wireit",