sfdx-hardis 5.45.0 → 5.45.1-beta202508100142.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.
- package/CHANGELOG.md +8 -0
- package/lib/commands/hardis/auth/login.js +20 -6
- package/lib/commands/hardis/auth/login.js.map +1 -1
- package/lib/commands/hardis/cache/clear.d.ts +4 -1
- package/lib/commands/hardis/cache/clear.js +20 -2
- package/lib/commands/hardis/cache/clear.js.map +1 -1
- package/lib/commands/hardis/config/get.js +20 -1
- package/lib/commands/hardis/config/get.js.map +1 -1
- package/lib/commands/hardis/doc/extract/permsetgroups.js +25 -1
- package/lib/commands/hardis/doc/extract/permsetgroups.js.map +1 -1
- package/lib/commands/hardis/doc/fieldusage.js +21 -3
- package/lib/commands/hardis/doc/fieldusage.js.map +1 -1
- package/lib/commands/hardis/doc/flow2markdown.js +31 -4
- package/lib/commands/hardis/doc/flow2markdown.js.map +1 -1
- package/lib/commands/hardis/doc/mkdocs-to-cf.js +48 -28
- package/lib/commands/hardis/doc/mkdocs-to-cf.js.map +1 -1
- package/lib/commands/hardis/doc/mkdocs-to-salesforce.js +40 -17
- package/lib/commands/hardis/doc/mkdocs-to-salesforce.js.map +1 -1
- package/lib/commands/hardis/doc/override-prompts.js +43 -38
- package/lib/commands/hardis/doc/override-prompts.js.map +1 -1
- package/lib/commands/hardis/doc/packagexml2markdown.js +27 -1
- package/lib/commands/hardis/doc/packagexml2markdown.js.map +1 -1
- package/lib/commands/hardis/doc/plugin/generate.js +35 -7
- package/lib/commands/hardis/doc/plugin/generate.js.map +1 -1
- package/lib/commands/hardis/doc/project2markdown.js +11 -2
- package/lib/commands/hardis/doc/project2markdown.js.map +1 -1
- package/lib/commands/hardis/git/pull-requests/extract.js +27 -1
- package/lib/commands/hardis/git/pull-requests/extract.js.map +1 -1
- package/lib/commands/hardis/lint/access.js +37 -6
- package/lib/commands/hardis/lint/access.js.map +1 -1
- package/lib/commands/hardis/lint/metadatastatus.js +29 -10
- package/lib/commands/hardis/lint/metadatastatus.js.map +1 -1
- package/lib/commands/hardis/lint/missingattributes.js +25 -1
- package/lib/commands/hardis/lint/missingattributes.js.map +1 -1
- package/lib/commands/hardis/lint/unusedmetadatas.js +104 -49
- package/lib/commands/hardis/lint/unusedmetadatas.js.map +1 -1
- package/lib/commands/hardis/mdapi/deploy.d.ts +1 -1
- package/lib/commands/hardis/mdapi/deploy.js +24 -2
- package/lib/commands/hardis/mdapi/deploy.js.map +1 -1
- package/lib/commands/hardis/misc/custom-label-translations.js +38 -1
- package/lib/commands/hardis/misc/custom-label-translations.js.map +1 -1
- package/lib/commands/hardis/misc/purge-references.js +33 -3
- package/lib/commands/hardis/misc/purge-references.js.map +1 -1
- package/lib/commands/hardis/misc/servicenow-report.js +4 -0
- package/lib/commands/hardis/misc/servicenow-report.js.map +1 -1
- package/lib/commands/hardis/misc/toml2csv.js +39 -1
- package/lib/commands/hardis/misc/toml2csv.js.map +1 -1
- package/lib/commands/hardis/org/community/update.d.ts +1 -1
- package/lib/commands/hardis/org/community/update.js +28 -1
- package/lib/commands/hardis/org/community/update.js.map +1 -1
- package/lib/commands/hardis/org/configure/data.js +45 -10
- package/lib/commands/hardis/org/configure/data.js.map +1 -1
- package/lib/commands/hardis/org/configure/files.js +30 -2
- package/lib/commands/hardis/org/configure/files.js.map +1 -1
- package/lib/commands/hardis/org/configure/monitoring.js +41 -7
- package/lib/commands/hardis/org/configure/monitoring.js.map +1 -1
- package/lib/commands/hardis/org/connect.js +23 -2
- package/lib/commands/hardis/org/connect.js.map +1 -1
- package/lib/commands/hardis/org/create.js +31 -2
- package/lib/commands/hardis/org/create.js.map +1 -1
- package/lib/commands/hardis/org/data/delete.js +28 -6
- package/lib/commands/hardis/org/data/delete.js.map +1 -1
- package/lib/commands/hardis/org/data/export.js +28 -2
- package/lib/commands/hardis/org/data/export.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/audittrail.js +18 -16
- package/lib/commands/hardis/org/diagnose/audittrail.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/instanceupgrade.js +26 -2
- package/lib/commands/hardis/org/diagnose/instanceupgrade.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/legacyapi.js +1 -2
- package/lib/commands/hardis/org/diagnose/legacyapi.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/licenses.js +29 -1
- package/lib/commands/hardis/org/diagnose/licenses.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/unused-apex-classes.js +5 -0
- package/lib/commands/hardis/org/diagnose/unused-apex-classes.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/unused-connected-apps.js +35 -7
- package/lib/commands/hardis/org/diagnose/unused-connected-apps.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/unusedlicenses.js +33 -10
- package/lib/commands/hardis/org/diagnose/unusedlicenses.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/unusedusers.js +28 -7
- package/lib/commands/hardis/org/diagnose/unusedusers.js.map +1 -1
- package/lib/commands/hardis/org/files/export.js +25 -5
- package/lib/commands/hardis/org/files/export.js.map +1 -1
- package/lib/commands/hardis/org/files/import.js +23 -3
- package/lib/commands/hardis/org/files/import.js.map +1 -1
- package/lib/commands/hardis/org/generate/packagexmlfull.js +33 -2
- package/lib/commands/hardis/org/generate/packagexmlfull.js.map +1 -1
- package/lib/commands/hardis/org/monitor/backup.js +4 -3
- package/lib/commands/hardis/org/monitor/backup.js.map +1 -1
- package/lib/commands/hardis/org/monitor/limits.js +27 -1
- package/lib/commands/hardis/org/monitor/limits.js.map +1 -1
- package/lib/commands/hardis/org/multi-org-query.js +28 -4
- package/lib/commands/hardis/org/multi-org-query.js.map +1 -1
- package/lib/commands/hardis/org/purge/apexlog.js +27 -1
- package/lib/commands/hardis/org/purge/apexlog.js.map +1 -1
- package/lib/commands/hardis/org/purge/flow.js +56 -13
- package/lib/commands/hardis/org/purge/flow.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/packageconfig.js +29 -3
- package/lib/commands/hardis/org/retrieve/packageconfig.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/sources/analytics.js +24 -1
- package/lib/commands/hardis/org/retrieve/sources/analytics.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/sources/dx.js +33 -2
- package/lib/commands/hardis/org/retrieve/sources/dx.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/sources/dx2.js +28 -3
- package/lib/commands/hardis/org/retrieve/sources/dx2.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/sources/metadata.js +28 -1
- package/lib/commands/hardis/org/retrieve/sources/metadata.js.map +1 -1
- package/lib/commands/hardis/org/select.js +24 -1
- package/lib/commands/hardis/org/select.js.map +1 -1
- package/lib/commands/hardis/org/test/apex.js +14 -3
- package/lib/commands/hardis/org/test/apex.js.map +1 -1
- package/lib/commands/hardis/org/user/activateinvalid.js +3 -0
- package/lib/commands/hardis/org/user/activateinvalid.js.map +1 -1
- package/lib/commands/hardis/org/user/freeze.js +29 -2
- package/lib/commands/hardis/org/user/freeze.js.map +1 -1
- package/lib/commands/hardis/org/user/unfreeze.js +29 -2
- package/lib/commands/hardis/org/user/unfreeze.js.map +1 -1
- package/lib/commands/hardis/package/create.js +30 -1
- package/lib/commands/hardis/package/create.js.map +1 -1
- package/lib/commands/hardis/package/install.js +6 -0
- package/lib/commands/hardis/package/install.js.map +1 -1
- package/lib/commands/hardis/package/mergexml.js +27 -1
- package/lib/commands/hardis/package/mergexml.js.map +1 -1
- package/lib/commands/hardis/package/version/create.js +33 -2
- package/lib/commands/hardis/package/version/create.js.map +1 -1
- package/lib/commands/hardis/package/version/list.js +20 -1
- package/lib/commands/hardis/package/version/list.js.map +1 -1
- package/lib/commands/hardis/package/version/promote.js +26 -1
- package/lib/commands/hardis/package/version/promote.js.map +1 -1
- package/lib/commands/hardis/packagexml/append.d.ts +1 -1
- package/lib/commands/hardis/packagexml/append.js +23 -1
- package/lib/commands/hardis/packagexml/append.js.map +1 -1
- package/lib/commands/hardis/packagexml/remove.d.ts +1 -1
- package/lib/commands/hardis/packagexml/remove.js +24 -1
- package/lib/commands/hardis/packagexml/remove.js.map +1 -1
- package/lib/commands/hardis/project/audit/apiversion.js +35 -24
- package/lib/commands/hardis/project/audit/apiversion.js.map +1 -1
- package/lib/commands/hardis/project/audit/callincallout.js +27 -1
- package/lib/commands/hardis/project/audit/callincallout.js.map +1 -1
- package/lib/commands/hardis/project/audit/duplicatefiles.js +35 -2
- package/lib/commands/hardis/project/audit/duplicatefiles.js.map +1 -1
- package/lib/commands/hardis/project/audit/remotesites.js +25 -1
- package/lib/commands/hardis/project/audit/remotesites.js.map +1 -1
- package/lib/commands/hardis/project/clean/emptyitems.js +25 -1
- package/lib/commands/hardis/project/clean/emptyitems.js.map +1 -1
- package/lib/commands/hardis/project/clean/filter-xml-content.d.ts +1 -1
- package/lib/commands/hardis/project/clean/filter-xml-content.js +28 -5
- package/lib/commands/hardis/project/clean/filter-xml-content.js.map +1 -1
- package/lib/commands/hardis/project/clean/hiddenitems.js +25 -1
- package/lib/commands/hardis/project/clean/hiddenitems.js.map +1 -1
- package/lib/commands/hardis/project/clean/manageditems.js +24 -1
- package/lib/commands/hardis/project/clean/manageditems.js.map +1 -1
- package/lib/commands/hardis/project/clean/minimizeprofiles.js +9 -6
- package/lib/commands/hardis/project/clean/minimizeprofiles.js.map +1 -1
- package/lib/commands/hardis/project/clean/orgmissingitems.js +30 -2
- package/lib/commands/hardis/project/clean/orgmissingitems.js.map +1 -1
- package/lib/commands/hardis/project/clean/references.js +30 -3
- package/lib/commands/hardis/project/clean/references.js.map +1 -1
- package/lib/commands/hardis/project/clean/retrievefolders.js +20 -1
- package/lib/commands/hardis/project/clean/retrievefolders.js.map +1 -1
- package/lib/commands/hardis/project/clean/standarditems.js +25 -1
- package/lib/commands/hardis/project/clean/standarditems.js.map +1 -1
- package/lib/commands/hardis/project/clean/systemdebug.js +28 -1
- package/lib/commands/hardis/project/clean/systemdebug.js.map +1 -1
- package/lib/commands/hardis/project/clean/xml.js +5 -4
- package/lib/commands/hardis/project/clean/xml.js.map +1 -1
- package/lib/commands/hardis/project/configure/auth.js +74 -8
- package/lib/commands/hardis/project/configure/auth.js.map +1 -1
- package/lib/commands/hardis/project/convert/profilestopermsets.js +22 -1
- package/lib/commands/hardis/project/convert/profilestopermsets.js.map +1 -1
- package/lib/commands/hardis/project/create.js +5 -1
- package/lib/commands/hardis/project/create.js.map +1 -1
- package/lib/commands/hardis/project/deploy/simulate.js +27 -4
- package/lib/commands/hardis/project/deploy/simulate.js.map +1 -1
- package/lib/commands/hardis/project/fix/profiletabs.js +30 -1
- package/lib/commands/hardis/project/fix/profiletabs.js.map +1 -1
- package/lib/commands/hardis/project/fix/v53flexipages.js +24 -2
- package/lib/commands/hardis/project/fix/v53flexipages.js.map +1 -1
- package/lib/commands/hardis/project/generate/bypass.js +58 -14
- package/lib/commands/hardis/project/generate/bypass.js.map +1 -1
- package/lib/commands/hardis/project/generate/flow-git-diff.js +4 -0
- package/lib/commands/hardis/project/generate/flow-git-diff.js.map +1 -1
- package/lib/commands/hardis/project/generate/gitdelta.js +42 -3
- package/lib/commands/hardis/project/generate/gitdelta.js.map +1 -1
- package/lib/commands/hardis/project/lint.js +23 -1
- package/lib/commands/hardis/project/lint.js.map +1 -1
- package/lib/commands/hardis/project/metadata/findduplicates.js +19 -7
- package/lib/commands/hardis/project/metadata/findduplicates.js.map +1 -1
- package/lib/commands/hardis/scratch/create.js +3 -2
- package/lib/commands/hardis/scratch/create.js.map +1 -1
- package/lib/commands/hardis/scratch/delete.js +24 -1
- package/lib/commands/hardis/scratch/delete.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/create.js +4 -0
- package/lib/commands/hardis/scratch/pool/create.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/localauth.js +22 -1
- package/lib/commands/hardis/scratch/pool/localauth.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/refresh.js +25 -1
- package/lib/commands/hardis/scratch/pool/refresh.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/reset.js +25 -1
- package/lib/commands/hardis/scratch/pool/reset.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/view.js +22 -1
- package/lib/commands/hardis/scratch/pool/view.js.map +1 -1
- package/lib/commands/hardis/scratch/pull.js +28 -9
- package/lib/commands/hardis/scratch/pull.js.map +1 -1
- package/lib/commands/hardis/scratch/push.js +17 -2
- package/lib/commands/hardis/scratch/push.js.map +1 -1
- package/lib/commands/hardis/source/retrieve.d.ts +1 -1
- package/lib/commands/hardis/source/retrieve.js +22 -4
- package/lib/commands/hardis/source/retrieve.js.map +1 -1
- package/lib/commands/hardis/work/new.js +51 -88
- package/lib/commands/hardis/work/new.js.map +1 -1
- package/lib/commands/hardis/work/refresh.js +42 -1
- package/lib/commands/hardis/work/refresh.js.map +1 -1
- package/lib/commands/hardis/work/resetselection.js +28 -3
- package/lib/commands/hardis/work/resetselection.js.map +1 -1
- package/lib/commands/hardis/work/save.js +52 -30
- package/lib/commands/hardis/work/save.js.map +1 -1
- package/lib/commands/hardis/work/ws.d.ts +3 -0
- package/lib/commands/hardis/work/ws.js +23 -3
- package/lib/commands/hardis/work/ws.js.map +1 -1
- package/lib/commands/hello/world.d.ts +1 -1
- package/lib/commands/hello/world.js +20 -1
- package/lib/commands/hello/world.js.map +1 -1
- package/lib/common/aiProvider/index.js +1 -0
- package/lib/common/aiProvider/index.js.map +1 -1
- package/lib/common/gitProvider/azureDevops.js +2 -1
- package/lib/common/gitProvider/azureDevops.js.map +1 -1
- package/lib/common/gitProvider/index.js +1 -0
- package/lib/common/gitProvider/index.js.map +1 -1
- package/lib/common/metadata-utils/index.js +12 -4
- package/lib/common/metadata-utils/index.js.map +1 -1
- package/lib/common/utils/apiUtils.js +22 -9
- package/lib/common/utils/apiUtils.js.map +1 -1
- package/lib/common/utils/authUtils.js +3 -2
- package/lib/common/utils/authUtils.js.map +1 -1
- package/lib/common/utils/dataUtils.js +1 -0
- package/lib/common/utils/dataUtils.js.map +1 -1
- package/lib/common/utils/deployUtils.js +21 -2
- package/lib/common/utils/deployUtils.js.map +1 -1
- package/lib/common/utils/filesUtils.js +33 -9
- package/lib/common/utils/filesUtils.js.map +1 -1
- package/lib/common/utils/gitUtils.js +3 -1
- package/lib/common/utils/gitUtils.js.map +1 -1
- package/lib/common/utils/index.d.ts +1 -1
- package/lib/common/utils/index.js +104 -25
- package/lib/common/utils/index.js.map +1 -1
- package/lib/common/utils/mermaidUtils.js +2 -2
- package/lib/common/utils/orgUtils.js +31 -18
- package/lib/common/utils/orgUtils.js.map +1 -1
- package/lib/common/utils/poolUtils.js +1 -0
- package/lib/common/utils/poolUtils.js.map +1 -1
- package/lib/common/utils/prompts.d.ts +2 -0
- package/lib/common/utils/prompts.js +4 -0
- package/lib/common/utils/prompts.js.map +1 -1
- package/lib/common/utils/xmlUtils.js +1 -1
- package/lib/common/websocketClient.d.ts +15 -2
- package/lib/common/websocketClient.js +149 -10
- package/lib/common/websocketClient.js.map +1 -1
- package/lib/config/index.js +4 -1
- package/lib/config/index.js.map +1 -1
- package/lib/hooks/{postrun → finally}/notify.d.ts +1 -1
- package/lib/hooks/{postrun → finally}/notify.js +3 -1
- package/lib/hooks/finally/notify.js.map +1 -0
- package/lib/hooks/init/check-local-sfdx-hardis-files.js +3 -1
- package/lib/hooks/init/check-local-sfdx-hardis-files.js.map +1 -1
- package/oclif.lock +117 -60
- package/oclif.manifest.json +272 -266
- package/package.json +15 -11
- package/lib/hooks/postrun/notify.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/configure/files.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAE9D,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAc;IAChD,MAAM,CAAC,KAAK,GAAG,+BAA+B,CAAC;IAE/C,MAAM,CAAC,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/configure/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,38 @@ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
|
15
15
|
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
16
16
|
export default class OrgConfigureMonitoring extends SfCommand {
|
|
17
17
|
static title = 'Configure org monitoring';
|
|
18
|
-
static description =
|
|
18
|
+
static description = `
|
|
19
|
+
## Command Behavior
|
|
20
|
+
|
|
21
|
+
**Configures the monitoring of a Salesforce org within a dedicated Git repository.**
|
|
22
|
+
|
|
23
|
+
This command streamlines the setup of continuous monitoring for a Salesforce organization, ensuring that changes and health metrics are tracked and reported. It is designed to be run within a Git repository specifically dedicated to monitoring configurations.
|
|
24
|
+
|
|
25
|
+
Key functionalities include:
|
|
26
|
+
|
|
27
|
+
- **Git Repository Validation:** Ensures the current Git repository's name contains "monitoring" to enforce best practices for separating monitoring configurations from deployment sources.
|
|
28
|
+
- **Prerequisite Check:** Guides the user to confirm that necessary monitoring prerequisites (CI/CD variables, permissions) are configured on their Git server.
|
|
29
|
+
- **Org Selection:** Prompts the user to select or connect to the Salesforce org they wish to monitor.
|
|
30
|
+
- **Monitoring Branch Creation:** Creates or checks out a dedicated Git branch (e.g., \`monitoring_yourinstanceurl\`) for the monitoring configuration.
|
|
31
|
+
- **SFDX Project Setup:** Initializes an SFDX project structure within the repository if it doesn't already exist, and copies default monitoring files.
|
|
32
|
+
- **Configuration File Update:** Updates the local \`.sfdx-hardis.yml\` file with the target org's username and instance URL.
|
|
33
|
+
- **SSL Certificate Generation:** Generates an SSL certificate for secure authentication to the monitored org.
|
|
34
|
+
- **Automated Commit and Push:** Offers to automatically commit and push the generated configuration files to the remote Git repository.
|
|
35
|
+
- **Scheduling Guidance:** Provides instructions and links for scheduling the monitoring job on the Git server.
|
|
36
|
+
|
|
37
|
+
## Technical explanations
|
|
38
|
+
|
|
39
|
+
The command's technical implementation involves a series of Git operations, file system manipulations, and Salesforce CLI interactions:
|
|
40
|
+
|
|
41
|
+
- **Git Operations:** Utilizes \`ensureGitRepository\`, \`getGitRepoName\`, \`execCommand\` (for \`git add\`, \`git stash\`), \`ensureGitBranch\`, and \`gitAddCommitPush\` to manage the Git repository, branches, and commits.
|
|
42
|
+
- **Interactive Prompts:** Employs the \`prompts\` library to interact with the user for confirmations and selections.
|
|
43
|
+
- **File System Management:** Uses \`fs-extra\` for copying default monitoring files (\`defaults/monitoring\`) and managing the SFDX project structure.
|
|
44
|
+
- **Salesforce CLI Integration:** Calls \`sf project generate\` to create a new SFDX project and uses \`promptOrg\` for Salesforce org authentication and selection.
|
|
45
|
+
- **Configuration Management:** Updates the \`.sfdx-hardis.yml\` file using \`setInConfigFile\` to store org-specific monitoring configurations.
|
|
46
|
+
- **SSL Certificate Generation:** Leverages \`generateSSLCertificate\` to create the necessary SSL certificates for JWT-based authentication to the Salesforce org.
|
|
47
|
+
- **External Tool Integration:** Requires \`openssl\` to be installed on the system for SSL certificate generation.
|
|
48
|
+
- **WebSocket Communication:** Uses \`WebSocketClient.sendRunSfdxHardisCommandMessage\` to restart the command in VS Code if the default org changes, and \`WebSocketClient.sendRefreshStatusMessage\` to update the status.
|
|
49
|
+
`;
|
|
19
50
|
static examples = ['$ sf hardis:org:configure:monitoring'];
|
|
20
51
|
static flags = {
|
|
21
52
|
orginstanceurl: Flags.string({
|
|
@@ -52,7 +83,9 @@ export default class OrgConfigureMonitoring extends SfCommand {
|
|
|
52
83
|
{ title: "Yes, I'm sure because I know what I'm doing, like Roman :)", value: 'yes' },
|
|
53
84
|
{ title: 'Mmmmm no, let me create another repo with the word "monitoring" in its name !', value: 'no' },
|
|
54
85
|
],
|
|
55
|
-
message: c.cyanBright("
|
|
86
|
+
message: c.cyanBright("Are you sure you want to mix monitoring and deployment sources ?"),
|
|
87
|
+
description: 'It is recommended to separate monitoring configuration from deployment sources in different repositories',
|
|
88
|
+
placeholder: 'Select an option',
|
|
56
89
|
});
|
|
57
90
|
if (confirmMix.value === 'no') {
|
|
58
91
|
throw new SfError('Your git repository name must contain the expression "monitoring"');
|
|
@@ -68,6 +101,8 @@ export default class OrgConfigureMonitoring extends SfCommand {
|
|
|
68
101
|
{ title: 'No, help me !', value: 'no' },
|
|
69
102
|
],
|
|
70
103
|
message: c.cyanBright('Did you configure the sfdx-hardis monitoring pre-requisites on your Git server ?'),
|
|
104
|
+
description: 'Confirm that you have set up the required CI/CD variables and permissions for monitoring',
|
|
105
|
+
placeholder: 'Select an option',
|
|
71
106
|
});
|
|
72
107
|
if (confirmPreRequisites.value === 'no') {
|
|
73
108
|
const msg = 'Please follow the instructions to configure the sfdx-hardis monitoring pre-requisites on your Git server\n' +
|
|
@@ -88,16 +123,14 @@ export default class OrgConfigureMonitoring extends SfCommand {
|
|
|
88
123
|
setDefault: true,
|
|
89
124
|
scratch: false,
|
|
90
125
|
promptMessage: 'Please select or connect to the org that you want to monitor',
|
|
126
|
+
defaultOrgUsername: flags['target-org']?.getUsername(),
|
|
91
127
|
});
|
|
92
128
|
// Restart command so the org is selected as default org (will help to select profiles)
|
|
93
129
|
if (currentOrgId !== org.orgId) {
|
|
94
130
|
const infoMsg = 'Default org changed. Please restart the same command if VsCode does not do that automatically for you :)';
|
|
95
131
|
uxLog(this, c.yellow(infoMsg));
|
|
96
132
|
const currentCommand = 'sf ' + this.id + ' ' + this.argv.join(' ') + ' --orginstanceurl ' + org.instanceUrl;
|
|
97
|
-
WebSocketClient.
|
|
98
|
-
event: 'runSfdxHardisCommand',
|
|
99
|
-
sfdxHardisCommand: currentCommand,
|
|
100
|
-
});
|
|
133
|
+
WebSocketClient.sendRunSfdxHardisCommandMessage(currentCommand);
|
|
101
134
|
return { outputString: infoMsg };
|
|
102
135
|
}
|
|
103
136
|
}
|
|
@@ -145,7 +178,8 @@ export default class OrgConfigureMonitoring extends SfCommand {
|
|
|
145
178
|
type: 'confirm',
|
|
146
179
|
name: 'value',
|
|
147
180
|
initial: true,
|
|
148
|
-
message: c.cyanBright('
|
|
181
|
+
message: c.cyanBright('Do you want sfdx-hardis to save your configuration on server ?'),
|
|
182
|
+
description: 'Automatically commit and push the monitoring configuration files to your git repository (recommended)',
|
|
149
183
|
});
|
|
150
184
|
if (confirmPush.value === true) {
|
|
151
185
|
await gitAddCommitPush({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitoring.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/configure/monitoring.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,KAAK,GACN,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,SAAc;IACzD,MAAM,CAAC,KAAK,GAAG,0BAA0B,CAAC;IAE1C,MAAM,CAAC,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"monitoring.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/configure/monitoring.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,KAAK,GACN,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,SAAc;IACzD,MAAM,CAAC,KAAK,GAAG,0BAA0B,CAAC;IAE1C,MAAM,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B7B,CAAC;IAEO,MAAM,CAAC,QAAQ,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAE3D,MAAM,CAAC,KAAK,GAAQ;QACzB,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC;YAC3B,WAAW,EAAE,yDAAyD;SACvE,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,WAAW,EAAE,+DAA+D;SAC7E,CAAC;QACF,YAAY,EAAE,+BAA+B;KAC9C,CAAC;IAEF,oEAAoE;IAC7D,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IACtC,sBAAsB;IAEZ,MAAM,CAAC,oBAAoB,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7C,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,oDAAoD;QACpD,MAAM,mBAAmB,EAAE,CAAC;QAE5B,qDAAqD;QACrD,MAAM,QAAQ,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC;gBAC/B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,4DAA4D,EAAE,KAAK,EAAE,KAAK,EAAE;oBACrF,EAAE,KAAK,EAAE,+EAA+E,EAAE,KAAK,EAAE,IAAI,EAAE;iBACxG;gBACD,OAAO,EAAE,CAAC,CAAC,UAAU,CACnB,kEAAkE,CACnE;gBACD,WAAW,EAAE,0GAA0G;gBACvH,WAAW,EAAE,kBAAkB;aAChC,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,OAAO,CAAC,mEAAmE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QACD,MAAM,gBAAgB,GAAG,GAAG,SAAS,CAAC,YAAY,kDAAkD,CAAC;QACrG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,2CAA2C,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC;YACzC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,OAAO;YACb,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE;aACxC;YACD,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,kFAAkF,CAAC;YACzG,WAAW,EAAE,0FAA0F;YACvG,WAAW,EAAE,kBAAkB;SAChC,CAAC,CAAC;QACH,IAAI,oBAAoB,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,GAAG,GACP,4GAA4G;gBAC5G,gBAAgB,CAAC;YACnB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,0BAA0B;QAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,KAAK,KAAK,CAAC,cAAc,EAAE,CAAC;YACvG,KAAK,CACH,IAAI,EACJ,CAAC,CAAC,IAAI,CACJ,eAAe,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,EAAE,WACpD,gDAAgD,CACjD,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE;gBAChC,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,8DAA8D;gBAC7E,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE;aACvD,CAAC,CAAC;YAEH,uFAAuF;YACvF,IAAI,YAAY,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,OAAO,GACX,0GAA0G,CAAC;gBAC7G,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/B,MAAM,cAAc,GAAG,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,GAAG,GAAG,CAAC,WAAW,CAAC;gBAC5G,eAAe,CAAC,+BAA+B,CAAC,cAAc,CAAC,CAAC;gBAChE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,UAAU,GACd,aAAa;YACb,KAAK,CAAC,YAAY,CAAC;gBACjB,EAAE,aAAa,EAAE;iBAChB,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;iBACnC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;iBACjC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEzB,4EAA4E;QAC5E,MAAM,WAAW,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,MAAM,eAAe,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtD,0CAA0C;QAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,qBAAqB,GAAG,kCAAkC,CAAC;YACjF,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAChD,MAAM,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE;gBACrC,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,MAAM,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAE1C,sCAAsC;YACtC,KAAK,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;YACnD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzG,qCAAqC;gBACrC,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7G,CAAC;QAED,qBAAqB;QACrB,MAAM,eAAe,CACnB,EAAE,EACF;YACE,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;YACjD,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC,WAAW;SAC7D,EACD,oBAAoB,CACrB,CAAC;QAEF,0EAA0E;QAC1E,MAAM,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;QAElG,2BAA2B;QAC3B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;YAChC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,CAAC,UAAU,CACnB,gEAAgE,CACjE;YACD,WAAW,EAAE,uGAAuG;SACrH,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,gBAAgB,CAAC;gBACrB,OAAO,EAAE,+CAA+C;aACzD,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,sEAAsE,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAC3C,KAAK,CACH,IAAI,EACJ,CAAC,CAAC,WAAW,CACX,uFAAuF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAC1G,CACF,CAAC;QACF,MAAM,qBAAqB,GAAG,GAAG,SAAS,CAAC,YAAY,kDAAkD,CAAC;QAC1G,MAAM,GAAG,GACP,wFAAwF;YACxF,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,+CAA+C;QAC/C,OAAO,EAAE,YAAY,EAAE,sCAAsC,EAAE,CAAC;IAClE,CAAC"}
|
|
@@ -8,8 +8,28 @@ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
|
8
8
|
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
9
9
|
export default class OrgConnect extends SfCommand {
|
|
10
10
|
static title = 'Connect to an org';
|
|
11
|
-
static description = `
|
|
12
|
-
|
|
11
|
+
static description = `
|
|
12
|
+
## Command Behavior
|
|
13
|
+
|
|
14
|
+
**Connects to a Salesforce org without setting it as the default username, and optionally opens the org in a web browser.**
|
|
15
|
+
|
|
16
|
+
This command provides a quick way to establish a connection to a Salesforce organization for one-off tasks or when you don't want to change your default org. It's useful for accessing different environments without disrupting your primary development setup.
|
|
17
|
+
|
|
18
|
+
Key functionalities:
|
|
19
|
+
|
|
20
|
+
- **Org Selection:** Prompts the user to select an existing Salesforce org or connect to a new one.
|
|
21
|
+
- **Non-Default Connection:** Ensures that the selected org is connected but does not set it as the default username for subsequent Salesforce CLI commands.
|
|
22
|
+
- **Browser Launch (Optional):** Offers to open the connected org directly in your default web browser, providing immediate access to the Salesforce UI.
|
|
23
|
+
|
|
24
|
+
## Technical explanations
|
|
25
|
+
|
|
26
|
+
The command's technical implementation involves:
|
|
27
|
+
|
|
28
|
+
- **Interactive Org Prompt:** Uses the \`promptOrg\` utility to display a list of available Salesforce orgs and allows the user to select one or initiate a new authentication flow.
|
|
29
|
+
- **Salesforce CLI Integration:** Internally, it leverages Salesforce CLI commands to establish the connection to the chosen org. It does not use \`sf config set target-org\` to avoid changing the default org.
|
|
30
|
+
- **Browser Launch:** If the user opts to open the org in a browser, it executes the \`sf org open\` command, passing the selected org's username as the target.
|
|
31
|
+
- **Environment Awareness:** Checks the \`isCI\` flag to determine whether to offer the browser launch option, as it's typically not applicable in continuous integration environments.
|
|
32
|
+
`;
|
|
13
33
|
static examples = ['$ sf hardis:org:connect'];
|
|
14
34
|
// public static args = [{name: 'file'}];
|
|
15
35
|
static flags = {
|
|
@@ -40,6 +60,7 @@ export default class OrgConnect extends SfCommand {
|
|
|
40
60
|
type: 'confirm',
|
|
41
61
|
name: 'value',
|
|
42
62
|
message: 'Do you want to open this org in Web Browser ?',
|
|
63
|
+
description: 'Launch the Salesforce org in your default web browser for immediate access',
|
|
43
64
|
});
|
|
44
65
|
if (openRes.value === true) {
|
|
45
66
|
const openCommand = `sf org open --target-org ${org.username}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../src/commands/hardis/org/connect.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAc;IAC7C,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;IAEnC,MAAM,CAAC,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../src/commands/hardis/org/connect.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAc;IAC7C,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC;IAEnC,MAAM,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB7B,CAAC;IAEO,MAAM,CAAC,QAAQ,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAErD,yCAAyC;IAElC,MAAM,CAAC,KAAK,GAAQ;QACzB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,WAAW,EAAE,+DAA+D;SAC7E,CAAC;KACH,CAAC;IAEF,uGAAuG;IAChG,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAE5B,SAAS,GAAG,KAAK,CAAC;IAE5B,sBAAsB;IAEf,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;QAEtC,2BAA2B;QAC3B,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAExE,yDAAyD;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;gBAC5B,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,+CAA+C;gBACxD,WAAW,EAAE,4EAA4E;aAC1F,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,4BAA4B,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/D,MAAM,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,OAAO,EAAE,YAAY,EAAE,oBAAoB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9D,CAAC"}
|
|
@@ -16,7 +16,36 @@ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
|
16
16
|
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
17
17
|
export default class SandboxCreate extends SfCommand {
|
|
18
18
|
static title = 'Create sandbox org';
|
|
19
|
-
static description =
|
|
19
|
+
static description = `
|
|
20
|
+
## Command Behavior
|
|
21
|
+
|
|
22
|
+
**Creates and initializes a Salesforce sandbox org.**
|
|
23
|
+
|
|
24
|
+
This command automates the process of provisioning a new sandbox environment, making it ready for development or testing. It handles various aspects of sandbox creation and initial setup, reducing manual effort and ensuring consistency.
|
|
25
|
+
|
|
26
|
+
Key functionalities:
|
|
27
|
+
|
|
28
|
+
- **Sandbox Definition:** Uses a \`project-sandbox-def.json\` file (if present in \`config/\`) to define sandbox properties like name, description, license type, and source sandbox. If not provided, it uses default values.
|
|
29
|
+
- **Dynamic Naming:** Generates a unique sandbox alias based on the current username, Git branch, and a timestamp.
|
|
30
|
+
- **Sandbox Creation:** Executes the Salesforce CLI command to create the sandbox, including setting it as the default org and waiting for its completion.
|
|
31
|
+
- **User Update:** Updates the main sandbox user's details (e.g., Last Name, First Name) and can fix country values or marketing user permissions if needed.
|
|
32
|
+
- **Initialization Scripts:** Runs predefined Apex scripts, assigns permission sets, and imports initial data into the newly created sandbox, based on configurations in your project.
|
|
33
|
+
- **Error Handling:** Provides detailed error messages for common sandbox creation issues, including Salesforce-specific errors.
|
|
34
|
+
|
|
35
|
+
## Technical explanations
|
|
36
|
+
|
|
37
|
+
The command's technical implementation involves:
|
|
38
|
+
|
|
39
|
+
- **Configuration Loading:** It loads project and user configurations using \`getConfig\` to retrieve settings like \`projectName\`, \`devHubAlias\`, and \`userEmail\`.
|
|
40
|
+
- **Git Integration:** Retrieves the current Git branch name using \`getCurrentGitBranch\` to inform sandbox naming.
|
|
41
|
+
- **File System Operations:** Uses \`fs-extra\` to manage sandbox definition files (reading \`project-sandbox-def.json\`, writing a user-specific definition file) and temporary directories.
|
|
42
|
+
- **Salesforce CLI Execution:** Executes Salesforce CLI commands (\`sf org create sandbox\`, \`sf data get record\`, \`sf data update record\`, \`sf org open\`) using \`execSfdxJson\` for sandbox creation, user updates, and opening the org in a browser.
|
|
43
|
+
- **Cache Management:** Clears the Salesforce CLI org list cache (\`clearCache('sf org list')\`) to ensure the newly created sandbox is immediately recognized.
|
|
44
|
+
- **Initialization Utilities:** Calls a suite of utility functions (\`initPermissionSetAssignments\`, \`initApexScripts\`, \`initOrgData\`) to perform post-creation setup tasks.
|
|
45
|
+
- **Error Assertions:** Uses \`assert\` to check the success of Salesforce CLI commands and provides custom error messages for better debugging.
|
|
46
|
+
- **WebSocket Communication:** Uses \`WebSocketClient.sendRefreshStatusMessage\` to notify connected VS Code clients about the new sandbox.
|
|
47
|
+
- **Required Plugin Check:** Explicitly lists \`sfdmu\` as a required plugin, indicating its role in data initialization.
|
|
48
|
+
`;
|
|
20
49
|
static examples = ['$ sf hardis:org:create'];
|
|
21
50
|
// public static args = [{name: 'file'}];
|
|
22
51
|
static flags = {
|
|
@@ -142,7 +171,7 @@ export default class SandboxCreate extends SfCommand {
|
|
|
142
171
|
this.sandboxOrgInfo = createResult.result;
|
|
143
172
|
this.sandboxOrgUsername = this.sandboxOrgInfo.username;
|
|
144
173
|
// Trigger a status refresh on VsCode WebSocket Client
|
|
145
|
-
WebSocketClient.
|
|
174
|
+
WebSocketClient.sendRefreshStatusMessage();
|
|
146
175
|
// Open sandbox org for user if not in CI
|
|
147
176
|
await execSfdxJson('sf org open', this, {
|
|
148
177
|
fail: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/hardis/org/create.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAClH,OAAO,EACL,eAAe,EACf,WAAW,EACX,4BAA4B,EAC5B,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAc;IAChD,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC;IAEpC,MAAM,CAAC,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/hardis/org/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,12 +9,34 @@ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
|
9
9
|
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
10
10
|
export default class DataExport extends SfCommand {
|
|
11
11
|
static title = 'Delete data';
|
|
12
|
-
static description = `
|
|
13
|
-
|
|
14
|
-
If you need to run this command in production, you need to:
|
|
12
|
+
static description = `
|
|
13
|
+
## Command Behavior
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
**Deletes records in multiple Salesforce objects using an SFDMU (Salesforce Data Migration Utility) workspace.**
|
|
16
|
+
|
|
17
|
+
This command provides a powerful and controlled way to remove data from your Salesforce orgs based on configurations defined in an SFDMU workspace. It's particularly useful for:
|
|
18
|
+
|
|
19
|
+
- **Data Cleanup:** Removing test data, obsolete records, or sensitive information.
|
|
20
|
+
- **Environment Reset:** Preparing sandboxes for new development cycles by clearing specific data sets.
|
|
21
|
+
- **Compliance:** Deleting data to meet regulatory requirements.
|
|
22
|
+
|
|
23
|
+
**Important Considerations for Production Environments:**
|
|
24
|
+
|
|
25
|
+
If you intend to run this command in a production environment, you must:
|
|
26
|
+
|
|
27
|
+
- Set \`runnableInProduction\` to \`true\` in your \`export.json\` file within the SFDMU workspace.
|
|
28
|
+
- Define \`sfdmuCanModify: YOUR_INSTANCE_URL\` in your branch-specific configuration file (e.g., \`config/branches/.sfdx-hardis.YOUR_BRANCH.yml\`) to explicitly authorize data modification for that instance.
|
|
29
|
+
|
|
30
|
+
## Technical explanations
|
|
31
|
+
|
|
32
|
+
The command's technical implementation relies heavily on the SFDMU plugin:
|
|
33
|
+
|
|
34
|
+
- **SFDMU Integration:** It leverages the \`sfdmu\` plugin to perform the actual data deletion operations. The command acts as a wrapper, providing an assisted interface for SFDMU execution.
|
|
35
|
+
- **Workspace Selection:** If the SFDMU workspace path is not provided via the \`--path\` flag, it interactively prompts the user to select a data workspace using \`selectDataWorkspace\`.
|
|
36
|
+
- **Org Selection:** It ensures that a target Salesforce org is selected (either via the \`--target-org\` flag or through an interactive prompt using \`promptOrgUsernameDefault\`) to specify where the data deletion will occur.
|
|
37
|
+
- **\`deleteData\` Utility:** The core logic for executing the SFDMU deletion process is encapsulated within the \`deleteData\` utility function, which takes the SFDMU workspace path and the target username as arguments.
|
|
38
|
+
- **Environment Awareness:** It checks the \`isCI\` flag to determine whether to run in an interactive mode (prompting for user input) or a non-interactive mode (relying solely on command-line flags).
|
|
39
|
+
- **Required Plugin:** It explicitly lists \`sfdmu\` as a required plugin, ensuring that the necessary dependency is in place before execution.
|
|
18
40
|
`;
|
|
19
41
|
static examples = ['$ sf hardis:org:data:delete'];
|
|
20
42
|
static flags = {
|
|
@@ -50,7 +72,7 @@ If you need to run this command in production, you need to:
|
|
|
50
72
|
// Select org that where records will be imported
|
|
51
73
|
let orgUsername = flags['target-org'].getUsername();
|
|
52
74
|
if (!isCI) {
|
|
53
|
-
orgUsername = await promptOrgUsernameDefault(this, orgUsername || '', { devHub: false, setDefault: false });
|
|
75
|
+
orgUsername = await promptOrgUsernameDefault(this, orgUsername || '', { devHub: false, setDefault: false, defaultOrgUsername: flags['target-org']?.getUsername() });
|
|
54
76
|
}
|
|
55
77
|
// Export data from org
|
|
56
78
|
await deleteData(sfdmuPath || '', this, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/data/delete.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAc;IAC7C,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IAE7B,MAAM,CAAC,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/data/delete.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAc;IAC7C,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IAE7B,MAAM,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B7B,CAAC;IAEO,MAAM,CAAC,QAAQ,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAElD,MAAM,CAAC,KAAK,GAAQ;QACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oCAAoC;SAClD,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,WAAW,EAAE,+DAA+D;SAC7E,CAAC;QACF,YAAY,EAAE,+BAA+B;KAC9C,CAAC;IAEF,uGAAuG;IAChG,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAEtC,kFAAkF;IACxE,MAAM,CAAC,mBAAmB,GAAG,CAAC,OAAO,CAAC,CAAC;IAEjD,sBAAsB;IAEf,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;QAEnC,0CAA0C;QAC1C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,SAAS,GAAG,MAAM,mBAAmB,CAAC,EAAE,eAAe,EAAE,oDAAoD,EAAE,CAAC,CAAC;QACnH,CAAC;QAED,iDAAiD;QACjD,IAAI,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,WAAW,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACtK,CAAC;QAED,uBAAuB;QACvB,MAAM,UAAU,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,EAAE;YACtC,cAAc,EAAE,WAAW;SAC5B,CAAC,CAAC;QAEH,iBAAiB;QACjB,MAAM,OAAO,GAAG,sCAAsC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,KAAK,CACvG,SAAS,CACV,EAAE,CAAC;QACJ,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC"}
|
|
@@ -9,11 +9,37 @@ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
|
9
9
|
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
10
10
|
export default class DataExport extends SfCommand {
|
|
11
11
|
static title = 'Export data';
|
|
12
|
-
static description = `
|
|
12
|
+
static description = `
|
|
13
|
+
## Command Behavior
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
**Exports data from a Salesforce org using an SFDMU (Salesforce Data Migration Utility) project.**
|
|
16
|
+
|
|
17
|
+
This command facilitates the extraction of data from your Salesforce environments based on configurations defined in an SFDMU workspace. It's a powerful tool for various data-related tasks, including:
|
|
18
|
+
|
|
19
|
+
- **Data Backup:** Creating snapshots of your Salesforce data.
|
|
20
|
+
- **Data Migration:** Extracting data for transfer to another Salesforce org or external system.
|
|
21
|
+
- **Reporting and Analysis:** Exporting specific datasets for detailed analysis outside of Salesforce.
|
|
22
|
+
- **Data Seeding:** Preparing data for import into other environments.
|
|
23
|
+
|
|
24
|
+
Key functionalities:
|
|
25
|
+
|
|
26
|
+
- **SFDMU Workspace Integration:** Leverages an existing SFDMU workspace (defined by an \`export.json\` file) to determine which objects and records to export, along with any filtering or transformation rules.
|
|
27
|
+
- **Interactive Workspace Selection:** If the SFDMU workspace path is not provided via the \`--path\` flag, it interactively prompts the user to select one.
|
|
28
|
+
- **Org Selection:** Ensures that a target Salesforce org is selected (either via the \`--target-org\` flag or through an interactive prompt) to specify the source of the data export.
|
|
29
|
+
|
|
30
|
+
See this article for a practical example:
|
|
15
31
|
|
|
16
32
|
[](https://nicolas.vuillamy.fr/how-to-detect-bad-words-in-salesforce-records-using-sfdx-data-loader-and-sfdx-hardis-171db40a9bac)
|
|
33
|
+
|
|
34
|
+
## Technical explanations
|
|
35
|
+
|
|
36
|
+
The command's technical implementation relies heavily on the SFDMU plugin:
|
|
37
|
+
|
|
38
|
+
- **SFDMU Integration:** It acts as a wrapper around the \`sfdmu\` plugin, which performs the actual data export operations. The command provides an assisted interface for SFDMU execution.
|
|
39
|
+
- **\`exportData\` Utility:** The core logic for executing the SFDMU export process is encapsulated within the \`exportData\` utility function, which takes the SFDMU workspace path and the source username as arguments.
|
|
40
|
+
- **Interactive Prompts:** Uses \`selectDataWorkspace\` to allow the user to choose an SFDMU project and \`promptOrgUsernameDefault\` for selecting the source Salesforce org when not running in a CI environment.
|
|
41
|
+
- **Environment Awareness:** Checks the \`isCI\` flag to determine whether to run in an interactive mode (prompting for user input) or a non-interactive mode (relying solely on command-line flags).
|
|
42
|
+
- **Required Plugin:** It explicitly lists \`sfdmu\` as a required plugin, ensuring that the necessary dependency is in place before execution.
|
|
17
43
|
`;
|
|
18
44
|
static examples = ['$ sf hardis:org:data:export'];
|
|
19
45
|
static flags = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/data/export.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAc;IAC7C,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IAE7B,MAAM,CAAC,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/data/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -210,15 +210,13 @@ This command is part of [sfdx-hardis Monitoring](${CONSTANTS.DOC_URL_ROOT}/sales
|
|
|
210
210
|
await this.queryAuditTrail(whereConstraint, conn);
|
|
211
211
|
await this.handleCustomSettingsAudit(conn);
|
|
212
212
|
// Summarize
|
|
213
|
+
uxLog(this, c.cyan(`Results summary:`));
|
|
213
214
|
let statusCode = 0;
|
|
214
215
|
let msg = 'No suspect Setup Audit Trail records has been found';
|
|
215
216
|
const suspectActionsWithCount = [];
|
|
216
217
|
if (this.suspectRecords.length > 0) {
|
|
217
218
|
statusCode = 1;
|
|
218
|
-
uxLog(this, c.yellow('Suspect records list'));
|
|
219
|
-
uxLog(this, JSON.stringify(this.suspectRecords, null, 2));
|
|
220
219
|
msg = `${this.suspectRecords.length} suspect Setup Audit Trail records has been found`;
|
|
221
|
-
uxLog(this, c.yellow(msg));
|
|
222
220
|
this.suspectUsers = [...new Set(this.suspectUsers)];
|
|
223
221
|
sortCrossPlatform(this.suspectUsers);
|
|
224
222
|
const suspectActionsSummary = {};
|
|
@@ -229,17 +227,20 @@ This command is part of [sfdx-hardis Monitoring](${CONSTANTS.DOC_URL_ROOT}/sales
|
|
|
229
227
|
suspectActionsWithCount.push(`${suspectAction} (${suspectActionsSummary[suspectAction]})`);
|
|
230
228
|
}
|
|
231
229
|
sortCrossPlatform(suspectActionsWithCount);
|
|
232
|
-
uxLog(this, '');
|
|
233
|
-
uxLog(this,
|
|
230
|
+
uxLog(this, 'Suspect records list');
|
|
231
|
+
uxLog(this, JSON.stringify(this.suspectRecords, null, 2));
|
|
232
|
+
let logMsg = '';
|
|
233
|
+
logMsg += c.yellow(msg) + '\n\n';
|
|
234
|
+
logMsg += c.yellow('Related users:') + '\n';
|
|
234
235
|
for (const user of this.suspectUsers) {
|
|
235
|
-
|
|
236
|
+
logMsg += c.yellow(`- ${user}` + ' (' + this.suspectUsersAndActions[user].actions.join(', ') + ")") + '\n';
|
|
236
237
|
}
|
|
237
|
-
|
|
238
|
-
uxLog(this, c.yellow('Related actions:'));
|
|
238
|
+
logMsg += '\n' + c.yellow('Related actions:') + '\n';
|
|
239
239
|
for (const action of suspectActionsWithCount) {
|
|
240
|
-
|
|
240
|
+
logMsg += c.yellow(`- ${action}`) + '\n';
|
|
241
241
|
}
|
|
242
|
-
|
|
242
|
+
logMsg += '\n';
|
|
243
|
+
uxLog(this, logMsg);
|
|
243
244
|
}
|
|
244
245
|
else {
|
|
245
246
|
uxLog(this, c.green(msg));
|
|
@@ -299,7 +300,6 @@ This command is part of [sfdx-hardis Monitoring](${CONSTANTS.DOC_URL_ROOT}/sales
|
|
|
299
300
|
`FROM SetupAuditTrail ` +
|
|
300
301
|
whereConstraint +
|
|
301
302
|
`ORDER BY CreatedDate DESC`;
|
|
302
|
-
uxLog(this, c.grey('Query: ' + c.italic(auditTrailQuery)));
|
|
303
303
|
const queryRes = await bulkQuery(auditTrailQuery, conn);
|
|
304
304
|
this.auditTrailRecords = queryRes.records.map((record) => {
|
|
305
305
|
const section = record?.Section || '';
|
|
@@ -342,12 +342,12 @@ This command is part of [sfdx-hardis Monitoring](${CONSTANTS.DOC_URL_ROOT}/sales
|
|
|
342
342
|
return;
|
|
343
343
|
}
|
|
344
344
|
// Add custom settings tracking
|
|
345
|
-
uxLog(this, c.cyan(`
|
|
346
|
-
uxLog(this, c.
|
|
345
|
+
uxLog(this, c.cyan(`List available custom settings...`));
|
|
346
|
+
uxLog(this, c.grey(`(Define SKIP_AUDIT_TRAIL_CUSTOM_SETTINGS=true if you don't want them)`));
|
|
347
347
|
const customSettingsQuery = `SELECT QualifiedApiName, Label FROM EntityDefinition
|
|
348
348
|
WHERE IsCustomSetting = true`;
|
|
349
349
|
const customSettingsResult = await soqlQuery(customSettingsQuery, conn);
|
|
350
|
-
uxLog(this, c.cyan(`
|
|
350
|
+
uxLog(this, c.cyan(`Analyze updates in ${customSettingsResult.records.length} Custom Settings...`));
|
|
351
351
|
let whereConstraintCustomSetting = `WHERE LastModifiedDate = LAST_N_DAYS:${this.lastNdays}` + ` AND LastModifiedBy.Username != NULL `;
|
|
352
352
|
if (this.excludeUsers.length > 0) {
|
|
353
353
|
whereConstraintCustomSetting += `AND LastModifiedBy.Username NOT IN ('${this.excludeUsers.join("','")}') `;
|
|
@@ -497,6 +497,8 @@ This command is part of [sfdx-hardis Monitoring](${CONSTANTS.DOC_URL_ROOT}/sales
|
|
|
497
497
|
type: 'select',
|
|
498
498
|
name: 'lastndays',
|
|
499
499
|
message: 'Please select the number of days in the past from today you want to detect suspiscious setup activities',
|
|
500
|
+
description: 'Choose the timeframe for analyzing audit trail records to detect suspicious administrative activities',
|
|
501
|
+
placeholder: 'Select number of days',
|
|
500
502
|
choices: [
|
|
501
503
|
{ title: `1`, value: 1 },
|
|
502
504
|
{ title: `2`, value: 2 },
|
|
@@ -531,8 +533,8 @@ This command is part of [sfdx-hardis Monitoring](${CONSTANTS.DOC_URL_ROOT}/sales
|
|
|
531
533
|
if (this.excludeUsers.length > 0) {
|
|
532
534
|
whereConstraint += `AND CreatedBy.Username NOT IN ('${this.excludeUsers.join("','")}') `;
|
|
533
535
|
}
|
|
534
|
-
uxLog(this, c.
|
|
535
|
-
uxLog(this, c.
|
|
536
|
+
uxLog(this, c.grey(`Excluded users are ${this.excludeUsers.join(',') || 'None'}`));
|
|
537
|
+
uxLog(this, c.grey(`Use argument --excludeusers or .sfdx-hardis.yml property monitoringExcludeUsernames to exclude more users`));
|
|
536
538
|
return whereConstraint;
|
|
537
539
|
}
|
|
538
540
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audittrail.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/diagnose/audittrail.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audittrail.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/org/diagnose/audittrail.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAiB,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACjH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAc;IACrD,MAAM,CAAC,KAAK,GAAG,uCAAuC,CAAC;IAEvD,MAAM,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA2HqB,SAAS,CAAC,YAAY;CACxE,CAAC;IAEO,MAAM,CAAC,QAAQ,GAAG;QACvB,qCAAqC;QACrC,sEAAsE;QACtE,wFAAwF;QACxF,mDAAmD;KACpD,CAAC;IAEK,MAAM,CAAC,KAAK,GAAQ;QACzB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,8CAA8C;SAC5D,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,iDAAiD;SAC/D,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mEAAmE;SACjF,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,WAAW,EAAE,+DAA+D;SAC7E,CAAC;QACF,YAAY,EAAE,+BAA+B;KAC9C,CAAC;IAEK,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAE5B,YAAY,GAAU,EAAE,CAAC;IACzB,SAAS,CAAqB;IAC9B,sBAAsB,GAAG,EAAE,CAAC;IAC5B,SAAS,GAAG,KAAK,CAAC;IAElB,cAAc,GAAU,EAAE,CAAC;IAC3B,YAAY,GAAU,EAAE,CAAC;IACzB,sBAAsB,GAAQ,EAAE,CAAC;IACjC,cAAc,GAAU,EAAE,CAAC;IAC3B,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACzC,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAEjD,iBAAiB,GAAU,EAAE,CAAC;IAC9B,UAAU,CAAC;IACX,cAAc,GAAQ,EAAE,CAAC;IAEnC,sBAAsB;IAEf,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEzC,kEAAkE;QAClE,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,+DAA+D;QAC/D,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAExC,6DAA6D;QAC7D,IAAI,MAAM,CAAC,gCAAgC,EAAE,CAAC;YAC5C,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACpH,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,8DAA8D,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC;QAE1G,4BAA4B;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEzD,gCAAgC;QAChC,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAE3C,YAAY;QACZ,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACxC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,GAAG,GAAG,qDAAqD,CAAC;QAChE,MAAM,uBAAuB,GAAU,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,UAAU,GAAG,CAAC,CAAC;YACf,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,mDAAmD,CAAC;YACvF,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpD,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrC,MAAM,qBAAqB,GAA2B,EAAE,CAAC;YACzD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAChD,qBAAqB,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACzF,CAAC;YACD,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC/D,uBAAuB,CAAC,IAAI,CAAC,GAAG,aAAa,KAAK,qBAAqB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC7F,CAAC;YACD,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;YAE3C,KAAK,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAE1D,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YACjC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YAC5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YAC7G,CAAC;YACD,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;YACrD,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;YAC3C,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;YACf,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAErF,uBAAuB;QACvB,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,MAAM,sBAAsB,EAAE,CAAC;QACpD,IAAI,aAAa,GAAkB,KAAK,CAAC;QACzC,IAAI,SAAS,GAAG,0DAA0D,WAAW,EAAE,CAAC;QACxF,IAAI,gBAAgB,GAAU,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,aAAa,GAAG,SAAS,CAAC;YAC1B,SAAS,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,yDAAyD,WAAW,EAAE,CAAC;YAChH,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,eAAe,IAAI,oBAAoB,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrC,eAAe,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YACvG,CAAC;YACD,eAAe,IAAI,IAAI,CAAC;YACxB,eAAe,IAAI,sBAAsB,CAAC;YAC1C,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;gBAC7C,eAAe,IAAI,KAAK,MAAM,IAAI,CAAC;YACrC,CAAC;YACD,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA,uDAAuD;QAC1H,MAAM,aAAa,CAAC,iBAAiB,CAAC;YACpC,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,aAAa;YACvB,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACjF,WAAW,EAAE,IAAI,CAAC,iBAAiB;YACnC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC5C,OAAO,EAAE;gBACP,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM;aACnD;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC;QAChC,CAAC;QAED,+CAA+C;QAC/C,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,GAAG;YACZ,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,eAAuB,EAAE,IAAS;QAC9D,MAAM,eAAe,GAAG,sHAAsH;YAC5I,uBAAuB;YACvB,eAAe;YACf,2BAA2B,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACvD,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC;YAC3C,oBAAoB;YACpB,IAAI,CACF,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBACpC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC/C,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAC9D;gBACC,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,MAAM,CAAC,aAAa,GAAG,sCAAsC,OAAO,gBAAgB,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpG,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC5B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,sBAAsB,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC/C,MAAM,cAAc,GAAG,GAAG,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBACzD,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,GAAG;wBACpD,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC;wBAC9B,OAAO,EAAE,EAAE;qBACZ,CAAC;gBACJ,CAAC;gBACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC;gBACvF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChD,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,OAAO,GAAG,kBAAkB,CAAC;gBACjF,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,IAAS;QAC/C,IAAI,OAAO,CAAC,GAAG,EAAE,gCAAgC,KAAK,MAAM,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC,CAAC;YACtH,OAAO;QACT,CAAC;QACD,+BAA+B;QAC/B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC,CAAC;QAC7F,MAAM,mBAAmB,GAAG;wDACwB,CAAC;QACrD,MAAM,oBAAoB,GAAG,MAAM,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,oBAAoB,CAAC,OAAO,CAAC,MAAM,qBAAqB,CAAC,CAAC,CAAC;QAEpG,IAAI,4BAA4B,GAAG,wCAAwC,IAAI,CAAC,SAAS,EAAE,GAAG,uCAAuC,CAAC;QACtI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,4BAA4B,IAAI,wCAAwC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7G,CAAC;QACD,oCAAoC;QACpC,MAAM,0BAA0B,GAAU,EAAE,CAAC;QAC7C,KAAK,MAAM,EAAE,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B;kBACQ,EAAE,CAAC,gBAAgB,GAAG;sBAC5B,4BAA4B,EAC9B,IAAI,CACL,CAAC;gBAEF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpC,0BAA0B,CAAC,IAAI,CAAC;4BAC9B,WAAW,EAAE,MAAM,CAAC,gBAAgB;4BACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC;4BACpD,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,CAAC;4BAC5D,qBAAqB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC;4BACzD,yBAAyB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,CAAC;4BACjE,MAAM,EAAE,gBAAgB,EAAE,CAAC,gBAAgB,EAAE;4BAC7C,OAAO,EAAE,iBAAiB;4BAC1B,OAAO,EAAE,0BAA0B,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,gBAAgB,GAAG;4BACtE,0BAA0B,EAAE,IAAI;4BAChC,YAAY,EAAE,IAAI;4BAClB,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,SAAS;4BACnB,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC;4BACxC,aAAa,EAAE,qBAAqB;yBACrC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC1E,SAAS;YACX,CAAC;QACH,CAAC;QACD,oDAAoD;QACpD,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,0BAA0B,CAAC,MAAM,yBAAyB,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,CAAC;YAE3D,yBAAyB;YACzB,KAAK,MAAM,QAAQ,IAAI,0BAA0B,EAAE,CAAC;gBAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC/C,MAAM,cAAc,GAAG,GAAG,QAAQ,CAAC,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAEzC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBACzD,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,GAAG;wBACpD,IAAI,EAAE,QAAQ,CAAC,qBAAqB,CAAC;wBACrC,OAAO,EAAE,EAAE;qBACZ,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3F,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gCAAgC;QACtC,IAAI,CAAC,sBAAsB,GAAG;YAC5B,EAAE,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,2BAA2B,CAAC;YAC/F,gCAAgC,EAAE,CAAC,mBAAmB,CAAC;YACvD,qBAAqB,EAAE;gBACrB,yBAAyB;gBACzB,2BAA2B;gBAC3B,2BAA2B;aAC5B;YACD,iBAAiB,EAAE;gBACjB,4BAA4B;gBAC5B,iBAAiB;aAClB;YACD,QAAQ,EAAE,CAAC,sBAAsB,CAAC;YAClC,iBAAiB,EAAE,CAAC,iBAAiB,CAAC;YACtC,sBAAsB,EAAE,CAAC,wBAAwB,EAAE,mCAAmC,CAAC;YACvF,kBAAkB,EAAE,CAAC,yBAAyB,CAAC;YAC/C,QAAQ,EAAE,CAAC,gBAAgB,CAAC;YAC5B,sCAAsC,EAAE;gBACtC,qBAAqB;gBACrB,oBAAoB;aACrB;YACD,MAAM,EAAE,CAAC,iBAAiB,CAAC;YAC3B,oBAAoB,EAAE,CAAC,0BAA0B,EAAE,8BAA8B,CAAC;YAClF,cAAc,EAAE;gBACd,eAAe;gBACf,aAAa;gBACb,0BAA0B;gBAC1B,cAAc;gBACd,qBAAqB;gBACrB,6BAA6B;gBAC7B,6BAA6B;gBAC7B,2BAA2B;gBAC3B,2BAA2B;gBAC3B,gBAAgB;gBAChB,yBAAyB;gBACzB,uBAAuB;gBACvB,gCAAgC;gBAChC,gCAAgC;gBAChC,0BAA0B;gBAC1B,oBAAoB;gBACpB,4BAA4B;gBAC5B,iBAAiB;gBACjB,+BAA+B;gBAC/B,2BAA2B;gBAC3B,wCAAwC;gBACxC,0CAA0C;gBAC1C,wCAAwC;gBACxC,2BAA2B;gBAC3B,yBAAyB;gBACzB,iBAAiB;gBACjB,wBAAwB;gBACxB,0CAA0C;gBAC1C,wCAAwC;gBACxC,iBAAiB;gBACjB,4BAA4B;gBAC5B,sBAAsB;gBACtB,yBAAyB;gBACzB,WAAW;gBACX,4BAA4B;gBAC5B,sBAAsB;gBACtB,yBAAyB;gBACzB,sBAAsB;gBACtB,eAAe;gBACf,oBAAoB;gBACpB,sBAAsB;gBACtB,sBAAsB;gBACtB,iBAAiB;gBACjB,wBAAwB;gBACxB,2BAA2B;gBAC3B,eAAe;gBACf,qBAAqB;gBACrB,sBAAsB;gBACtB,iBAAiB;gBACjB,kBAAkB;gBAClB,aAAa;gBACb,qBAAqB;aACtB;YACD,uBAAuB,EAAE,CAAC,6BAA6B,CAAC;YACxD,qBAAqB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YAC/D,SAAS,EAAE,CAAC,eAAe,CAAC;SAC7B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC;gBACtC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,yGAAyG;gBAClH,WAAW,EAAE,uGAAuG;gBACpH,WAAW,EAAE,uBAAuB;gBACpC,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;oBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;oBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;oBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;oBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;oBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;oBACxB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;oBACxB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC1B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC1B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC1B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC1B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;iBAC7B;aACF,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,MAAW;QACrC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,MAAM,CAAC,0BAA0B,EAAE,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IAAI,eAAe,GAAG,mCAAmC,IAAI,CAAC,SAAS,EAAE,GAAG,kCAAkC,CAAC;QAC/G,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,eAAe,IAAI,mCAAmC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3F,CAAC;QACD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;QACnF,KAAK,CACH,IAAI,EACJ,CAAC,CAAC,IAAI,CACJ,2GAA2G,CAC5G,CACF,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC"}
|
|
@@ -13,8 +13,32 @@ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
|
13
13
|
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
14
14
|
export default class DiagnoseInstanceUpgrade extends SfCommand {
|
|
15
15
|
static title = 'Get Instance Upgrade date';
|
|
16
|
-
static description = `
|
|
17
|
-
|
|
16
|
+
static description = `
|
|
17
|
+
## Command Behavior
|
|
18
|
+
|
|
19
|
+
**Retrieves and displays the scheduled upgrade date for a Salesforce org's instance.**
|
|
20
|
+
|
|
21
|
+
This command provides crucial information about when your Salesforce instance will be upgraded to the next major release (Spring, Summer, or Winter). This is vital for release planning, testing, and ensuring compatibility with upcoming Salesforce features.
|
|
22
|
+
|
|
23
|
+
Key functionalities:
|
|
24
|
+
|
|
25
|
+
- **Instance Identification:** Determines the Salesforce instance name of your target org.
|
|
26
|
+
- **Upgrade Date Retrieval:** Fetches the planned start time of the next major core service upgrade for that instance from the Salesforce Status API.
|
|
27
|
+
- **Days Until Upgrade:** Calculates and displays the number of days remaining until the next major upgrade.
|
|
28
|
+
- **Severity-Based Logging:** Adjusts the log severity (info, warning) based on the proximity of the upgrade date, providing a visual cue for urgency.
|
|
29
|
+
- **Notifications:** Sends notifications to configured channels (e.g., Slack, MS Teams, Grafana) with the upgrade information, making it suitable for automated monitoring.
|
|
30
|
+
|
|
31
|
+
## Technical explanations
|
|
32
|
+
|
|
33
|
+
The command's technical implementation involves:
|
|
34
|
+
|
|
35
|
+
- **Salesforce SOQL Query:** It first queries the \`Organization\` object in Salesforce to get the \`InstanceName\` of the target org.
|
|
36
|
+
- **Salesforce Status API Integration:** It makes an HTTP GET request to the Salesforce Status API (\`https://api.status.salesforce.com/v1/instances/{instanceName}/status\`) to retrieve detailed information about the instance, including scheduled maintenances.
|
|
37
|
+
- **Data Parsing:** It parses the JSON response from the Status API to extract the relevant major release upgrade information.
|
|
38
|
+
- **Date Calculation:** Uses the \`moment\` library to calculate the difference in days between the current date and the planned upgrade date.
|
|
39
|
+
- **Notification Integration:** It integrates with the \`NotifProvider\` to send notifications, including the instance name, upgrade date, and days remaining, along with relevant metrics for monitoring dashboards.
|
|
40
|
+
- **User Feedback:** Provides clear messages to the user about the upgrade status and proximity.
|
|
41
|
+
`;
|
|
18
42
|
static examples = ['$ sf hardis:org:diagnose:instanceupgrade'];
|
|
19
43
|
static flags = {
|
|
20
44
|
debug: Flags.boolean({
|