sfdx-hardis 5.35.0 → 5.36.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/defaults/ci/.github/workflows/check-deploy.yml +1 -0
  3. package/defaults/ci/.github/workflows/process-deploy.yml +1 -0
  4. package/defaults/ci/Jenkinsfile +1 -0
  5. package/defaults/ci/azure-pipelines-checks.yml +1 -0
  6. package/defaults/ci/azure-pipelines-deployment.yml +1 -0
  7. package/lib/commands/hardis/auth/login.js +24 -1
  8. package/lib/commands/hardis/auth/login.js.map +1 -1
  9. package/lib/commands/hardis/doc/flow2markdown.js +2 -1
  10. package/lib/commands/hardis/doc/flow2markdown.js.map +1 -1
  11. package/lib/commands/hardis/doc/project2markdown.js +2 -1
  12. package/lib/commands/hardis/doc/project2markdown.js.map +1 -1
  13. package/lib/commands/hardis/lint/access.js +2 -1
  14. package/lib/commands/hardis/lint/access.js.map +1 -1
  15. package/lib/commands/hardis/lint/metadatastatus.js +2 -1
  16. package/lib/commands/hardis/lint/metadatastatus.js.map +1 -1
  17. package/lib/commands/hardis/lint/missingattributes.js +2 -1
  18. package/lib/commands/hardis/lint/missingattributes.js.map +1 -1
  19. package/lib/commands/hardis/lint/unusedmetadatas.js +2 -1
  20. package/lib/commands/hardis/lint/unusedmetadatas.js.map +1 -1
  21. package/lib/commands/hardis/org/diagnose/audittrail.js +2 -1
  22. package/lib/commands/hardis/org/diagnose/audittrail.js.map +1 -1
  23. package/lib/commands/hardis/org/diagnose/instanceupgrade.js +2 -1
  24. package/lib/commands/hardis/org/diagnose/instanceupgrade.js.map +1 -1
  25. package/lib/commands/hardis/org/diagnose/legacyapi.js +2 -1
  26. package/lib/commands/hardis/org/diagnose/legacyapi.js.map +1 -1
  27. package/lib/commands/hardis/org/diagnose/licenses.js +2 -1
  28. package/lib/commands/hardis/org/diagnose/licenses.js.map +1 -1
  29. package/lib/commands/hardis/org/diagnose/releaseupdates.js +2 -1
  30. package/lib/commands/hardis/org/diagnose/releaseupdates.js.map +1 -1
  31. package/lib/commands/hardis/org/diagnose/unused-apex-classes.js +2 -1
  32. package/lib/commands/hardis/org/diagnose/unused-apex-classes.js.map +1 -1
  33. package/lib/commands/hardis/org/diagnose/unused-connected-apps.js +2 -1
  34. package/lib/commands/hardis/org/diagnose/unused-connected-apps.js.map +1 -1
  35. package/lib/commands/hardis/org/diagnose/unusedlicenses.js +2 -1
  36. package/lib/commands/hardis/org/diagnose/unusedlicenses.js.map +1 -1
  37. package/lib/commands/hardis/org/diagnose/unusedusers.js +2 -1
  38. package/lib/commands/hardis/org/diagnose/unusedusers.js.map +1 -1
  39. package/lib/commands/hardis/org/monitor/backup.js +2 -1
  40. package/lib/commands/hardis/org/monitor/backup.js.map +1 -1
  41. package/lib/commands/hardis/org/monitor/limits.js +2 -1
  42. package/lib/commands/hardis/org/monitor/limits.js.map +1 -1
  43. package/lib/commands/hardis/org/test/apex.js +2 -1
  44. package/lib/commands/hardis/org/test/apex.js.map +1 -1
  45. package/lib/commands/hardis/project/deploy/notify.js +2 -0
  46. package/lib/commands/hardis/project/deploy/notify.js.map +1 -1
  47. package/lib/commands/hardis/project/deploy/quick.js +2 -0
  48. package/lib/commands/hardis/project/deploy/quick.js.map +1 -1
  49. package/lib/commands/hardis/project/deploy/simulate.js +2 -1
  50. package/lib/commands/hardis/project/deploy/simulate.js.map +1 -1
  51. package/lib/commands/hardis/project/deploy/smart.js +2 -1
  52. package/lib/commands/hardis/project/deploy/smart.js.map +1 -1
  53. package/lib/commands/hardis/project/deploy/start.js +2 -0
  54. package/lib/commands/hardis/project/deploy/start.js.map +1 -1
  55. package/lib/commands/hardis/project/deploy/validate.js +2 -0
  56. package/lib/commands/hardis/project/deploy/validate.js.map +1 -1
  57. package/lib/common/aiProvider/agentforceProvider.js +1 -1
  58. package/lib/common/aiProvider/agentforceProvider.js.map +1 -1
  59. package/lib/common/aiProvider/utils.js +1 -1
  60. package/lib/common/aiProvider/utils.js.map +1 -1
  61. package/lib/common/utils/authUtils.js +3 -3
  62. package/lib/common/utils/authUtils.js.map +1 -1
  63. package/lib/common/utils/gitUtils.js +2 -1
  64. package/lib/common/utils/gitUtils.js.map +1 -1
  65. package/lib/common/utils/orgUtils.d.ts +1 -0
  66. package/lib/common/utils/orgUtils.js +39 -1
  67. package/lib/common/utils/orgUtils.js.map +1 -1
  68. package/oclif.manifest.json +476 -476
  69. package/package.json +1 -1
@@ -60,7 +60,7 @@
60
60
  "hardis:auth:login": {
61
61
  "aliases": [],
62
62
  "args": {},
63
- "description": "Login to salesforce org",
63
+ "description": "\nLogins to a Salesforce org from CI/CD workflows.\n\nWill use the variables and files defined by configuration commands:\n\n- CI/CD repos: [Configure Org CI Authentication](https://sfdx-hardis.cloudity.com/hardis/project/configure/auth/)\n- Monitoring repos: [Configure Org Monitoring](https://sfdx-hardis.cloudity.com/hardis/org/configure/monitoring/)\n\nIf you have a technical org (for example to call Agentforce from another org, you can define variable SFDX_AUTH_URL_TECHNICAL_ORG and it will authenticate it with alias TECHNICAL_ORG)\n\nYou can get SFDX_AUTH_URL_TECHNICAL_ORG value by running the command: `sf org display --verbose --json` and copy the value of the field `sfdxAuthUrl` in the output.\n",
64
64
  "examples": [
65
65
  "$ sf hardis:auth:login",
66
66
  "CI=true sf hardis:auth:login"
@@ -5286,15 +5286,12 @@
5286
5286
  "import:data:org:hardis"
5287
5287
  ]
5288
5288
  },
