sf-debug-log 0.1.2 → 0.2.0

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.
@@ -1,11 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /* eslint-disable class-methods-use-this */
4
- const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
5
- const core_1 = require("@salesforce/core");
6
- const utils_1 = require("../../utils");
7
- core_1.Messages.importMessagesDirectory(__dirname);
8
- const messages = core_1.Messages.loadMessages('sf-debug-log', 'debuglevel.new');
2
+ import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
3
+ import { Messages } from '@salesforce/core';
4
+ import { select } from '@inquirer/prompts';
5
+ import { createDebugLevel } from '../../utils.js';
6
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
7
+ const messages = Messages.loadMessages('sf-debug-log', 'debuglevel.new');
9
8
  const DEBUG_CATEGORIES = [
10
9
  'Database',
11
10
  'Workflow',
@@ -19,33 +18,38 @@ const DEBUG_CATEGORIES = [
19
18
  'Nba',
20
19
  ];
21
20
  const DEBUG_LEVELS = ['NONE', 'INTERNAL', 'FINEST', 'FINER', 'FINE', 'DEBUG', 'INFO', 'WARN', 'ERROR'];
22
- class DebuglevelNew extends sf_plugins_core_1.SfCommand {
21
+ export default class DebuglevelNew extends SfCommand {
22
+ static summary = messages.getMessage('summary');
23
+ static description = messages.getMessage('description');
24
+ static examples = messages.getMessages('examples');
25
+ static flags = {
26
+ 'api-version': Flags.orgApiVersion(),
27
+ targetusername: Flags.requiredOrg({
28
+ summary: messages.getMessage('flags.targetusername.summary'),
29
+ char: 'o',
30
+ required: true,
31
+ }),
32
+ developername: Flags.string({
33
+ summary: messages.getMessage('flags.developername.summary'),
34
+ char: 'n',
35
+ required: true,
36
+ }),
37
+ };
23
38
  async run() {
24
39
  const { flags } = await this.parse(DebuglevelNew);
25
- const conn = flags.targetusername.getConnection();
26
- try {
27
- const debugLevel = this.createDebugLevelRecord(flags.developername);
28
- for (const category of DEBUG_CATEGORIES) {
29
- // eslint-disable-next-line no-await-in-loop
30
- const level = await this.selectDebugLevel(category);
31
- debugLevel[category] = level;
32
- }
33
- const result = await (0, utils_1.createDebugLevel)(conn, debugLevel);
34
- if (!result.isSuccess) {
35
- this.error(`Error to create Debug Level: ${result.error}`);
36
- }
37
- else {
38
- this.log(`Debug Level ${flags.developername} created successfully.`);
39
- }
40
- return result;
40
+ const conn = flags.targetusername.getConnection(flags['api-version']);
41
+ const debugLevel = this.createDebugLevelRecord(flags.developername);
42
+ for (const category of DEBUG_CATEGORIES) {
43
+ // eslint-disable-next-line no-await-in-loop
44
+ const level = await this.selectDebugLevel(category);
45
+ debugLevel[category] = level;
41
46
  }
42
- catch (exception) {
43
- const err = exception instanceof Error ? exception.message : String(exception);
44
- this.log(`Error to create Debug Level: ${err}`);
45
- return {
46
- isSuccess: false,
47
- error: err,
48
- };
47
+ const result = await createDebugLevel(conn, debugLevel);
48
+ if (!result.isSuccess) {
49
+ this.error(`Error to create Debug Level: ${result.error}`);
50
+ }
51
+ else {
52
+ this.log(`Debug Level ${flags.developername} created successfully.`);
49
53
  }
50
54
  }
51
55
  createDebugLevelRecord(developerName) {
@@ -55,31 +59,13 @@ class DebuglevelNew extends sf_plugins_core_1.SfCommand {
55
59
  };
56
60
  }
57
61
  async selectDebugLevel(category) {
58
- const levels = DEBUG_LEVELS;
59
- const level = await this.prompt({
60
- type: 'list',
61
- name: 'level',
62
+ const choices = DEBUG_LEVELS.map((level) => ({ value: level }));
63
+ const level = await select({
62
64
  message: `Select ${category} debug level`,
63
65
  loop: false,
64
- choices: levels,
66
+ choices,
65
67
  });
66
- return level.level;
68
+ return level;
67
69
  }
68
70
  }
69
- DebuglevelNew.summary = messages.getMessage('summary');
70
- DebuglevelNew.description = messages.getMessage('description');
71
- DebuglevelNew.examples = messages.getMessages('examples');
72
- DebuglevelNew.flags = {
73
- targetusername: sf_plugins_core_1.Flags.requiredOrg({
74
- summary: messages.getMessage('flags.targetusername.summary'),
75
- char: 'o',
76
- required: true,
77
- }),
78
- developername: sf_plugins_core_1.Flags.string({
79
- summary: messages.getMessage('flags.developerName.summary'),
80
- char: 'n',
81
- required: true,
82
- }),
83
- };
84
- exports.default = DebuglevelNew;
85
71
  //# sourceMappingURL=new.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/commands/debuglevel/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/commands/debuglevel/new.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,14 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
- export type TraceNewResult = {
3
- isSuccess: boolean;
4
- error?: string;
5
- };
6
- export default class TraceNew extends SfCommand<TraceNewResult> {
2
+ export default class TraceNew extends SfCommand<void> {
7
3
  static readonly summary: string;
8
4
  static readonly examples: string[];
9
5
  static readonly flags: {
10
- targetusername: import("@oclif/core/lib/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
- user: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
- time: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
+ 'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ targetusername: import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
8
+ user: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ time: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
10
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ debuglevel: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
14
- run(): Promise<TraceNewResult>;
15
- private selectToProceed;
16
- private selectDebugLevel;
13
+ run(): Promise<void>;
17
14
  }
@@ -1,94 +1,68 @@
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 utils_1 = require("../../utils");
6
- core_1.Messages.importMessagesDirectory(__dirname);
7
- const messages = core_1.Messages.loadMessages('sf-debug-log', 'trace.new');
8
- class TraceNew extends sf_plugins_core_1.SfCommand {
1
+ import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
2
+ import { Messages } from '@salesforce/core';
3
+ import { getUserId, getActiveTraceFlag, createTraceFlag, getDebugLevels } from '../../utils.js';
4
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
5
+ const messages = Messages.loadMessages('sf-debug-log', 'trace.new');
6
+ export default class TraceNew extends SfCommand {
7
+ static summary = messages.getMessage('summary');
8
+ static examples = messages.getMessages('examples');
9
+ static flags = {
10
+ 'api-version': Flags.orgApiVersion(),
11
+ targetusername: Flags.requiredOrg({
12
+ summary: messages.getMessage('flags.targetusername.summary'),
13
+ char: 'o',
14
+ required: true,
15
+ }),
16
+ user: Flags.string({
17
+ summary: messages.getMessage('flags.user.summary'),
18
+ char: 'u',
19
+ }),
20
+ time: Flags.integer({
21
+ summary: messages.getMessage('flags.time.summary'),
22
+ char: 't',
23
+ default: 60,
24
+ }),
25
+ force: Flags.boolean({
26
+ summary: messages.getMessage('flags.force.summary'),
27
+ char: 'f',
28
+ default: false,
29
+ }),
30
+ debuglevel: Flags.string({
31
+ summary: messages.getMessage('flags.debuglevel.summary'),
32
+ char: 'd',
33
+ required: true,
34
+ }),
35
+ };
9
36
  async run() {
10
37
  const { flags } = await this.parse(TraceNew);
11
- const conn = flags.targetusername.getConnection();
12
- let result;
13
- let user;
14
- try {
15
- this.spinner.start('Retriving debug levels...');
16
- user = flags.user ? flags.user : conn.getUsername();
17
- const userId = await (0, utils_1.getUserId)(conn, user);
18
- const [activeFlag, debugLevels] = await Promise.all([(0, utils_1.getActiveTraceFlag)(conn, userId), (0, utils_1.getDebugLevels)(conn)]);
19
- this.spinner.stop();
20
- if (activeFlag?.Id) {
21
- const shouldProceed = await this.selectToProceed();
22
- if (!shouldProceed) {
23
- return { isSuccess: false, error: 'Trace Flag already exists for this user.' };
24
- }
25
- else {
26
- this.spinner.start('Deleting existing Trace Flag...');
27
- await conn.tooling.sobject('TraceFlag').delete(activeFlag.Id);
28
- this.spinner.stop();
29
- }
30
- }
31
- const debuglevel = await this.selectDebugLevel(debugLevels);
32
- this.spinner.start('Creating Trace Flag...');
33
- result = await (0, utils_1.createTraceFlag)(conn, userId, debuglevel, flags.time);
34
- this.spinner.stop();
35
- if (!result.isSuccess) {
36
- this.error(`Error to create Trace Flag: ${result.error}`);
38
+ const conn = flags.targetusername.getConnection(flags['api-version']);
39
+ const user = flags.user ? flags.user : conn.getUsername();
40
+ const userId = await getUserId(conn, user);
41
+ if (!userId) {
42
+ this.error(`User ${user} not found`);
43
+ }
44
+ const activeFlag = await getActiveTraceFlag(conn, userId);
45
+ if (activeFlag?.Id) {
46
+ if (!flags.force) {
47
+ this.log('Trace Flag already exists for this user.');
48
+ return;
37
49
  }
38
50
  else {
39
- this.log(`User Trace Flag successfully created for ${user}`);
51
+ await conn.tooling.sobject('TraceFlag').delete(activeFlag.Id);
40
52
  }
41
- return result;
42
53
  }
43
- catch (err) {
44
- return {
45
- isSuccess: false,
46
- error: err instanceof Error ? err.message : String(err),
47
- };
54
+ const debugLevels = await getDebugLevels(conn);
55
+ const debugLevelId = debugLevels.find((level) => level.DeveloperName === flags.debuglevel)?.Id;
56
+ if (!debugLevelId) {
57
+ this.error(`Debug Level ${flags.debuglevel} not found`);
58
+ }
59
+ const result = await createTraceFlag(conn, userId, debugLevelId, flags.time);
60
+ if (!result.isSuccess) {
61
+ this.error(`Error to create Trace Flag: ${result.error}`);
62
+ }
63
+ else {
64
+ this.log(`Trace flag created for ${user}`);
48
65
  }
49
- }
50
- async selectToProceed() {
51
- const proceed = await this.prompt({
52
- type: 'confirm',
53
- name: 'proceed',
54
- message: 'Trace Flag already exists for this user. Do you want to proceed?',
55
- });
56
- return proceed.proceed;
57
- }
58
- async selectDebugLevel(debugLevels) {
59
- const debuglevel = await this.prompt({
60
- type: 'list',
61
- name: 'debugLevel',
62
- message: 'Select Debug Level',
63
- loop: false,
64
- choices: debugLevels.map((debugLevel) => ({
65
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/restrict-template-expressions
66
- name: `${debugLevel.DeveloperName} (DB:${debugLevel.Database} Callout:${debugLevel.Callout} APEX:${debugLevel.ApexCode} Validation:${debugLevel.Validation} Workflow:${debugLevel.Workflow} Profiling:${debugLevel.ApexProfiling} VF:${debugLevel.Visualforce} System:${debugLevel.System} Wave:${debugLevel.Wave} Nba:${debugLevel.Nba})`,
67
- value: debugLevel.Id,
68
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
69
- short: debugLevel.DeveloperName,
70
- })),
71
- });
72
- return debuglevel.debugLevel;
73
66
  }
74
67
  }
75
- TraceNew.summary = messages.getMessage('summary');
76
- TraceNew.examples = messages.getMessages('examples');
77
- TraceNew.flags = {
78
- targetusername: sf_plugins_core_1.Flags.requiredOrg({
79
- summary: messages.getMessage('flags.targetusername.summary'),
80
- char: 'o',
81
- required: true,
82
- }),
83
- user: sf_plugins_core_1.Flags.string({
84
- summary: messages.getMessage('flags.user.summary'),
85
- char: 'u',
86
- }),
87
- time: sf_plugins_core_1.Flags.integer({
88
- summary: messages.getMessage('flags.time.summary'),
89
- char: 't',
90
- default: 60,
91
- }),
92
- };
93
- exports.default = TraceNew;
94
68
  //# sourceMappingURL=new.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/commands/trace/new.ts"],"names":[],"mappings":";;AAAA,iEAA+D;AAC/D,2CAAwD;AAExD,uCAA6F;AAE7F,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAOpE,MAAqB,QAAS,SAAQ,2BAAyB;IAqBtD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAe,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QAC9D,IAAI,MAAsB,CAAC;QAC3B,IAAI,IAAI,CAAC;QAET,IAAI;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAChD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,WAAW,EAAa,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAA,0BAAkB,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9G,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,UAAU,EAAE,EAAE,EAAE;gBAClB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnD,IAAI,CAAC,aAAa,EAAE;oBAClB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC;iBAChF;qBAAM;oBACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACtD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;iBACrB;aACF;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC7C,MAAM,GAAG,MAAM,IAAA,uBAAe,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBACrB,IAAI,CAAC,KAAK,CAAC,+BAA+B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aAC3D;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;aAC9D;YACD,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC;SACH;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAuB;YACtD,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,kEAAkE;SAC5E,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,WAAqB;QAClD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAyB;YAC3D,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,oBAAoB;YAC7B,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACxC,qHAAqH;gBACrH,IAAI,EAAE,GAAG,UAAU,CAAC,aAAa,QAAQ,UAAU,CAAC,QAAQ,YAAY,UAAU,CAAC,OAAO,SAAS,UAAU,CAAC,QAAQ,eAAe,UAAU,CAAC,UAAU,aAAa,UAAU,CAAC,QAAQ,cAAc,UAAU,CAAC,aAAa,OAAO,UAAU,CAAC,WAAW,WAAW,UAAU,CAAC,MAAM,SAAS,UAAU,CAAC,IAAI,QAAQ,UAAU,CAAC,GAAG,GAAG;gBAC1U,KAAK,EAAE,UAAU,CAAC,EAAE;gBACpB,mEAAmE;gBACnE,KAAK,EAAE,UAAU,CAAC,aAAa;aAChC,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC,UAAU,CAAC;IAC/B,CAAC;;AAtFsB,gBAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,iBAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAE5C,cAAK,GAAG;IAC7B,cAAc,EAAE,uBAAK,CAAC,WAAW,CAAC;QAChC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,8BAA8B,CAAC;QAC5D,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,IAAI,EAAE,uBAAK,CAAC,MAAM,CAAC;QACjB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,IAAI,EAAE,GAAG;KACV,CAAC;IACF,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC;QAClB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,EAAE;KACZ,CAAC;CACH,CAAC;kBAnBiB,QAAQ"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/commands/trace/new.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  declare const _default: {};
2
- export = _default;
2
+ export default _default;
package/lib/index.js CHANGED
@@ -1,3 +1,2 @@
1
- "use strict";
2
- module.exports = {};
1
+ export default {};
3
2
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iBAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe,EAAE,CAAC"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,46 @@
1
+ export type SaveResult = {
2
+ isSuccess: boolean;
3
+ error?: string;
4
+ };
5
+ export interface GetLogsOptions {
6
+ userId?: string | null;
7
+ timeLimit?: number | null;
8
+ }
9
+ export type ApexLog = {
10
+ Id: string;
11
+ LogUser: {
12
+ Username: string;
13
+ };
14
+ };
15
+ export type TraceFlag = {
16
+ Id: string;
17
+ TracedEntityId: string;
18
+ DebugLevelId: string;
19
+ StartDate: string;
20
+ ExpirationDate: string;
21
+ };
22
+ /**
23
+ * Shape used to create a new DebugLevel record (developer + master label + categories).
24
+ */
25
+ export interface DebugLevelCreate {
26
+ [key: string]: string | undefined;
27
+ MasterLabel: string;
28
+ DeveloperName: string;
29
+ }
30
+ /**
31
+ * Shape returned when querying existing DebugLevel records.
32
+ */
33
+ export type DebugLevel = {
34
+ Id: string;
35
+ DeveloperName: string;
36
+ Workflow: string;
37
+ Validation: string;
38
+ Callout: string;
39
+ ApexCode: string;
40
+ ApexProfiling: string;
41
+ Visualforce: string;
42
+ System: string;
43
+ Database: string;
44
+ Wave: string;
45
+ Nba: string;
46
+ };
package/lib/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/lib/utils.d.ts CHANGED
@@ -1,12 +1,10 @@
1
1
  import { Connection } from '@salesforce/core';
2
- import { Record } from 'jsforce';
3
- import { TraceNewResult } from './commands/trace/new';
4
- import { DebuglevelNewResult } from './commands/debuglevel/new';
2
+ import type { SaveResult, ApexLog, TraceFlag, DebugLevel, DebugLevelCreate, GetLogsOptions } from './types.js';
5
3
  export declare function createFile(path: string, contents: string): Promise<void>;
6
- export declare function getUserId(connection: Connection, inputUser: string): Promise<string>;
7
- export declare function getActiveTraceFlag(conn: Connection, userId: string): Promise<Record | undefined>;
8
- export declare function getDebugLevels(conn: Connection): Promise<Record[]>;
9
- export declare function createTraceFlag(conn: Connection, userId: string, debugLevelId: string, time: number): Promise<TraceNewResult>;
10
- export declare function createDebugLevel(conn: Connection, debugLevel: Record): Promise<DebuglevelNewResult>;
11
- export declare function getLogs(conn: Connection, userId: string, time: number | undefined, all: boolean): Promise<Record[]>;
12
- export declare function deleteLogs(conn: Connection, logs: Record[]): Promise<void>;
4
+ export declare function getUserId(connection: Connection, inputUser: string): Promise<string | undefined>;
5
+ export declare function getActiveTraceFlag(conn: Connection, userId: string): Promise<TraceFlag | undefined>;
6
+ export declare function getDebugLevels(conn: Connection): Promise<DebugLevel[]>;
7
+ export declare function createTraceFlag(conn: Connection, userId: string, debugLevelId: string, time: number): Promise<SaveResult>;
8
+ export declare function createDebugLevel(conn: Connection, debugLevel: DebugLevelCreate): Promise<SaveResult>;
9
+ export declare function getLogs(conn: Connection, options: GetLogsOptions): Promise<ApexLog[]>;
10
+ export declare function deleteLogs(conn: Connection, logs: ApexLog[]): Promise<void>;
package/lib/utils.js CHANGED
@@ -1,18 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteLogs = exports.getLogs = exports.createDebugLevel = exports.createTraceFlag = exports.getDebugLevels = exports.getActiveTraceFlag = exports.getUserId = exports.createFile = void 0;
4
- const path_1 = require("path");
5
- const util_1 = require("util");
6
- const fs_1 = require("fs");
7
- const mkdirPromise = (0, util_1.promisify)(fs_1.mkdir);
8
- const writeFilePromise = (0, util_1.promisify)(fs_1.writeFile);
1
+ import { dirname } from 'path';
2
+ import { promisify } from 'util';
3
+ import { writeFile, mkdir } from 'fs';
4
+ const mkdirPromise = promisify(mkdir);
5
+ const writeFilePromise = promisify(writeFile);
9
6
  const MILLISECONDS_PER_MINUTE = 60000;
10
- async function createFile(path, contents) {
11
- await mkdirPromise((0, path_1.dirname)(path), { recursive: true });
7
+ export async function createFile(path, contents) {
8
+ await mkdirPromise(dirname(path), { recursive: true });
12
9
  await writeFilePromise(path, contents);
13
10
  }
14
- exports.createFile = createFile;
15
- async function getUserId(connection, inputUser) {
11
+ export async function getUserId(connection, inputUser) {
16
12
  let result;
17
13
  if (isValidEmail(inputUser)) {
18
14
  result = await connection.tooling.sobject('User').findOne({ Username: inputUser });
@@ -27,10 +23,9 @@ async function getUserId(connection, inputUser) {
27
23
  return result.Id;
28
24
  }
29
25
  else {
30
- throw new Error(`User ${inputUser} not found`);
26
+ return undefined;
31
27
  }
32
28
  }
33
- exports.getUserId = getUserId;
34
29
  function isValidEmail(input) {
35
30
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
36
31
  return emailRegex.test(input);
@@ -39,7 +34,7 @@ function isId(input) {
39
34
  const idRegex = /[a-zA-Z0-9]{15}|[a-zA-Z0-9]{18}/;
40
35
  return idRegex.test(input);
41
36
  }
42
- async function getActiveTraceFlag(conn, userId) {
37
+ export async function getActiveTraceFlag(conn, userId) {
43
38
  const results = await conn.tooling.query(`SELECT Id, TracedEntityId, DebugLevelId, StartDate, ExpirationDate FROM TraceFlag WHERE TracedEntityId = '${userId}' AND ExpirationDate > ${new Date(Date.now()).toISOString()}`);
44
39
  if (results?.records?.length > 0) {
45
40
  return results.records[0];
@@ -48,8 +43,7 @@ async function getActiveTraceFlag(conn, userId) {
48
43
  return undefined;
49
44
  }
50
45
  }
51
- exports.getActiveTraceFlag = getActiveTraceFlag;
52
- async function getDebugLevels(conn) {
46
+ export async function getDebugLevels(conn) {
53
47
  const results = await conn.tooling.query('SELECT Id, DeveloperName, Workflow, Validation, Callout, ApexCode, ApexProfiling, Visualforce, System, Database, Wave, Nba FROM DebugLevel');
54
48
  if (results?.records) {
55
49
  return results.records;
@@ -58,8 +52,7 @@ async function getDebugLevels(conn) {
58
52
  throw new Error('Error to retrieve Debug Levels');
59
53
  }
60
54
  }
61
- exports.getDebugLevels = getDebugLevels;
62
- async function createTraceFlag(conn, userId, debugLevelId, time) {
55
+ export async function createTraceFlag(conn, userId, debugLevelId, time) {
63
56
  const result = await conn.tooling.sobject('TraceFlag').create({
64
57
  TracedEntityId: userId,
65
58
  DebugLevelId: debugLevelId,
@@ -72,47 +65,50 @@ async function createTraceFlag(conn, userId, debugLevelId, time) {
72
65
  error: result.success ? undefined : result.errors[0].message,
73
66
  };
74
67
  }
75
- exports.createTraceFlag = createTraceFlag;
76
- async function createDebugLevel(conn, debugLevel) {
68
+ export async function createDebugLevel(conn, debugLevel) {
77
69
  const result = await conn.tooling.sobject('DebugLevel').create(debugLevel);
78
70
  return {
79
71
  isSuccess: result.success,
80
72
  error: result.success ? undefined : result.errors[0].message,
81
73
  };
82
74
  }
83
- exports.createDebugLevel = createDebugLevel;
84
- async function getLogs(conn, userId, time, all) {
85
- let startTime;
86
- if (time) {
87
- const dateTime = new Date(Date.now());
88
- dateTime.setMinutes(dateTime.getMinutes() - time);
89
- startTime = dateTime.toISOString();
90
- }
91
- const LOG_FIELDS = ['Id', 'LogUser.Name', 'LogLength', 'Request', 'Operation', 'Application', 'Status', 'DurationMilliseconds', 'SystemModstamp', 'RequestIdentifier'];
75
+ export async function getLogs(conn, options) {
76
+ const LOG_FIELDS = [
77
+ 'Id',
78
+ 'LogUser.Username',
79
+ 'LogLength',
80
+ 'Request',
81
+ 'Operation',
82
+ 'Application',
83
+ 'Status',
84
+ 'DurationMilliseconds',
85
+ 'SystemModstamp',
86
+ 'RequestIdentifier',
87
+ ];
92
88
  let queryString = `SELECT ${LOG_FIELDS.join(',')} FROM ApexLog`;
93
89
  const whereConditions = [];
94
- if (startTime) {
95
- whereConditions.push(`SystemModstamp > ${startTime}`);
90
+ if (options.timeLimit) {
91
+ const dateTime = new Date(Date.now());
92
+ dateTime.setMinutes(dateTime.getMinutes() - options.timeLimit);
93
+ const startTime = dateTime.toISOString();
94
+ if (startTime) {
95
+ whereConditions.push(`SystemModstamp > ${startTime}`);
96
+ }
96
97
  }
97
- if (!all) {
98
- whereConditions.push(`LogUserId = '${userId}'`);
98
+ if (options.userId) {
99
+ whereConditions.push(`LogUserId = '${options.userId}'`);
99
100
  }
100
101
  if (whereConditions.length > 0) {
101
102
  queryString += ` WHERE ${whereConditions.join(' AND ')}`;
102
103
  }
103
104
  queryString += ' ORDER BY SystemModstamp DESC';
104
105
  const queryResult = await conn.query(queryString);
105
- if (queryResult.records.length === 0) {
106
- throw new Error('No debug logs found');
107
- }
108
106
  return queryResult.records;
109
107
  }
110
- exports.getLogs = getLogs;
111
- async function deleteLogs(conn, logs) {
108
+ export async function deleteLogs(conn, logs) {
112
109
  if (logs && logs.length > 0) {
113
110
  const ids = logs.map((log) => log.Id).filter((id) => id !== undefined);
114
111
  await conn.sobject('ApexLog').del(ids, { allowRecursive: true });
115
112
  }
116
113
  }
117
- exports.deleteLogs = deleteLogs;
118
114
  //# sourceMappingURL=utils.js.map
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+BAAiC;AACjC,2BAAsC;AAMtC,MAAM,YAAY,GAAG,IAAA,gBAAS,EAAC,UAAK,CAAC,CAAC;AACtC,MAAM,gBAAgB,GAAG,IAAA,gBAAS,EAAC,cAAS,CAAC,CAAC;AAE9C,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAE/B,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAgB;IAC7D,MAAM,YAAY,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAHD,gCAGC;AAEM,KAAK,UAAU,SAAS,CAAC,UAAsB,EAAE,SAAiB;IACvE,IAAI,MAAM,CAAC;IACX,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;KACpF;SAAM,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;QAC1B,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;KAC9E;SAAM;QACL,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;KAChF;IACD,IAAI,MAAM,EAAE,EAAE,EAAE;QACd,OAAO,MAAM,CAAC,EAAE,CAAC;KAClB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,QAAQ,SAAS,YAAY,CAAC,CAAC;KAChD;AACH,CAAC;AAdD,8BAcC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,UAAU,GAAG,4BAA4B,CAAC;IAChD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,IAAI,CAAC,KAAa;IACzB,MAAM,OAAO,GAAG,iCAAiC,CAAC;IAClD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,IAAgB,EAAE,MAAc;IACvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACtC,6GAA6G,MAAM,0BAA0B,IAAI,IAAI,CACnJ,IAAI,CAAC,GAAG,EAAE,CACX,CAAC,WAAW,EAAE,EAAE,CAClB,CAAC;IACF,IAAI,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC3B;SAAM;QACL,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAXD,gDAWC;AAEM,KAAK,UAAU,cAAc,CAAC,IAAgB;IACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACtC,4IAA4I,CAC7I,CAAC;IACF,IAAI,OAAO,EAAE,OAAO,EAAE;QACpB,OAAO,OAAO,CAAC,OAAO,CAAC;KACxB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACnD;AACH,CAAC;AATD,wCASC;AAEM,KAAK,UAAU,eAAe,CACnC,IAAgB,EAChB,MAAc,EACd,YAAoB,EACpB,IAAY;IAEZ,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QACxE,cAAc,EAAE,MAAM;QACtB,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;QAC7C,OAAO,EAAE,YAAY;QACrB,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,uBAAuB,CAAC,CAAC,WAAW,EAAE;KACpF,CAAC,CAAC;IACH,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,OAAO;QACzB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;KAC7D,CAAC;AACJ,CAAC;AAjBD,0CAiBC;AAEM,KAAK,UAAU,gBAAgB,CAAC,IAAgB,EAAE,UAAkB;IACzE,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvF,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,OAAO;QACzB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;KAC7D,CAAC;AACJ,CAAC;AAND,4CAMC;AAEM,KAAK,UAAU,OAAO,CAAC,IAAgB,EAAE,MAAc,EAAE,IAAwB,EAAE,GAAY;IACpG,IAAI,SAAS,CAAC;IACd,IAAI,IAAI,EAAE;QACR,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;QAClD,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;KACpC;IACD,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;IACvK,IAAI,WAAW,GAAG,UAAU,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;IAEhE,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,IAAI,SAAS,EAAE;QACb,eAAe,CAAC,IAAI,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;KACvD;IACD,IAAI,CAAC,GAAG,EAAE;QACR,eAAe,CAAC,IAAI,CAAC,gBAAgB,MAAM,GAAG,CAAC,CAAC;KACjD;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9B,WAAW,IAAI,UAAU,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;KAC1D;IAED,WAAW,IAAI,+BAA+B,CAAC;IAE/C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;IACD,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AA7BD,0BA6BC;AAEM,KAAK,UAAU,UAAU,CAAC,IAAgB,EAAE,IAAc;IAC/D,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QACrF,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;KAClE;AACH,CAAC;AALD,gCAKC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAItC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AACtC,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAE9C,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAgB;IAC7D,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAsB,EAAE,SAAiB;IACvE,IAAI,MAAM,CAAC;IACX,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACrF,CAAC;SAAM,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,UAAU,GAAG,4BAA4B,CAAC;IAChD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,IAAI,CAAC,KAAa;IACzB,MAAM,OAAO,GAAG,iCAAiC,CAAC;IAClD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAgB,EAAE,MAAc;IACvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACtC,6GAA6G,MAAM,0BAA0B,IAAI,IAAI,CACnJ,IAAI,CAAC,GAAG,EAAE,CACX,CAAC,WAAW,EAAE,EAAE,CAClB,CAAC;IACF,IAAI,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAc,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAgB;IACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACtC,4IAA4I,CAC7I,CAAC;IACF,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,OAAuB,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAgB,EAChB,MAAc,EACd,YAAoB,EACpB,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QAC5D,cAAc,EAAE,MAAM;QACtB,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;QAC7C,OAAO,EAAE,YAAY;QACrB,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,uBAAuB,CAAC,CAAC,WAAW,EAAE;KACpF,CAAC,CAAC;IACH,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,OAAO;QACzB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAgB,EAChB,UAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3E,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,OAAO;QACzB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAgB,EAAE,OAAuB;IACrE,MAAM,UAAU,GAAG;QACjB,IAAI;QACJ,kBAAkB;QAClB,WAAW;QACX,SAAS;QACT,WAAW;QACX,aAAa;QACb,QAAQ;QACR,sBAAsB;QACtB,gBAAgB;QAChB,mBAAmB;KACpB,CAAC;IACF,IAAI,WAAW,GAAG,UAAU,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;IAEhE,MAAM,eAAe,GAAG,EAAE,CAAC;IAE3B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,SAAS,EAAE,CAAC;YACd,eAAe,CAAC,IAAI,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,eAAe,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,WAAW,IAAI,UAAU,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,WAAW,IAAI,+BAA+B,CAAC;IAE/C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAElD,OAAO,WAAW,CAAC,OAAoB,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAgB,EAAE,IAAe;IAChE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QACrF,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -6,6 +6,10 @@ Delete Apex log files from a Salesforce org.
6
6
 
7
7
  Deletes Apex log files from a Salesforce org.
8
8
 
9
+ # flags.api-version.summary
10
+
11
+ API version to use.
12
+
9
13
  # flags.user.summary
10
14
 
11
15
  [default: targetusername] Username, Name, or ID of the user for whom you want to delete the logs.
@@ -16,11 +20,11 @@ Username or alias of the target Salesforce org.
16
20
 
17
21
  # flags.time.summary
18
22
 
19
- The number of minutes to retrieve log files for.
23
+ The number of minutes to retrieve log to be deleted.
20
24
 
21
- # flags.all.summary
25
+ # flags.all-users.summary
22
26
 
23
- Delete log files for all users.
27
+ Retrieve logs for all users in the org.
24
28
 
25
29
  # error.deleteLogs
26
30