5289
- "hardis:org:diagnose:audittrail": {
5289
+ "hardis:org:files:export": {
5290
5290
  "aliases": [],
5291
5291
  "args": {},
5292
- "description": "Export Audit trail into a CSV file with selected criteria, and highlight suspect actions\n\nAlso detects updates of Custom Settings values (disable by defining `SKIP_AUDIT_TRAIL_CUSTOM_SETTINGS=true`)\n\nRegular setup actions performed in major orgs are filtered.\n\n- \"\"\n - createScratchOrg\n - changedsenderemail\n - deleteScratchOrg\n - loginasgrantedtopartnerbt\n- Certificate and Key Management\n - insertCertificate\n- Custom App Licenses\n - addeduserpackagelicense\n - granteduserpackagelicense\n - revokeduserpackagelicense\n- Customer Portal\n - createdcustomersuccessuser\n - CSPUserDisabled\n- Currency\n - updateddatedexchrate\n- Data Management\n - queueMembership\n- Email Administration\n - dkimRotationPreparationSuccessful\n - dkimRotationSuccessful\n- Groups\n - groupMembership\n- Holidays\n - holiday_insert\n- Inbox mobile and legacy desktop apps\n - enableSIQUserNonEAC\n- Manage Users\n - activateduser\n - createduser\n - changedcommunitynickname\n - changedemail\n - changedfederationid\n - changedpassword\n - changedinteractionuseroffon\n - changedinteractionuseronoff\n - changedmarketinguseroffon\n - changedmarketinguseronoff\n - changedofflineuseroffon\n - changedprofileforuserstdtostd\n - changedprofileforuser\n - changedprofileforusercusttostd\n - changedprofileforuserstdtocust\n - changedroleforusertonone\n - changedroleforuser\n - changedroleforuserfromnone\n - changedUserEmailVerifiedStatusUnverified\n - changedUserEmailVerifiedStatusVerified\n - changedknowledgeuseroffon\n - changedsfcontentuseroffon\n - changedsupportuseroffon\n - changedUserPhoneNumber\n - changedUserPhoneVerifiedStatusUnverified\n - deactivateduser\n - deleteAuthenticatorPairing\n - deleteTwoFactorInfo2\n - deleteTwoFactorTempCode\n - frozeuser\n - insertAuthenticatorPairing\n - insertTwoFactorInfo2\n - insertTwoFactorTempCode\n - lightningloginenroll\n - PermSetAssign\n - PermSetGroupAssign\n - PermSetGroupUnassign\n - PermSetLicenseAssign\n - PermSetUnassign\n - PermSetLicenseUnassign\n - registeredUserPhoneNumber\n - resetpassword\n - suNetworkAdminLogin\n - suNetworkAdminLogout\n - suOrgAdminLogin\n - suOrgAdminLogout\n - unfrozeuser\n - useremailchangesent\n- Mobile Administration\n - assigneduserstomobileconfig\n- Reporting Snapshots\n - createdReportJob\n - deletedReportJob\n- Sandboxes\n - DeleteSandbox\n\nBy default, deployment user defined in .sfdx-hardis.yml targetUsername property will be excluded.\n\nYou can define additional users to exclude in .sfdx-hardis.yml **monitoringExcludeUsernames** property.\n\nYou can also add more sections / actions considered as not suspect using property **monitoringAllowedSectionsActions**\n\nExample:\n\n```yaml\nmonitoringExcludeUsernames:\n - deploymentuser@cloudity.com\n - marketingcloud@cloudity.com\n - integration-user@cloudity.com\n\nmonitoringAllowedSectionsActions:\n \"Some section\": [] // Will ignore all actions from such section\n \"Some other section\": [\"actionType1\",\"actionType2\",\"actionType3\"] // Will ignore only those 3 actions from section \"Some other section\". Other actions in the same section will be considered as suspect.\n```\n\n## Excel output example\n\n![](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-monitoring-audittrail-excel.jpg)\n\n## Local output example\n\n![](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-monitoring-audittrail-local.jpg)\n\nThis command is part of [sfdx-hardis Monitoring](https://sfdx-hardis.cloudity.com/salesforce-monitoring-suspect-audit-trail/) and can output Grafana, Slack and MsTeams Notifications.\n",
5292
+ "description": "Export file attachments from a Salesforce org\n\nHandles:\n\n- ContentVersion\n- Attachment\n\nSee article below:\n\n[![How to mass download notes and attachments files from a Salesforce org](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/article-mass-download.jpg)](https://nicolas.vuillamy.fr/how-to-mass-download-notes-and-attachments-files-from-a-salesforce-org-83a028824afd)\n",
5293
5293
  "examples": [
5294
- "$ sf hardis:org:diagnose:audittrail",
5295
- "$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com",
5296
- "$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com,bertrand@titi.com",
5297
- "$ sf hardis:org:diagnose:audittrail --lastndays 5"
5294
+ "$ sf hardis:org:files:export"
5298
5295
  ],
5299
5296
  "flags": {
5300
5297
  "json": {
@@ -5312,26 +5309,37 @@
5312
5309
  "multiple": false,
5313
5310
  "type": "option"
5314
5311
  },
5315
- "excludeusers": {
5316
- "char": "e",
5317
- "description": "Comma-separated list of usernames to exclude",
5318
- "name": "excludeusers",
5312
+ "path": {
5313
+ "char": "p",
5314
+ "description": "Path to the file export project",
5315
+ "name": "path",
5319
5316
  "hasDynamicHelp": false,
5320
5317
  "multiple": false,
5321
5318
  "type": "option"
5322
5319
  },
5323
- "lastndays": {
5320
+ "chunksize": {
5321
+ "char": "c",
5322
+ "description": "Number of records to add in a chunk before it is processed",
5323
+ "name": "chunksize",
5324
+ "default": 1000,
5325
+ "hasDynamicHelp": false,
5326
+ "multiple": false,
5327
+ "type": "option"
5328
+ },
5329
+ "polltimeout": {
5324
5330
  "char": "t",
5325
- "description": "Number of days to extract from today (included)",
5326
- "name": "lastndays",
5331
+ "description": "Timeout in MS for Bulk API calls",
5332
+ "name": "polltimeout",
5333
+ "default": 300000,
5327
5334
  "hasDynamicHelp": false,
5328
5335
  "multiple": false,
5329
5336
  "type": "option"
5330
5337
  },
5331
- "outputfile": {
5332
- "char": "f",
5333
- "description": "Force the path and name of output report file. Must end with .csv",
5334
- "name": "outputfile",
5338
+ "startchunknumber": {
5339
+ "char": "s",
5340
+ "description": "Chunk number to start from",
5341
+ "name": "startchunknumber",
5342
+ "default": 0,
5335
5343
  "hasDynamicHelp": false,
5336
5344
  "multiple": false,
5337
5345
  "type": "option"
@@ -5374,13 +5382,13 @@
5374
5382
  },
5375
5383
  "hasDynamicHelp": true,
5376
5384
  "hiddenAliases": [],
5377
- "id": "hardis:org:diagnose:audittrail",
5385
+ "id": "hardis:org:files:export",
5378
5386
  "pluginAlias": "sfdx-hardis",
5379
5387
  "pluginName": "sfdx-hardis",
5380
5388
  "pluginType": "core",
5381
5389
  "strict": true,
5382
5390
  "enableJsonFlag": true,
5383
- "title": "Diagnose content of Setup Audit Trail",
5391
+ "title": "Export files",
5384
5392
  "requiresProject": false,
5385
5393
  "isESM": true,
5386
5394
  "relativePath": [
@@ -5388,43 +5396,43 @@
5388
5396
  "commands",
5389
5397
  "hardis",
5390
5398
  "org",
5391
- "diagnose",
5392
- "audittrail.js"
5399
+ "files",
5400
+ "export.js"
5393
5401
  ],
5394
5402
  "aliasPermutations": [],
5395
5403
  "permutations": [
5396
- "hardis:org:diagnose:audittrail",
5397
- "org:hardis:diagnose:audittrail",
5398
- "org:diagnose:hardis:audittrail",
5399
- "org:diagnose:audittrail:hardis",
5400
- "hardis:diagnose:org:audittrail",
5401
- "diagnose:hardis:org:audittrail",
5402
- "diagnose:org:hardis:audittrail",
5403
- "diagnose:org:audittrail:hardis",
5404
- "hardis:diagnose:audittrail:org",
5405
- "diagnose:hardis:audittrail:org",
5406
- "diagnose:audittrail:hardis:org",
5407
- "diagnose:audittrail:org:hardis",
5408
- "hardis:org:audittrail:diagnose",
5409
- "org:hardis:audittrail:diagnose",
5410
- "org:audittrail:hardis:diagnose",
5411
- "org:audittrail:diagnose:hardis",
5412
- "hardis:audittrail:org:diagnose",
5413
- "audittrail:hardis:org:diagnose",
5414
- "audittrail:org:hardis:diagnose",
5415
- "audittrail:org:diagnose:hardis",
5416
- "hardis:audittrail:diagnose:org",
5417
- "audittrail:hardis:diagnose:org",
5418
- "audittrail:diagnose:hardis:org",
5419
- "audittrail:diagnose:org:hardis"
5404
+ "hardis:org:files:export",
5405
+ "org:hardis:files:export",
5406
+ "org:files:hardis:export",
5407
+ "org:files:export:hardis",
5408
+ "hardis:files:org:export",
5409
+ "files:hardis:org:export",
5410
+ "files:org:hardis:export",
5411
+ "files:org:export:hardis",
5412
+ "hardis:files:export:org",
5413
+ "files:hardis:export:org",
5414
+ "files:export:hardis:org",
5415
+ "files:export:org:hardis",
5416
+ "hardis:org:export:files",
5417
+ "org:hardis:export:files",
5418
+ "org:export:hardis:files",
5419
+ "org:export:files:hardis",
5420
+ "hardis:export:org:files",
5421
+ "export:hardis:org:files",
5422
+ "export:org:hardis:files",
5423
+ "export:org:files:hardis",
5424
+ "hardis:export:files:org",
5425
+ "export:hardis:files:org",
5426
+ "export:files:hardis:org",
5427
+ "export:files:org:hardis"
5420
5428
  ]
5421
5429
  },
5422
- "hardis:org:diagnose:instanceupgrade": {
5430
+ "hardis:org:files:import": {
5423
5431
  "aliases": [],
5424
5432
  "args": {},
5425
- "description": "Get the date when the org instance will be upgraded (to Spring, Summer or Winter)\n ",
5433
+ "description": "Import file attachments into a Salesforce org\n\nSee article below to see how to Export them.\n\n[![How to mass download notes and attachments files from a Salesforce org](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/article-mass-download.jpg)](https://nicolas.vuillamy.fr/how-to-mass-download-notes-and-attachments-files-from-a-salesforce-org-83a028824afd)\n",
5426
5434
  "examples": [
5427
- "$ sf hardis:org:diagnose:instanceupgrade"
5435
+ "$ sf hardis:org:files:import"
5428
5436
  ],
5429
5437
  "flags": {
5430
5438
  "json": {
@@ -5442,6 +5450,21 @@
5442
5450
  "multiple": false,
5443
5451
  "type": "option"
5444
5452
  },
5453
+ "path": {
5454
+ "char": "p",
5455
+ "description": "Path to the file export project",
5456
+ "name": "path",
5457
+ "hasDynamicHelp": false,
5458
+ "multiple": false,
5459
+ "type": "option"
5460
+ },
5461
+ "overwrite": {
5462
+ "char": "f",
5463
+ "description": "Override existing files (doubles the number of API calls)",
5464
+ "name": "overwrite",
5465
+ "allowNo": false,
5466
+ "type": "boolean"
5467
+ },
5445
5468
  "debug": {
5446
5469
  "char": "d",
5447
5470
  "description": "Activate debug mode (more logs)",
@@ -5480,13 +5503,13 @@
5480
5503
  },
5481
5504
  "hasDynamicHelp": true,
5482
5505
  "hiddenAliases": [],
5483
- "id": "hardis:org:diagnose:instanceupgrade",
5506
+ "id": "hardis:org:files:import",
5484
5507
  "pluginAlias": "sfdx-hardis",
5485
5508
  "pluginName": "sfdx-hardis",
5486
5509
  "pluginType": "core",
5487
5510
  "strict": true,
5488
5511
  "enableJsonFlag": true,
5489
- "title": "Get Instance Upgrade date",
5512
+ "title": "Import files",
5490
5513
  "requiresProject": false,
5491
5514
  "isESM": true,
5492
5515
  "relativePath": [
@@ -5494,46 +5517,46 @@
5494
5517
  "commands",
5495
5518
  "hardis",
5496
5519
  "org",
5497
- "diagnose",
5498
- "instanceupgrade.js"
5520
+ "files",
5521
+ "import.js"
5499
5522
  ],
5500
5523
  "aliasPermutations": [],
5501
5524
  "permutations": [
5502
- "hardis:org:diagnose:instanceupgrade",
5503
- "org:hardis:diagnose:instanceupgrade",
5504
- "org:diagnose:hardis:instanceupgrade",
5505
- "org:diagnose:instanceupgrade:hardis",
5506
- "hardis:diagnose:org:instanceupgrade",
5507
- "diagnose:hardis:org:instanceupgrade",
5508
- "diagnose:org:hardis:instanceupgrade",
5509
- "diagnose:org:instanceupgrade:hardis",
5510
- "hardis:diagnose:instanceupgrade:org",
5511
- "diagnose:hardis:instanceupgrade:org",
5512
- "diagnose:instanceupgrade:hardis:org",
5513
- "diagnose:instanceupgrade:org:hardis",
5514
- "hardis:org:instanceupgrade:diagnose",
5515
- "org:hardis:instanceupgrade:diagnose",
5516
- "org:instanceupgrade:hardis:diagnose",
5517
- "org:instanceupgrade:diagnose:hardis",
5518
- "hardis:instanceupgrade:org:diagnose",
5519
- "instanceupgrade:hardis:org:diagnose",
5520
- "instanceupgrade:org:hardis:diagnose",
5521
- "instanceupgrade:org:diagnose:hardis",
5522
- "hardis:instanceupgrade:diagnose:org",
5523
- "instanceupgrade:hardis:diagnose:org",
5524
- "instanceupgrade:diagnose:hardis:org",
5525
- "instanceupgrade:diagnose:org:hardis"
5525
+ "hardis:org:files:import",
5526
+ "org:hardis:files:import",
5527
+ "org:files:hardis:import",
5528
+ "org:files:import:hardis",
5529
+ "hardis:files:org:import",
5530
+ "files:hardis:org:import",
5531
+ "files:org:hardis:import",
5532
+ "files:org:import:hardis",
5533
+ "hardis:files:import:org",
5534
+ "files:hardis:import:org",
5535
+ "files:import:hardis:org",
5536
+ "files:import:org:hardis",
5537
+ "hardis:org:import:files",
5538
+ "org:hardis:import:files",
5539
+ "org:import:hardis:files",
5540
+ "org:import:files:hardis",
5541
+ "hardis:import:org:files",
5542
+ "import:hardis:org:files",
5543
+ "import:org:hardis:files",
5544
+ "import:org:files:hardis",
5545
+ "hardis:import:files:org",
5546
+ "import:hardis:files:org",
5547
+ "import:files:hardis:org",
5548
+ "import:files:org:hardis"
5526
5549
  ]
5527
5550
  },
5528
- "hardis:org:diagnose:legacyapi": {
5551
+ "hardis:org:diagnose:audittrail": {
5529
5552
  "aliases": [],
5530
5553
  "args": {},
5531
- "description": "Checks if an org uses retired or someday retired API version\n\n\nSee article below\n\n[![Handle Salesforce API versions Deprecation like a pro](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/article-deprecated-api.jpg)](https://nicolas.vuillamy.fr/handle-salesforce-api-versions-deprecation-like-a-pro-335065f52238)\n\nThis command is part of [sfdx-hardis Monitoring](https://sfdx-hardis.cloudity.com/salesforce-monitoring-deprecated-api-calls/) and can output Grafana, Slack and MsTeams Notifications.\n",
5554
+ "description": "Export Audit trail into a CSV file with selected criteria, and highlight suspect actions\n\nAlso detects updates of Custom Settings values (disable by defining `SKIP_AUDIT_TRAIL_CUSTOM_SETTINGS=true`)\n\nRegular setup actions performed in major orgs are filtered.\n\n- \"\"\n - createScratchOrg\n - changedsenderemail\n - deleteScratchOrg\n - loginasgrantedtopartnerbt\n- Certificate and Key Management\n - insertCertificate\n- Custom App Licenses\n - addeduserpackagelicense\n - granteduserpackagelicense\n - revokeduserpackagelicense\n- Customer Portal\n - createdcustomersuccessuser\n - CSPUserDisabled\n- Currency\n - updateddatedexchrate\n- Data Management\n - queueMembership\n- Email Administration\n - dkimRotationPreparationSuccessful\n - dkimRotationSuccessful\n- Groups\n - groupMembership\n- Holidays\n - holiday_insert\n- Inbox mobile and legacy desktop apps\n - enableSIQUserNonEAC\n- Manage Users\n - activateduser\n - createduser\n - changedcommunitynickname\n - changedemail\n - changedfederationid\n - changedpassword\n - changedinteractionuseroffon\n - changedinteractionuseronoff\n - changedmarketinguseroffon\n - changedmarketinguseronoff\n - changedofflineuseroffon\n - changedprofileforuserstdtostd\n - changedprofileforuser\n - changedprofileforusercusttostd\n - changedprofileforuserstdtocust\n - changedroleforusertonone\n - changedroleforuser\n - changedroleforuserfromnone\n - changedUserEmailVerifiedStatusUnverified\n - changedUserEmailVerifiedStatusVerified\n - changedknowledgeuseroffon\n - changedsfcontentuseroffon\n - changedsupportuseroffon\n - changedUserPhoneNumber\n - changedUserPhoneVerifiedStatusUnverified\n - deactivateduser\n - deleteAuthenticatorPairing\n - deleteTwoFactorInfo2\n - deleteTwoFactorTempCode\n - frozeuser\n - insertAuthenticatorPairing\n - insertTwoFactorInfo2\n - insertTwoFactorTempCode\n - lightningloginenroll\n - PermSetAssign\n - PermSetGroupAssign\n - PermSetGroupUnassign\n - PermSetLicenseAssign\n - PermSetUnassign\n - PermSetLicenseUnassign\n - registeredUserPhoneNumber\n - resetpassword\n - suNetworkAdminLogin\n - suNetworkAdminLogout\n - suOrgAdminLogin\n - suOrgAdminLogout\n - unfrozeuser\n - useremailchangesent\n- Mobile Administration\n - assigneduserstomobileconfig\n- Reporting Snapshots\n - createdReportJob\n - deletedReportJob\n- Sandboxes\n - DeleteSandbox\n\nBy default, deployment user defined in .sfdx-hardis.yml targetUsername property will be excluded.\n\nYou can define additional users to exclude in .sfdx-hardis.yml **monitoringExcludeUsernames** property.\n\nYou can also add more sections / actions considered as not suspect using property **monitoringAllowedSectionsActions**\n\nExample:\n\n```yaml\nmonitoringExcludeUsernames:\n - deploymentuser@cloudity.com\n - marketingcloud@cloudity.com\n - integration-user@cloudity.com\n\nmonitoringAllowedSectionsActions:\n \"Some section\": [] // Will ignore all actions from such section\n \"Some other section\": [\"actionType1\",\"actionType2\",\"actionType3\"] // Will ignore only those 3 actions from section \"Some other section\". Other actions in the same section will be considered as suspect.\n```\n\n## Excel output example\n\n![](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-monitoring-audittrail-excel.jpg)\n\n## Local output example\n\n![](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-monitoring-audittrail-local.jpg)\n\nThis command is part of [sfdx-hardis Monitoring](https://sfdx-hardis.cloudity.com/salesforce-monitoring-suspect-audit-trail/) and can output Grafana, Slack and MsTeams Notifications.\n",
5532
5555
  "examples": [
5533
- "$ sf hardis:org:diagnose:legacyapi",
5534
- "$ sf hardis:org:diagnose:legacyapi -u hardis@myclient.com",
5535
- "$ sf hardis:org:diagnose:legacyapi --outputfile 'c:/path/to/folder/legacyapi.csv'",
5536
- "$ sf hardis:org:diagnose:legacyapi -u hardis@myclient.com --outputfile ./tmp/legacyapi.csv"
5556
+ "$ sf hardis:org:diagnose:audittrail",
5557
+ "$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com",
5558
+ "$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com,bertrand@titi.com",
5559
+ "$ sf hardis:org:diagnose:audittrail --lastndays 5"
5537
5560
  ],
5538
5561
  "flags": {
5539
5562
  "json": {
@@ -5551,20 +5574,18 @@
5551
5574
  "multiple": false,
5552
5575
  "type": "option"
5553
5576
  },
5554
- "eventtype": {
5577
+ "excludeusers": {
5555
5578
  "char": "e",
5556
- "description": "Type of EventLogFile event to analyze",
5557
- "name": "eventtype",
5558
- "default": "ApiTotalUsage",
5579
+ "description": "Comma-separated list of usernames to exclude",
5580
+ "name": "excludeusers",
5559
5581
  "hasDynamicHelp": false,
5560
5582
  "multiple": false,
5561
5583
  "type": "option"
5562
5584
  },
5563
- "limit": {
5564
- "char": "l",
5565
- "description": "Number of latest EventLogFile events to analyze",
5566
- "name": "limit",
5567
- "default": 999,
5585
+ "lastndays": {
5586
+ "char": "t",
5587
+ "description": "Number of days to extract from today (included)",
5588
+ "name": "lastndays",
5568
5589
  "hasDynamicHelp": false,
5569
5590
  "multiple": false,
5570
5591
  "type": "option"
@@ -5615,13 +5636,13 @@
5615
5636
  },
5616
5637
  "hasDynamicHelp": true,
5617
5638
  "hiddenAliases": [],
5618
- "id": "hardis:org:diagnose:legacyapi",
5639
+ "id": "hardis:org:diagnose:audittrail",
5619
5640
  "pluginAlias": "sfdx-hardis",
5620
5641
  "pluginName": "sfdx-hardis",
5621
5642
  "pluginType": "core",
5622
5643
  "strict": true,
5623
5644
  "enableJsonFlag": true,
5624
- "title": "Check for legacy API use",
5645
+ "title": "Diagnose content of Setup Audit Trail",
5625
5646
  "requiresProject": false,
5626
5647
  "isESM": true,
5627
5648
  "relativePath": [
@@ -5630,57 +5651,298 @@
5630
5651
  "hardis",
5631
5652
  "org",
5632
5653
  "diagnose",
5633
- "legacyapi.js"
5654
+ "audittrail.js"
5634
5655
  ],
5635
5656
  "aliasPermutations": [],
5636
5657
  "permutations": [
5637
- "hardis:org:diagnose:legacyapi",
5638
- "org:hardis:diagnose:legacyapi",
5639
- "org:diagnose:hardis:legacyapi",
5640
- "org:diagnose:legacyapi:hardis",
5641
- "hardis:diagnose:org:legacyapi",
5642
- "diagnose:hardis:org:legacyapi",
5643
- "diagnose:org:hardis:legacyapi",
5644
- "diagnose:org:legacyapi:hardis",
5645
- "hardis:diagnose:legacyapi:org",
5646
- "diagnose:hardis:legacyapi:org",
5647
- "diagnose:legacyapi:hardis:org",
5648
- "diagnose:legacyapi:org:hardis",
5649
- "hardis:org:legacyapi:diagnose",
5650
- "org:hardis:legacyapi:diagnose",
5651
- "org:legacyapi:hardis:diagnose",
5652
- "org:legacyapi:diagnose:hardis",
5653
- "hardis:legacyapi:org:diagnose",
5654
- "legacyapi:hardis:org:diagnose",
5655
- "legacyapi:org:hardis:diagnose",
5656
- "legacyapi:org:diagnose:hardis",
5657
- "hardis:legacyapi:diagnose:org",
5658
- "legacyapi:hardis:diagnose:org",
5659
- "legacyapi:diagnose:hardis:org",
5660
- "legacyapi:diagnose:org:hardis"
5661
- ]
5662
- },
5663
- "hardis:org:diagnose:licenses": {
5664
- "aliases": [],
5665
- "args": {},
5666
- "description": "Mostly used for monitoring (Grafana) but you can also use it manually :)",
5667
- "examples": [
5668
- "$ sf hardis:org:diagnose:licenses"
5669
- ],
5670
- "flags": {
5671
- "json": {
5672
- "description": "Format output as json.",
5673
- "helpGroup": "GLOBAL",
5674
- "name": "json",
5675
- "allowNo": false,
5676
- "type": "boolean"
5677
- },
5678
- "flags-dir": {
5679
- "helpGroup": "GLOBAL",
5680
- "name": "flags-dir",
5681
- "summary": "Import flag values from a directory.",
5682
- "hasDynamicHelp": false,
5683
- "multiple": false,
5658
+ "hardis:org:diagnose:audittrail",
5659
+ "org:hardis:diagnose:audittrail",
5660
+ "org:diagnose:hardis:audittrail",
5661
+ "org:diagnose:audittrail:hardis",
5662
+ "hardis:diagnose:org:audittrail",
5663
+ "diagnose:hardis:org:audittrail",
5664
+ "diagnose:org:hardis:audittrail",
5665
+ "diagnose:org:audittrail:hardis",
5666
+ "hardis:diagnose:audittrail:org",
5667
+ "diagnose:hardis:audittrail:org",
5668
+ "diagnose:audittrail:hardis:org",
5669
+ "diagnose:audittrail:org:hardis",
5670
+ "hardis:org:audittrail:diagnose",
5671
+ "org:hardis:audittrail:diagnose",
5672
+ "org:audittrail:hardis:diagnose",
5673
+ "org:audittrail:diagnose:hardis",
5674
+ "hardis:audittrail:org:diagnose",
5675
+ "audittrail:hardis:org:diagnose",
5676
+ "audittrail:org:hardis:diagnose",
5677
+ "audittrail:org:diagnose:hardis",
5678
+ "hardis:audittrail:diagnose:org",
5679
+ "audittrail:hardis:diagnose:org",
5680
+ "audittrail:diagnose:hardis:org",
5681
+ "audittrail:diagnose:org:hardis"
5682
+ ]
5683
+ },
5684
+ "hardis:org:diagnose:instanceupgrade": {
5685
+ "aliases": [],
5686
+ "args": {},
5687
+ "description": "Get the date when the org instance will be upgraded (to Spring, Summer or Winter)\n ",
5688
+ "examples": [
5689
+ "$ sf hardis:org:diagnose:instanceupgrade"
5690
+ ],
5691
+ "flags": {
5692
+ "json": {
5693
+ "description": "Format output as json.",
5694
+ "helpGroup": "GLOBAL",
5695
+ "name": "json",
5696
+ "allowNo": false,
5697
+ "type": "boolean"
5698
+ },
5699
+ "flags-dir": {
5700
+ "helpGroup": "GLOBAL",
5701
+ "name": "flags-dir",
5702
+ "summary": "Import flag values from a directory.",
5703
+ "hasDynamicHelp": false,
5704
+ "multiple": false,
5705
+ "type": "option"
5706
+ },
5707
+ "debug": {
5708
+ "char": "d",
5709
+ "description": "Activate debug mode (more logs)",
5710
+ "name": "debug",
5711
+ "allowNo": false,
5712
+ "type": "boolean"
5713
+ },
5714
+ "websocket": {
5715
+ "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
5716
+ "name": "websocket",
5717
+ "hasDynamicHelp": false,
5718
+ "multiple": false,
5719
+ "type": "option"
5720
+ },
5721
+ "skipauth": {
5722
+ "description": "Skip authentication check when a default username is required",
5723
+ "name": "skipauth",
5724
+ "allowNo": false,
5725
+ "type": "boolean"
5726
+ },
5727
+ "target-org": {
5728
+ "aliases": [
5729
+ "targetusername",
5730
+ "u"
5731
+ ],
5732
+ "char": "o",
5733
+ "deprecateAliases": true,
5734
+ "name": "target-org",
5735
+ "noCacheDefault": true,
5736
+ "required": true,
5737
+ "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
5738
+ "hasDynamicHelp": true,
5739
+ "multiple": false,
5740
+ "type": "option"
5741
+ }
5742
+ },
5743
+ "hasDynamicHelp": true,
5744
+ "hiddenAliases": [],
5745
+ "id": "hardis:org:diagnose:instanceupgrade",
5746
+ "pluginAlias": "sfdx-hardis",
5747
+ "pluginName": "sfdx-hardis",
5748
+ "pluginType": "core",
5749
+ "strict": true,
5750
+ "enableJsonFlag": true,
5751
+ "title": "Get Instance Upgrade date",
5752
+ "requiresProject": false,
5753
+ "isESM": true,
5754
+ "relativePath": [
5755
+ "lib",
5756
+ "commands",
5757
+ "hardis",
5758
+ "org",
5759
+ "diagnose",
5760
+ "instanceupgrade.js"
5761
+ ],
5762
+ "aliasPermutations": [],
5763
+ "permutations": [
5764
+ "hardis:org:diagnose:instanceupgrade",
5765
+ "org:hardis:diagnose:instanceupgrade",
5766
+ "org:diagnose:hardis:instanceupgrade",
5767
+ "org:diagnose:instanceupgrade:hardis",
5768
+ "hardis:diagnose:org:instanceupgrade",
5769
+ "diagnose:hardis:org:instanceupgrade",
5770
+ "diagnose:org:hardis:instanceupgrade",
5771
+ "diagnose:org:instanceupgrade:hardis",
5772
+ "hardis:diagnose:instanceupgrade:org",
5773
+ "diagnose:hardis:instanceupgrade:org",
5774
+ "diagnose:instanceupgrade:hardis:org",
5775
+ "diagnose:instanceupgrade:org:hardis",
5776
+ "hardis:org:instanceupgrade:diagnose",
5777
+ "org:hardis:instanceupgrade:diagnose",
5778
+ "org:instanceupgrade:hardis:diagnose",
5779
+ "org:instanceupgrade:diagnose:hardis",
5780
+ "hardis:instanceupgrade:org:diagnose",
5781
+ "instanceupgrade:hardis:org:diagnose",
5782
+ "instanceupgrade:org:hardis:diagnose",
5783
+ "instanceupgrade:org:diagnose:hardis",
5784
+ "hardis:instanceupgrade:diagnose:org",
5785
+ "instanceupgrade:hardis:diagnose:org",
5786
+ "instanceupgrade:diagnose:hardis:org",
5787
+ "instanceupgrade:diagnose:org:hardis"
5788
+ ]
5789
+ },
5790
+ "hardis:org:diagnose:legacyapi": {
5791
+ "aliases": [],
5792
+ "args": {},
5793
+ "description": "Checks if an org uses retired or someday retired API version\n\n\nSee article below\n\n[![Handle Salesforce API versions Deprecation like a pro](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/article-deprecated-api.jpg)](https://nicolas.vuillamy.fr/handle-salesforce-api-versions-deprecation-like-a-pro-335065f52238)\n\nThis command is part of [sfdx-hardis Monitoring](https://sfdx-hardis.cloudity.com/salesforce-monitoring-deprecated-api-calls/) and can output Grafana, Slack and MsTeams Notifications.\n",
5794
+ "examples": [
5795
+ "$ sf hardis:org:diagnose:legacyapi",
5796
+ "$ sf hardis:org:diagnose:legacyapi -u hardis@myclient.com",
5797
+ "$ sf hardis:org:diagnose:legacyapi --outputfile 'c:/path/to/folder/legacyapi.csv'",
5798
+ "$ sf hardis:org:diagnose:legacyapi -u hardis@myclient.com --outputfile ./tmp/legacyapi.csv"
5799
+ ],
5800
+ "flags": {
5801
+ "json": {
5802
+ "description": "Format output as json.",
5803
+ "helpGroup": "GLOBAL",
5804
+ "name": "json",
5805
+ "allowNo": false,
5806
+ "type": "boolean"
5807
+ },
5808
+ "flags-dir": {
5809
+ "helpGroup": "GLOBAL",
5810
+ "name": "flags-dir",
5811
+ "summary": "Import flag values from a directory.",
5812
+ "hasDynamicHelp": false,
5813
+ "multiple": false,
5814
+ "type": "option"
5815
+ },
5816
+ "eventtype": {
5817
+ "char": "e",
5818
+ "description": "Type of EventLogFile event to analyze",
5819
+ "name": "eventtype",
5820
+ "default": "ApiTotalUsage",
5821
+ "hasDynamicHelp": false,
5822
+ "multiple": false,
5823
+ "type": "option"
5824
+ },
5825
+ "limit": {
5826
+ "char": "l",
5827
+ "description": "Number of latest EventLogFile events to analyze",
5828
+ "name": "limit",
5829
+ "default": 999,
5830
+ "hasDynamicHelp": false,
5831
+ "multiple": false,
5832
+ "type": "option"
5833
+ },
5834
+ "outputfile": {
5835
+ "char": "f",
5836
+ "description": "Force the path and name of output report file. Must end with .csv",
5837
+ "name": "outputfile",
5838
+ "hasDynamicHelp": false,
5839
+ "multiple": false,
5840
+ "type": "option"
5841
+ },
5842
+ "debug": {
5843
+ "char": "d",
5844
+ "description": "Activate debug mode (more logs)",
5845
+ "name": "debug",
5846
+ "allowNo": false,
5847
+ "type": "boolean"
5848
+ },
5849
+ "websocket": {
5850
+ "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
5851
+ "name": "websocket",
5852
+ "hasDynamicHelp": false,
5853
+ "multiple": false,
5854
+ "type": "option"
5855
+ },
5856
+ "skipauth": {
5857
+ "description": "Skip authentication check when a default username is required",
5858
+ "name": "skipauth",
5859
+ "allowNo": false,
5860
+ "type": "boolean"
5861
+ },
5862
+ "target-org": {
5863
+ "aliases": [
5864
+ "targetusername",
5865
+ "u"
5866
+ ],
5867
+ "char": "o",
5868
+ "deprecateAliases": true,
5869
+ "name": "target-org",
5870
+ "noCacheDefault": true,
5871
+ "required": true,
5872
+ "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
5873
+ "hasDynamicHelp": true,
5874
+ "multiple": false,
5875
+ "type": "option"
5876
+ }
5877
+ },
5878
+ "hasDynamicHelp": true,
5879
+ "hiddenAliases": [],
5880
+ "id": "hardis:org:diagnose:legacyapi",
5881
+ "pluginAlias": "sfdx-hardis",
5882
+ "pluginName": "sfdx-hardis",
5883
+ "pluginType": "core",
5884
+ "strict": true,
5885
+ "enableJsonFlag": true,
5886
+ "title": "Check for legacy API use",
5887
+ "requiresProject": false,
5888
+ "isESM": true,
5889
+ "relativePath": [
5890
+ "lib",
5891
+ "commands",
5892
+ "hardis",
5893
+ "org",
5894
+ "diagnose",
5895
+ "legacyapi.js"
5896
+ ],
5897
+ "aliasPermutations": [],
5898
+ "permutations": [
5899
+ "hardis:org:diagnose:legacyapi",
5900
+ "org:hardis:diagnose:legacyapi",
5901
+ "org:diagnose:hardis:legacyapi",
5902
+ "org:diagnose:legacyapi:hardis",
5903
+ "hardis:diagnose:org:legacyapi",
5904
+ "diagnose:hardis:org:legacyapi",
5905
+ "diagnose:org:hardis:legacyapi",
5906
+ "diagnose:org:legacyapi:hardis",
5907
+ "hardis:diagnose:legacyapi:org",
5908
+ "diagnose:hardis:legacyapi:org",
5909
+ "diagnose:legacyapi:hardis:org",
5910
+ "diagnose:legacyapi:org:hardis",
5911
+ "hardis:org:legacyapi:diagnose",
5912
+ "org:hardis:legacyapi:diagnose",
5913
+ "org:legacyapi:hardis:diagnose",
5914
+ "org:legacyapi:diagnose:hardis",
5915
+ "hardis:legacyapi:org:diagnose",
5916
+ "legacyapi:hardis:org:diagnose",
5917
+ "legacyapi:org:hardis:diagnose",
5918
+ "legacyapi:org:diagnose:hardis",
5919
+ "hardis:legacyapi:diagnose:org",
5920
+ "legacyapi:hardis:diagnose:org",
5921
+ "legacyapi:diagnose:hardis:org",
5922
+ "legacyapi:diagnose:org:hardis"
5923
+ ]
5924
+ },
5925
+ "hardis:org:diagnose:licenses": {
5926
+ "aliases": [],
5927
+ "args": {},
5928
+ "description": "Mostly used for monitoring (Grafana) but you can also use it manually :)",
5929
+ "examples": [
5930
+ "$ sf hardis:org:diagnose:licenses"
5931
+ ],
5932
+ "flags": {
5933
+ "json": {
5934
+ "description": "Format output as json.",
5935
+ "helpGroup": "GLOBAL",
5936
+ "name": "json",
5937
+ "allowNo": false,
5938
+ "type": "boolean"
5939
+ },
5940
+ "flags-dir": {
5941
+ "helpGroup": "GLOBAL",
5942
+ "name": "flags-dir",
5943
+ "summary": "Import flag values from a directory.",
5944
+ "hasDynamicHelp": false,
5945
+ "multiple": false,
5684
5946
  "type": "option"
5685
5947
  },
5686
5948
  "outputfile": {
@@ -6341,158 +6603,17 @@
6341
6603
  "licenseidentifiers": {
6342
6604
  "char": "i",
6343
6605
  "description": "Comma-separated list of license identifiers, in case licensetypes is not used.. Identifiers available at https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_userlicense.htm",
6344
- "name": "licenseidentifiers",
6345
- "hasDynamicHelp": false,
6346
- "multiple": false,
6347
- "type": "option"
6348
- },
6349
- "returnactiveusers": {
6350
- "description": "Inverts the command by returning the active users",
6351
- "name": "returnactiveusers",
6352
- "allowNo": false,
6353
- "type": "boolean"
6354
- },
6355
- "debug": {
6356
- "char": "d",
6357
- "description": "Activate debug mode (more logs)",
6358
- "name": "debug",
6359
- "allowNo": false,
6360
- "type": "boolean"
6361
- },
6362
- "websocket": {
6363
- "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
6364
- "name": "websocket",
6365
- "hasDynamicHelp": false,
6366
- "multiple": false,
6367
- "type": "option"
6368
- },
6369
- "skipauth": {
6370
- "description": "Skip authentication check when a default username is required",
6371
- "name": "skipauth",
6372
- "allowNo": false,
6373
- "type": "boolean"
6374
- },
6375
- "target-org": {
6376
- "aliases": [
6377
- "targetusername",
6378
- "u"
6379
- ],
6380
- "char": "o",
6381
- "deprecateAliases": true,
6382
- "name": "target-org",
6383
- "noCacheDefault": true,
6384
- "required": true,
6385
- "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
6386
- "hasDynamicHelp": true,
6387
- "multiple": false,
6388
- "type": "option"
6389
- }
6390
- },
6391
- "hasDynamicHelp": true,
6392
- "hiddenAliases": [],
6393
- "id": "hardis:org:diagnose:unusedusers",
6394
- "pluginAlias": "sfdx-hardis",
6395
- "pluginName": "sfdx-hardis",
6396
- "pluginType": "core",
6397
- "strict": true,
6398
- "enableJsonFlag": true,
6399
- "title": "Detect unused Users in Salesforce",
6400
- "requiresProject": false,
6401
- "isESM": true,
6402
- "relativePath": [
6403
- "lib",
6404
- "commands",
6405
- "hardis",
6406
- "org",
6407
- "diagnose",
6408
- "unusedusers.js"
6409
- ],
6410
- "aliasPermutations": [],
6411
- "permutations": [
6412
- "hardis:org:diagnose:unusedusers",
6413
- "org:hardis:diagnose:unusedusers",
6414
- "org:diagnose:hardis:unusedusers",
6415
- "org:diagnose:unusedusers:hardis",
6416
- "hardis:diagnose:org:unusedusers",
6417
- "diagnose:hardis:org:unusedusers",
6418
- "diagnose:org:hardis:unusedusers",
6419
- "diagnose:org:unusedusers:hardis",
6420
- "hardis:diagnose:unusedusers:org",
6421
- "diagnose:hardis:unusedusers:org",
6422
- "diagnose:unusedusers:hardis:org",
6423
- "diagnose:unusedusers:org:hardis",
6424
- "hardis:org:unusedusers:diagnose",
6425
- "org:hardis:unusedusers:diagnose",
6426
- "org:unusedusers:hardis:diagnose",
6427
- "org:unusedusers:diagnose:hardis",
6428
- "hardis:unusedusers:org:diagnose",
6429
- "unusedusers:hardis:org:diagnose",
6430
- "unusedusers:org:hardis:diagnose",
6431
- "unusedusers:org:diagnose:hardis",
6432
- "hardis:unusedusers:diagnose:org",
6433
- "unusedusers:hardis:diagnose:org",
6434
- "unusedusers:diagnose:hardis:org",
6435
- "unusedusers:diagnose:org:hardis"
6436
- ]
6437
- },
6438
- "hardis:org:files:export": {
6439
- "aliases": [],
6440
- "args": {},
6441
- "description": "Export file attachments from a Salesforce org\n\nHandles:\n\n- ContentVersion\n- Attachment\n\nSee article below:\n\n[![How to mass download notes and attachments files from a Salesforce org](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/article-mass-download.jpg)](https://nicolas.vuillamy.fr/how-to-mass-download-notes-and-attachments-files-from-a-salesforce-org-83a028824afd)\n",
6442
- "examples": [
6443
- "$ sf hardis:org:files:export"
6444
- ],
6445
- "flags": {
6446
- "json": {
6447
- "description": "Format output as json.",
6448
- "helpGroup": "GLOBAL",
6449
- "name": "json",
6450
- "allowNo": false,
6451
- "type": "boolean"
6452
- },
6453
- "flags-dir": {
6454
- "helpGroup": "GLOBAL",
6455
- "name": "flags-dir",
6456
- "summary": "Import flag values from a directory.",
6457
- "hasDynamicHelp": false,
6458
- "multiple": false,
6459
- "type": "option"
6460
- },
6461
- "path": {
6462
- "char": "p",
6463
- "description": "Path to the file export project",
6464
- "name": "path",
6465
- "hasDynamicHelp": false,
6466
- "multiple": false,
6467
- "type": "option"
6468
- },
6469
- "chunksize": {
6470
- "char": "c",
6471
- "description": "Number of records to add in a chunk before it is processed",
6472
- "name": "chunksize",
6473
- "default": 1000,
6474
- "hasDynamicHelp": false,
6475
- "multiple": false,
6476
- "type": "option"
6477
- },
6478
- "polltimeout": {
6479
- "char": "t",
6480
- "description": "Timeout in MS for Bulk API calls",
6481
- "name": "polltimeout",
6482
- "default": 300000,
6483
- "hasDynamicHelp": false,
6484
- "multiple": false,
6485
- "type": "option"
6486
- },
6487
- "startchunknumber": {
6488
- "char": "s",
6489
- "description": "Chunk number to start from",
6490
- "name": "startchunknumber",
6491
- "default": 0,
6606
+ "name": "licenseidentifiers",
6492
6607
  "hasDynamicHelp": false,
6493
6608
  "multiple": false,
6494
6609
  "type": "option"
6495
6610
  },
6611
+ "returnactiveusers": {
6612
+ "description": "Inverts the command by returning the active users",
6613
+ "name": "returnactiveusers",
6614
+ "allowNo": false,
6615
+ "type": "boolean"
6616
+ },
6496
6617
  "debug": {
6497
6618
  "char": "d",
6498
6619
  "description": "Activate debug mode (more logs)",
@@ -6531,13 +6652,13 @@
6531
6652
  },
6532
6653
  "hasDynamicHelp": true,
6533
6654
  "hiddenAliases": [],
6534
- "id": "hardis:org:files:export",
6655
+ "id": "hardis:org:diagnose:unusedusers",
6535
6656
  "pluginAlias": "sfdx-hardis",
6536
6657
  "pluginName": "sfdx-hardis",
6537
6658
  "pluginType": "core",
6538
6659
  "strict": true,
6539
6660
  "enableJsonFlag": true,
6540
- "title": "Export files",
6661
+ "title": "Detect unused Users in Salesforce",
6541
6662
  "requiresProject": false,
6542
6663
  "isESM": true,
6543
6664
  "relativePath": [
@@ -6545,43 +6666,45 @@
6545
6666
  "commands",
6546
6667
  "hardis",
6547
6668
  "org",
6548
- "files",
6549
- "export.js"
6669
+ "diagnose",
6670
+ "unusedusers.js"
6550
6671
  ],
6551
6672
  "aliasPermutations": [],
6552
6673
  "permutations": [
6553
- "hardis:org:files:export",
6554
- "org:hardis:files:export",
6555
- "org:files:hardis:export",
6556
- "org:files:export:hardis",
6557
- "hardis:files:org:export",
6558
- "files:hardis:org:export",
6559
- "files:org:hardis:export",
6560
- "files:org:export:hardis",
6561
- "hardis:files:export:org",
6562
- "files:hardis:export:org",
6563
- "files:export:hardis:org",
6564
- "files:export:org:hardis",
6565
- "hardis:org:export:files",
6566
- "org:hardis:export:files",
6567
- "org:export:hardis:files",
6568
- "org:export:files:hardis",
6569
- "hardis:export:org:files",
6570
- "export:hardis:org:files",
6571
- "export:org:hardis:files",
6572
- "export:org:files:hardis",
6573
- "hardis:export:files:org",
6574
- "export:hardis:files:org",
6575
- "export:files:hardis:org",
6576
- "export:files:org:hardis"
6674
+ "hardis:org:diagnose:unusedusers",
6675
+ "org:hardis:diagnose:unusedusers",
6676
+ "org:diagnose:hardis:unusedusers",
6677
+ "org:diagnose:unusedusers:hardis",
6678
+ "hardis:diagnose:org:unusedusers",
6679
+ "diagnose:hardis:org:unusedusers",
6680
+ "diagnose:org:hardis:unusedusers",
6681
+ "diagnose:org:unusedusers:hardis",
6682
+ "hardis:diagnose:unusedusers:org",
6683
+ "diagnose:hardis:unusedusers:org",
6684
+ "diagnose:unusedusers:hardis:org",
6685
+ "diagnose:unusedusers:org:hardis",
6686
+ "hardis:org:unusedusers:diagnose",
6687
+ "org:hardis:unusedusers:diagnose",
6688
+ "org:unusedusers:hardis:diagnose",
6689
+ "org:unusedusers:diagnose:hardis",
6690
+ "hardis:unusedusers:org:diagnose",
6691
+ "unusedusers:hardis:org:diagnose",
6692
+ "unusedusers:org:hardis:diagnose",
6693
+ "unusedusers:org:diagnose:hardis",
6694
+ "hardis:unusedusers:diagnose:org",
6695
+ "unusedusers:hardis:diagnose:org",
6696
+ "unusedusers:diagnose:hardis:org",
6697
+ "unusedusers:diagnose:org:hardis"
6577
6698
  ]
6578
6699
  },
6579
- "hardis:org:files:import": {
6700
+ "hardis:org:generate:packagexmlfull": {
6580
6701
  "aliases": [],
6581
6702
  "args": {},
6582
- "description": "Import file attachments into a Salesforce org\n\nSee article below to see how to Export them.\n\n[![How to mass download notes and attachments files from a Salesforce org](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/article-mass-download.jpg)](https://nicolas.vuillamy.fr/how-to-mass-download-notes-and-attachments-files-from-a-salesforce-org-83a028824afd)\n",
6703
+ "description": "Generates full org package.xml, including managed items",
6583
6704
  "examples": [
6584
- "$ sf hardis:org:files:import"
6705
+ "$ sf hardis:org:generate:packagexmlfull",
6706
+ "$ sf hardis:org:generate:packagexmlfull --outputfile /tmp/packagexmlfull.xml",
6707
+ "$ sf hardis:org:generate:packagexmlfull --target-org nico@example.com"
6585
6708
  ],
6586
6709
  "flags": {
6587
6710
  "json": {
@@ -6599,21 +6722,13 @@
6599
6722
  "multiple": false,
6600
6723
  "type": "option"
6601
6724
  },
6602
- "path": {
6603
- "char": "p",
6604
- "description": "Path to the file export project",
6605
- "name": "path",
6725
+ "outputfile": {
6726
+ "description": "Output package.xml file",
6727
+ "name": "outputfile",
6606
6728
  "hasDynamicHelp": false,
6607
6729
  "multiple": false,
6608
6730
  "type": "option"
6609
6731
  },
6610
- "overwrite": {
6611
- "char": "f",
6612
- "description": "Override existing files (doubles the number of API calls)",
6613
- "name": "overwrite",
6614
- "allowNo": false,
6615
- "type": "boolean"
6616
- },
6617
6732
  "debug": {
6618
6733
  "char": "d",
6619
6734
  "description": "Activate debug mode (more logs)",
@@ -6652,13 +6767,13 @@
6652
6767
  },
6653
6768
  "hasDynamicHelp": true,
6654
6769
  "hiddenAliases": [],
6655
- "id": "hardis:org:files:import",
6770
+ "id": "hardis:org:generate:packagexmlfull",
6656
6771
  "pluginAlias": "sfdx-hardis",
6657
6772
  "pluginName": "sfdx-hardis",
6658
6773
  "pluginType": "core",
6659
6774
  "strict": true,
6660
6775
  "enableJsonFlag": true,
6661
- "title": "Import files",
6776
+ "title": "Generate Full Org package.xml",
6662
6777
  "requiresProject": false,
6663
6778
  "isESM": true,
6664
6779
  "relativePath": [
@@ -6666,35 +6781,35 @@
6666
6781
  "commands",
6667
6782
  "hardis",
6668
6783
  "org",
6669
- "files",
6670
- "import.js"
6784
+ "generate",
6785
+ "packagexmlfull.js"
6671
6786
  ],
6672
6787
  "aliasPermutations": [],
6673
6788
  "permutations": [
6674
- "hardis:org:files:import",
6675
- "org:hardis:files:import",
6676
- "org:files:hardis:import",
6677
- "org:files:import:hardis",
6678
- "hardis:files:org:import",
6679
- "files:hardis:org:import",
6680
- "files:org:hardis:import",
6681
- "files:org:import:hardis",
6682
- "hardis:files:import:org",
6683
- "files:hardis:import:org",
6684
- "files:import:hardis:org",
6685
- "files:import:org:hardis",
6686
- "hardis:org:import:files",
6687
- "org:hardis:import:files",
6688
- "org:import:hardis:files",
6689
- "org:import:files:hardis",
6690
- "hardis:import:org:files",
6691
- "import:hardis:org:files",
6692
- "import:org:hardis:files",
6693
- "import:org:files:hardis",
6694
- "hardis:import:files:org",
6695
- "import:hardis:files:org",
6696
- "import:files:hardis:org",
6697
- "import:files:org:hardis"
6789
+ "hardis:org:generate:packagexmlfull",
6790
+ "org:hardis:generate:packagexmlfull",
6791
+ "org:generate:hardis:packagexmlfull",
6792
+ "org:generate:packagexmlfull:hardis",
6793
+ "hardis:generate:org:packagexmlfull",
6794
+ "generate:hardis:org:packagexmlfull",
6795
+ "generate:org:hardis:packagexmlfull",
6796
+ "generate:org:packagexmlfull:hardis",
6797
+ "hardis:generate:packagexmlfull:org",
6798
+ "generate:hardis:packagexmlfull:org",
6799
+ "generate:packagexmlfull:hardis:org",
6800
+ "generate:packagexmlfull:org:hardis",
6801
+ "hardis:org:packagexmlfull:generate",
6802
+ "org:hardis:packagexmlfull:generate",
6803
+ "org:packagexmlfull:hardis:generate",
6804
+ "org:packagexmlfull:generate:hardis",
6805
+ "hardis:packagexmlfull:org:generate",
6806
+ "packagexmlfull:hardis:org:generate",
6807
+ "packagexmlfull:org:hardis:generate",
6808
+ "packagexmlfull:org:generate:hardis",
6809
+ "hardis:packagexmlfull:generate:org",
6810
+ "packagexmlfull:hardis:generate:org",
6811
+ "packagexmlfull:generate:hardis:org",
6812
+ "packagexmlfull:generate:org:hardis"
6698
6813
  ]
6699
6814
  },
6700
6815
  "hardis:org:fix:listviewmine": {
@@ -6812,121 +6927,6 @@
6812
6927
  "listviewmine:fix:org:hardis"
6813
6928
  ]
6814
6929
  },
6815
- "hardis:org:generate:packagexmlfull": {
6816
- "aliases": [],
6817
- "args": {},
6818
- "description": "Generates full org package.xml, including managed items",
6819
- "examples": [
6820
- "$ sf hardis:org:generate:packagexmlfull",
6821
- "$ sf hardis:org:generate:packagexmlfull --outputfile /tmp/packagexmlfull.xml",
6822
- "$ sf hardis:org:generate:packagexmlfull --target-org nico@example.com"
6823
- ],
6824
- "flags": {
6825
- "json": {
6826
- "description": "Format output as json.",
6827
- "helpGroup": "GLOBAL",
6828
- "name": "json",
6829
- "allowNo": false,
6830
- "type": "boolean"
6831
- },
6832
- "flags-dir": {
6833
- "helpGroup": "GLOBAL",
6834
- "name": "flags-dir",
6835
- "summary": "Import flag values from a directory.",
6836
- "hasDynamicHelp": false,
6837
- "multiple": false,
6838
- "type": "option"
6839
- },
6840
- "outputfile": {
6841
- "description": "Output package.xml file",
6842
- "name": "outputfile",
6843
- "hasDynamicHelp": false,
6844
- "multiple": false,
6845
- "type": "option"
6846
- },
6847
- "debug": {
6848
- "char": "d",
6849
- "description": "Activate debug mode (more logs)",
6850
- "name": "debug",
6851
- "allowNo": false,
6852
- "type": "boolean"
6853
- },
6854
- "websocket": {
6855
- "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
6856
- "name": "websocket",
6857
- "hasDynamicHelp": false,
6858
- "multiple": false,
6859
- "type": "option"
6860
- },
6861
- "skipauth": {
6862
- "description": "Skip authentication check when a default username is required",
6863
- "name": "skipauth",
6864
- "allowNo": false,
6865
- "type": "boolean"
6866
- },
6867
- "target-org": {
6868
- "aliases": [
6869
- "targetusername",
6870
- "u"
6871
- ],
6872
- "char": "o",
6873
- "deprecateAliases": true,
6874
- "name": "target-org",
6875
- "noCacheDefault": true,
6876
- "required": true,
6877
- "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
6878
- "hasDynamicHelp": true,
6879
- "multiple": false,
6880
- "type": "option"
6881
- }
6882
- },
6883
- "hasDynamicHelp": true,
6884
- "hiddenAliases": [],
6885
- "id": "hardis:org:generate:packagexmlfull",
6886
- "pluginAlias": "sfdx-hardis",
6887
- "pluginName": "sfdx-hardis",
6888
- "pluginType": "core",
6889
- "strict": true,
6890
- "enableJsonFlag": true,
6891
- "title": "Generate Full Org package.xml",
6892
- "requiresProject": false,
6893
- "isESM": true,
6894
- "relativePath": [
6895
- "lib",
6896
- "commands",
6897
- "hardis",
6898
- "org",
6899
- "generate",
6900
- "packagexmlfull.js"
6901
- ],
6902
- "aliasPermutations": [],
6903
- "permutations": [
6904
- "hardis:org:generate:packagexmlfull",
6905
- "org:hardis:generate:packagexmlfull",
6906
- "org:generate:hardis:packagexmlfull",
6907
- "org:generate:packagexmlfull:hardis",
6908
- "hardis:generate:org:packagexmlfull",
6909
- "generate:hardis:org:packagexmlfull",
6910
- "generate:org:hardis:packagexmlfull",
6911
- "generate:org:packagexmlfull:hardis",
6912
- "hardis:generate:packagexmlfull:org",
6913
- "generate:hardis:packagexmlfull:org",
6914
- "generate:packagexmlfull:hardis:org",
6915
- "generate:packagexmlfull:org:hardis",
6916
- "hardis:org:packagexmlfull:generate",
6917
- "org:hardis:packagexmlfull:generate",
6918
- "org:packagexmlfull:hardis:generate",
6919
- "org:packagexmlfull:generate:hardis",
6920
- "hardis:packagexmlfull:org:generate",
6921
- "packagexmlfull:hardis:org:generate",
6922
- "packagexmlfull:org:hardis:generate",
6923
- "packagexmlfull:org:generate:hardis",
6924
- "hardis:packagexmlfull:generate:org",
6925
- "packagexmlfull:hardis:generate:org",
6926
- "packagexmlfull:generate:hardis:org",
6927
- "packagexmlfull:generate:org:hardis"
6928
- ]
6929
- },
6930
6930
  "hardis:org:monitor:all": {
6931
6931
  "aliases": [],
6932
6932
  "args": {},
@@ -14615,5 +14615,5 @@
14615
14615
  ]
14616
14616
  }
14617
14617
  },
14618
- "version": "5.35.0"
14618
+ "version": "5.36.0"
14619
14619
  }