@pnp/cli-microsoft365 6.0.0-beta.5637b93 → 6.0.0-beta.66b6874
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/.eslintrc.js +13 -0
- package/README.md +5 -0
- package/dist/Auth.js +3 -4
- package/dist/Command.js +56 -43
- package/dist/api.js +3 -3
- package/dist/appInsights.js +2 -0
- package/dist/cli/Cli.js +37 -29
- package/dist/index.js +2 -2
- package/dist/m365/aad/commands/app/app-add.js +34 -33
- package/dist/m365/aad/commands/app/app-get.js +19 -23
- package/dist/m365/aad/commands/app/app-remove.js +41 -49
- package/dist/m365/aad/commands/app/app-role-add.js +34 -36
- package/dist/m365/aad/commands/app/app-role-list.js +16 -24
- package/dist/m365/aad/commands/app/app-role-remove.js +29 -46
- package/dist/m365/aad/commands/app/app-set.js +16 -18
- package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +96 -104
- package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +45 -52
- package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +97 -103
- package/dist/m365/aad/commands/group/group-list.js +36 -24
- package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +35 -34
- package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +19 -16
- package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +20 -8
- package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +33 -32
- package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +35 -32
- package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +21 -22
- package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +20 -8
- package/dist/m365/aad/commands/o365group/o365group-add.js +87 -98
- package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +13 -9
- package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +18 -20
- package/dist/m365/aad/commands/o365group/o365group-get.js +22 -27
- package/dist/m365/aad/commands/o365group/o365group-list.js +39 -44
- package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +34 -22
- package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +25 -13
- package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +36 -38
- package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +26 -25
- package/dist/m365/aad/commands/o365group/o365group-remove.js +41 -43
- package/dist/m365/aad/commands/o365group/o365group-renew.js +19 -14
- package/dist/m365/aad/commands/o365group/o365group-set.js +98 -116
- package/dist/m365/aad/commands/o365group/o365group-teamify.js +37 -37
- package/dist/m365/aad/commands/o365group/o365group-user-add.js +34 -34
- package/dist/m365/aad/commands/o365group/o365group-user-list.js +20 -21
- package/dist/m365/aad/commands/o365group/o365group-user-remove.js +65 -71
- package/dist/m365/aad/commands/o365group/o365group-user-set.js +69 -72
- package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +28 -23
- package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +23 -20
- package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +42 -32
- package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +30 -16
- package/dist/m365/aad/commands/policy/policy-list.js +22 -23
- package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +61 -53
- package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +84 -72
- package/dist/m365/aad/commands/siteclassification/siteclassification-get.js +66 -57
- package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +96 -93
- package/dist/m365/aad/commands/sp/sp-add.js +29 -32
- package/dist/m365/aad/commands/sp/sp-get.js +29 -32
- package/dist/m365/aad/commands/user/user-get.js +43 -48
- package/dist/m365/aad/commands/user/user-hibp.js +23 -24
- package/dist/m365/aad/commands/user/user-list.js +36 -15
- package/dist/m365/aad/commands/user/user-password-validate.js +29 -17
- package/dist/m365/aad/commands/user/user-set.js +24 -22
- package/dist/m365/aad/commands/user/user-signin-list.js +28 -24
- package/dist/m365/aad/commands.js +0 -1
- package/dist/m365/adaptivecard/commands/adaptivecard-send.js +39 -37
- package/dist/m365/app/commands/app-get.js +28 -16
- package/dist/m365/app/commands/app-open.js +20 -5
- package/dist/m365/app/commands/permission/permission-list.js +19 -17
- package/dist/m365/base/AnonymousCommand.js +14 -3
- package/dist/m365/base/AppCommand.js +54 -47
- package/dist/m365/base/DateAndPeriodBasedReport.js +7 -5
- package/dist/m365/base/PeriodBasedReport.js +23 -16
- package/dist/m365/base/SpoCommand.js +13 -9
- package/dist/m365/base/YammerCommand.js +4 -4
- package/dist/m365/booking/commands/business/business-get.js +96 -0
- package/dist/m365/booking/commands/business/business-list.js +39 -0
- package/dist/m365/booking/commands.js +8 -0
- package/dist/m365/cli/commands/cli-consent.js +15 -12
- package/dist/m365/cli/commands/cli-doctor.js +37 -27
- package/dist/m365/cli/commands/cli-issue.js +15 -15
- package/dist/m365/cli/commands/cli-reconsent.js +31 -19
- package/dist/m365/cli/commands/completion/completion-clink-update.js +13 -3
- package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +47 -38
- package/dist/m365/cli/commands/completion/completion-pwsh-update.js +16 -6
- package/dist/m365/cli/commands/completion/completion-sh-setup.js +21 -11
- package/dist/m365/cli/commands/completion/completion-sh-update.js +16 -6
- package/dist/m365/cli/commands/config/config-get.js +5 -4
- package/dist/m365/cli/commands/config/config-reset.js +10 -9
- package/dist/m365/cli/commands/config/config-set.js +20 -20
- package/dist/m365/commands/commands.js +1 -0
- package/dist/m365/commands/login.js +66 -63
- package/dist/m365/commands/logout.js +34 -23
- package/dist/m365/commands/request.js +150 -0
- package/dist/m365/commands/status.js +50 -28
- package/dist/m365/commands/version.js +13 -3
- package/dist/m365/file/commands/convert/convert-pdf.js +58 -53
- package/dist/m365/file/commands/file-add.js +17 -12
- package/dist/m365/file/commands/file-list.js +31 -33
- package/dist/m365/flow/commands/environment/environment-get.js +34 -22
- package/dist/m365/flow/commands/environment/environment-list.js +33 -21
- package/dist/m365/flow/commands/flow-disable.js +28 -14
- package/dist/m365/flow/commands/flow-enable.js +28 -14
- package/dist/m365/flow/commands/flow-export.js +104 -104
- package/dist/m365/flow/commands/flow-get.js +33 -21
- package/dist/m365/flow/commands/flow-list.js +28 -16
- package/dist/m365/flow/commands/flow-remove.js +41 -45
- package/dist/m365/flow/commands/run/run-cancel.js +35 -34
- package/dist/m365/flow/commands/run/run-get.js +33 -21
- package/dist/m365/flow/commands/run/run-list.js +31 -19
- package/dist/m365/flow/commands/run/run-resubmit.js +39 -40
- package/dist/m365/graph/Changelog.js +3 -0
- package/dist/m365/graph/commands/changelog/changelog-list.js +164 -0
- package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +32 -29
- package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +30 -17
- package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +40 -36
- package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +43 -32
- package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +59 -56
- package/dist/m365/graph/commands/subscription/subscription-add.js +30 -27
- package/dist/m365/graph/commands.js +1 -0
- package/dist/m365/onedrive/commands/onedrive-list.js +25 -15
- package/dist/m365/onenote/commands/notebook/notebook-list.js +140 -0
- package/dist/m365/onenote/commands.js +7 -0
- package/dist/m365/outlook/commands/mail/mail-send.js +73 -34
- package/dist/m365/outlook/commands/message/message-list.js +17 -26
- package/dist/m365/outlook/commands/message/message-move.js +28 -47
- package/dist/m365/outlook/commands/room/room-list.js +24 -12
- package/dist/m365/outlook/commands/roomlist/roomlist-list.js +20 -8
- package/dist/m365/outlook/commands.js +1 -2
- package/dist/m365/pa/commands/app/app-get.js +49 -53
- package/dist/m365/pa/commands/app/app-list.js +20 -17
- package/dist/m365/pa/commands/app/app-remove.js +41 -41
- package/dist/m365/pa/commands/connector/connector-export.js +102 -104
- package/dist/m365/pa/commands/connector/connector-list.js +29 -17
- package/dist/m365/pa/commands/environment/environment-get.js +34 -22
- package/dist/m365/pa/commands/environment/environment-list.js +33 -21
- package/dist/m365/pa/commands/pcf/pcf-init.js +39 -38
- package/dist/m365/pa/commands/solution/solution-init.js +50 -49
- package/dist/m365/pa/commands/solution/solution-reference-add.js +15 -14
- package/dist/m365/planner/commands/bucket/bucket-add.js +34 -35
- package/dist/m365/planner/commands/bucket/bucket-get.js +18 -14
- package/dist/m365/planner/commands/bucket/bucket-list.js +23 -21
- package/dist/m365/planner/commands/bucket/bucket-remove.js +39 -39
- package/dist/m365/planner/commands/bucket/bucket-set.js +31 -27
- package/dist/m365/planner/commands/plan/plan-add.js +39 -38
- package/dist/m365/planner/commands/plan/plan-get.js +33 -33
- package/dist/m365/planner/commands/plan/plan-list.js +23 -22
- package/dist/m365/planner/commands/plan/plan-remove.js +38 -40
- package/dist/m365/planner/commands/task/task-add.js +51 -63
- package/dist/m365/planner/commands/task/task-checklistitem-add.js +47 -37
- package/dist/m365/planner/commands/task/task-checklistitem-list.js +36 -22
- package/dist/m365/planner/commands/task/task-checklistitem-remove.js +52 -42
- package/dist/m365/planner/commands/task/task-get.js +26 -15
- package/dist/m365/planner/commands/task/task-list.js +48 -56
- package/dist/m365/planner/commands/task/task-reference-add.js +25 -24
- package/dist/m365/planner/commands/task/task-reference-list.js +31 -19
- package/dist/m365/planner/commands/task/task-reference-remove.js +41 -42
- package/dist/m365/planner/commands/task/task-remove.js +38 -37
- package/dist/m365/planner/commands/task/task-set.js +38 -41
- package/dist/m365/planner/commands/tenant/tenant-settings-list.js +26 -14
- package/dist/m365/planner/commands/tenant/tenant-settings-set.js +27 -24
- package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +75 -0
- package/dist/m365/pp/commands/environment/environment-list.js +41 -29
- package/dist/m365/pp/commands/gateway/gateway-list.js +29 -17
- package/dist/m365/pp/commands/managementapp/managementapp-add.js +26 -32
- package/dist/m365/pp/commands/managementapp/managementapp-list.js +21 -9
- package/dist/m365/pp/commands/solution/Solution.js +3 -0
- package/dist/m365/pp/commands/solution/solution-list.js +87 -0
- package/dist/m365/pp/commands/tenant/tenant-settings-list.js +45 -0
- package/dist/m365/pp/commands.js +4 -1
- package/dist/m365/search/commands/externalconnection/externalconnection-add.js +29 -24
- package/dist/m365/search/commands/externalconnection/externalconnection-get.js +37 -28
- package/dist/m365/search/commands/externalconnection/externalconnection-list.js +20 -8
- package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +108 -0
- package/dist/m365/search/commands.js +2 -1
- package/dist/m365/spfx/commands/package/package-generate.js +105 -98
- package/dist/m365/spfx/commands/project/base-project-command.js +19 -18
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.16.0-beta.1.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +2 -2
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
- package/dist/m365/spfx/commands/project/project-doctor.js +104 -106
- package/dist/m365/spfx/commands/project/project-externalize.js +45 -38
- package/dist/m365/spfx/commands/project/project-rename.js +38 -30
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001005_DEP_types_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001006_DEP_types_react_dom.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001008_DEP_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001009_DEP_react_dom.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001015_DEP_types_react_addons_shallow_compare.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001016_DEP_types_react_addons_update.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001017_DEP_types_react_addons_update.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001019_DEP_knockout.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001020_DEP_types_knockout.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002015_DEVDEP_types_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002025_DEVDEP_eslint_plugin_react_hooks.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +47 -0
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015008_FILE_eslintrc_js.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN020001_RES_types_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +48 -0
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022001_SCSS_remove_fabric_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022002_SCSS_add_fabric_react.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +0 -2
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.16.0-beta.1.js +61 -0
- package/dist/m365/spfx/commands/project/project-upgrade.js +192 -194
- package/dist/m365/spfx/commands/spfx-doctor.js +193 -127
- package/dist/m365/spo/commands/app/app-add.js +34 -34
- package/dist/m365/spo/commands/app/app-deploy.js +45 -48
- package/dist/m365/spo/commands/app/app-get.js +47 -50
- package/dist/m365/spo/commands/app/app-install.js +21 -16
- package/dist/m365/spo/commands/app/app-instance-list.js +27 -23
- package/dist/m365/spo/commands/app/app-list.js +32 -34
- package/dist/m365/spo/commands/app/app-remove.js +38 -40
- package/dist/m365/spo/commands/app/app-retract.js +38 -40
- package/dist/m365/spo/commands/app/app-teamspackage-download.js +42 -43
- package/dist/m365/spo/commands/app/app-uninstall.js +35 -34
- package/dist/m365/spo/commands/app/app-upgrade.js +21 -16
- package/dist/m365/spo/commands/apppage/apppage-add.js +39 -40
- package/dist/m365/spo/commands/apppage/apppage-set.js +21 -16
- package/dist/m365/spo/commands/cdn/cdn-get.js +36 -42
- package/dist/m365/spo/commands/cdn/cdn-origin-add.js +31 -38
- package/dist/m365/spo/commands/cdn/cdn-origin-list.js +34 -40
- package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +46 -59
- package/dist/m365/spo/commands/cdn/cdn-policy-list.js +42 -49
- package/dist/m365/spo/commands/cdn/cdn-policy-set.js +38 -46
- package/dist/m365/spo/commands/cdn/cdn-set.js +64 -68
- package/dist/m365/spo/commands/contenttype/contenttype-add.js +54 -57
- package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +100 -116
- package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +127 -151
- package/dist/m365/spo/commands/contenttype/contenttype-get.js +42 -43
- package/dist/m365/spo/commands/contenttype/contenttype-list.js +23 -20
- package/dist/m365/spo/commands/contenttype/contenttype-remove.js +69 -82
- package/dist/m365/spo/commands/contenttype/contenttype-set.js +168 -0
- package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +51 -48
- package/dist/m365/spo/commands/customaction/customaction-add.js +46 -43
- package/dist/m365/spo/commands/customaction/customaction-clear.js +30 -28
- package/dist/m365/spo/commands/customaction/customaction-get.js +43 -38
- package/dist/m365/spo/commands/customaction/customaction-list.js +30 -25
- package/dist/m365/spo/commands/customaction/customaction-remove.js +36 -35
- package/dist/m365/spo/commands/customaction/customaction-set.js +25 -20
- package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +47 -42
- package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +39 -35
- package/dist/m365/spo/commands/externaluser/externaluser-list.js +55 -58
- package/dist/m365/spo/commands/feature/feature-disable.js +26 -21
- package/dist/m365/spo/commands/feature/feature-enable.js +28 -23
- package/dist/m365/spo/commands/feature/feature-list.js +25 -22
- package/dist/m365/spo/commands/field/field-add.js +29 -26
- package/dist/m365/spo/commands/field/field-get.js +41 -36
- package/dist/m365/spo/commands/field/field-list.js +33 -28
- package/dist/m365/spo/commands/field/field-remove.js +87 -88
- package/dist/m365/spo/commands/field/field-set.js +70 -81
- package/dist/m365/spo/commands/file/file-add.js +158 -177
- package/dist/m365/spo/commands/file/file-checkin.js +43 -41
- package/dist/m365/spo/commands/file/file-checkout.js +30 -28
- package/dist/m365/spo/commands/file/file-copy.js +91 -105
- package/dist/m365/spo/commands/file/file-get.js +71 -76
- package/dist/m365/spo/commands/file/file-list.js +17 -11
- package/dist/m365/spo/commands/file/file-move.js +89 -102
- package/dist/m365/spo/commands/file/file-remove.js +62 -67
- package/dist/m365/spo/commands/file/file-rename.js +52 -50
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +231 -0
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +180 -0
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +125 -0
- package/dist/m365/spo/commands/file/file-sharinginfo-get.js +53 -53
- package/dist/m365/spo/commands/folder/folder-add.js +29 -25
- package/dist/m365/spo/commands/folder/folder-copy.js +49 -44
- package/dist/m365/spo/commands/folder/folder-get.js +59 -28
- package/dist/m365/spo/commands/folder/folder-list.js +25 -21
- package/dist/m365/spo/commands/folder/folder-move.js +50 -45
- package/dist/m365/spo/commands/folder/folder-remove.js +44 -42
- package/dist/m365/spo/commands/folder/folder-rename.js +34 -38
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +94 -0
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +89 -0
- package/dist/m365/spo/commands/group/group-add.js +28 -25
- package/dist/m365/spo/commands/group/group-get.js +42 -39
- package/dist/m365/spo/commands/group/group-list.js +23 -20
- package/dist/m365/spo/commands/group/group-remove.js +53 -59
- package/dist/m365/spo/commands/group/group-set.js +31 -26
- package/dist/m365/spo/commands/group/group-user-add.js +38 -51
- package/dist/m365/spo/commands/group/group-user-list.js +29 -29
- package/dist/m365/spo/commands/group/group-user-remove.js +46 -50
- package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +30 -20
- package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +23 -20
- package/dist/m365/spo/commands/homesite/homesite-get.js +29 -19
- package/dist/m365/spo/commands/homesite/homesite-remove.js +50 -49
- package/dist/m365/spo/commands/homesite/homesite-set.js +28 -31
- package/dist/m365/spo/commands/hubsite/hubsite-connect.js +22 -18
- package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +27 -24
- package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +38 -38
- package/dist/m365/spo/commands/hubsite/hubsite-get.js +24 -37
- package/dist/m365/spo/commands/hubsite/hubsite-list.js +65 -63
- package/dist/m365/spo/commands/hubsite/hubsite-register.js +22 -20
- package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +33 -36
- package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +48 -55
- package/dist/m365/spo/commands/hubsite/hubsite-set.js +38 -41
- package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +21 -16
- package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +36 -36
- package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +35 -32
- package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +52 -53
- package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +29 -33
- package/dist/m365/spo/commands/list/list-add.js +28 -25
- package/dist/m365/spo/commands/list/list-contenttype-add.js +38 -37
- package/dist/m365/spo/commands/list/list-contenttype-default-set.js +64 -67
- package/dist/m365/spo/commands/list/list-contenttype-list.js +37 -36
- package/dist/m365/spo/commands/list/list-contenttype-remove.js +50 -54
- package/dist/m365/spo/commands/list/list-get.js +41 -40
- package/dist/m365/spo/commands/list/list-label-get.js +55 -58
- package/dist/m365/spo/commands/list/list-label-set.js +55 -51
- package/dist/m365/spo/commands/list/list-list.js +26 -23
- package/dist/m365/spo/commands/list/list-remove.js +50 -54
- package/dist/m365/spo/commands/list/list-roleassignment-add.js +56 -46
- package/dist/m365/spo/commands/list/list-roleassignment-remove.js +73 -44
- package/dist/m365/spo/commands/list/list-roleinheritance-break.js +58 -31
- package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +54 -27
- package/dist/m365/spo/commands/list/list-set.js +31 -28
- package/dist/m365/spo/commands/list/list-sitescript-get.js +58 -62
- package/dist/m365/spo/commands/list/list-view-add.js +37 -32
- package/dist/m365/spo/commands/list/list-view-field-add.js +57 -72
- package/dist/m365/spo/commands/list/list-view-field-remove.js +51 -68
- package/dist/m365/spo/commands/list/list-view-field-set.js +38 -49
- package/dist/m365/spo/commands/list/list-view-get.js +40 -41
- package/dist/m365/spo/commands/list/list-view-list.js +36 -35
- package/dist/m365/spo/commands/list/list-view-remove.js +50 -59
- package/dist/m365/spo/commands/list/list-view-set.js +35 -39
- package/dist/m365/spo/commands/list/list-webhook-add.js +47 -48
- package/dist/m365/spo/commands/list/list-webhook-get.js +38 -39
- package/dist/m365/spo/commands/list/list-webhook-list.js +52 -48
- package/dist/m365/spo/commands/list/list-webhook-remove.js +51 -56
- package/dist/m365/spo/commands/list/list-webhook-set.js +44 -45
- package/dist/m365/spo/commands/listitem/listitem-add.js +110 -119
- package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +36 -35
- package/dist/m365/spo/commands/listitem/listitem-get.js +36 -35
- package/dist/m365/spo/commands/listitem/listitem-isrecord.js +72 -76
- package/dist/m365/spo/commands/listitem/listitem-list.js +63 -68
- package/dist/m365/spo/commands/listitem/listitem-record-declare.js +59 -62
- package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +58 -61
- package/dist/m365/spo/commands/listitem/listitem-remove.js +55 -58
- package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +206 -0
- package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +58 -31
- package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +54 -24
- package/dist/m365/spo/commands/listitem/listitem-set.js +150 -170
- package/dist/m365/spo/commands/mail/mail-send.js +50 -45
- package/dist/m365/spo/commands/navigation/navigation-node-add.js +31 -28
- package/dist/m365/spo/commands/navigation/navigation-node-list.js +28 -25
- package/dist/m365/spo/commands/navigation/navigation-node-remove.js +38 -38
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +30 -33
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +49 -45
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +50 -50
- package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +35 -31
- package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +41 -50
- package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +26 -29
- package/dist/m365/spo/commands/page/Page.js +2 -2
- package/dist/m365/spo/commands/page/page-add.js +197 -218
- package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +186 -189
- package/dist/m365/spo/commands/page/page-column-get.js +25 -22
- package/dist/m365/spo/commands/page/page-column-list.js +20 -17
- package/dist/m365/spo/commands/page/page-control-get.js +39 -36
- package/dist/m365/spo/commands/page/page-control-list.js +35 -32
- package/dist/m365/spo/commands/page/page-control-set.js +100 -100
- package/dist/m365/spo/commands/page/page-copy.js +53 -53
- package/dist/m365/spo/commands/page/page-get.js +52 -53
- package/dist/m365/spo/commands/page/page-header-set.js +230 -234
- package/dist/m365/spo/commands/page/page-list.js +42 -41
- package/dist/m365/spo/commands/page/page-remove.js +48 -47
- package/dist/m365/spo/commands/page/page-section-add.js +68 -70
- package/dist/m365/spo/commands/page/page-section-get.js +16 -13
- package/dist/m365/spo/commands/page/page-section-list.js +25 -22
- package/dist/m365/spo/commands/page/page-set.js +219 -238
- package/dist/m365/spo/commands/page/page-template-list.js +26 -27
- package/dist/m365/spo/commands/page/page-text-add.js +45 -43
- package/dist/m365/spo/commands/propertybag/propertybag-base.js +4 -3
- package/dist/m365/spo/commands/propertybag/propertybag-get.js +27 -24
- package/dist/m365/spo/commands/propertybag/propertybag-list.js +22 -19
- package/dist/m365/spo/commands/propertybag/propertybag-remove.js +36 -40
- package/dist/m365/spo/commands/propertybag/propertybag-set.js +25 -29
- package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +117 -0
- package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +27 -24
- package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +22 -19
- package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +38 -37
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +40 -35
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +43 -39
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +35 -30
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +33 -36
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +28 -31
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +45 -41
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +47 -56
- package/dist/m365/spo/commands/site/site-add.js +189 -199
- package/dist/m365/spo/commands/site/site-appcatalog-add.js +33 -36
- package/dist/m365/spo/commands/site/site-appcatalog-remove.js +33 -36
- package/dist/m365/spo/commands/site/site-apppermission-add.js +73 -41
- package/dist/m365/spo/commands/site/site-apppermission-get.js +21 -18
- package/dist/m365/spo/commands/site/site-apppermission-list.js +17 -19
- package/dist/m365/spo/commands/site/site-apppermission-remove.js +37 -48
- package/dist/m365/spo/commands/site/site-apppermission-set.js +37 -36
- package/dist/m365/spo/commands/site/site-chrome-set.js +52 -47
- package/dist/m365/spo/commands/site/site-commsite-enable.js +30 -33
- package/dist/m365/spo/commands/site/site-ensure.js +46 -36
- package/dist/m365/spo/commands/site/site-get.js +19 -16
- package/dist/m365/spo/commands/site/site-groupify.js +37 -34
- package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +27 -22
- package/dist/m365/spo/commands/site/site-list.js +20 -20
- package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +29 -26
- package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +36 -28
- package/dist/m365/spo/commands/site/site-remove.js +66 -73
- package/dist/m365/spo/commands/site/site-rename.js +66 -77
- package/dist/m365/spo/commands/site/site-set.js +47 -50
- package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +40 -42
- package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +31 -29
- package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +26 -28
- package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +28 -18
- package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +38 -42
- package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +29 -29
- package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +28 -30
- package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +41 -45
- package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +30 -26
- package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +25 -21
- package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +53 -51
- package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +25 -23
- package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +19 -15
- package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +37 -37
- package/dist/m365/spo/commands/sitescript/sitescript-add.js +23 -26
- package/dist/m365/spo/commands/sitescript/sitescript-get.js +25 -27
- package/dist/m365/spo/commands/sitescript/sitescript-list.js +31 -25
- package/dist/m365/spo/commands/sitescript/sitescript-remove.js +38 -42
- package/dist/m365/spo/commands/sitescript/sitescript-set.js +38 -40
- package/dist/m365/spo/commands/spo-get.js +16 -6
- package/dist/m365/spo/commands/spo-search.js +23 -23
- package/dist/m365/spo/commands/spo-set.js +11 -9
- package/dist/m365/spo/commands/storageentity/storageentity-get.js +37 -27
- package/dist/m365/spo/commands/storageentity/storageentity-list.js +36 -38
- package/dist/m365/spo/commands/storageentity/storageentity-remove.js +43 -51
- package/dist/m365/spo/commands/storageentity/storageentity-set.js +33 -36
- package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +21 -22
- package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +32 -22
- package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +39 -35
- package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +56 -62
- package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +24 -22
- package/dist/m365/spo/commands/tenant/tenant-settings-list.js +57 -53
- package/dist/m365/spo/commands/tenant/tenant-settings-set.js +56 -66
- package/dist/m365/spo/commands/term/term-add.js +102 -110
- package/dist/m365/spo/commands/term/term-get.js +53 -60
- package/dist/m365/spo/commands/term/term-group-add.js +74 -81
- package/dist/m365/spo/commands/term/term-group-get.js +40 -46
- package/dist/m365/spo/commands/term/term-group-list.js +43 -39
- package/dist/m365/spo/commands/term/term-list.js +44 -56
- package/dist/m365/spo/commands/term/term-set-add.js +88 -96
- package/dist/m365/spo/commands/term/term-set-get.js +42 -54
- package/dist/m365/spo/commands/term/term-set-list.js +43 -49
- package/dist/m365/spo/commands/theme/theme-apply.js +56 -60
- package/dist/m365/spo/commands/theme/theme-get.js +39 -34
- package/dist/m365/spo/commands/theme/theme-list.js +36 -26
- package/dist/m365/spo/commands/theme/theme-remove.js +47 -39
- package/dist/m365/spo/commands/theme/theme-set.js +33 -34
- package/dist/m365/spo/commands/user/user-get.js +37 -39
- package/dist/m365/spo/commands/user/user-list.js +25 -22
- package/dist/m365/spo/commands/user/user-remove.js +46 -48
- package/dist/m365/spo/commands/userprofile/userprofile-get.js +25 -24
- package/dist/m365/spo/commands/userprofile/userprofile-set.js +42 -34
- package/dist/m365/spo/commands/web/web-add.js +74 -99
- package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +31 -28
- package/dist/m365/spo/commands/web/web-get.js +23 -20
- package/dist/m365/spo/commands/web/web-installedlanguage-list.js +22 -19
- package/dist/m365/spo/commands/web/web-list.js +26 -23
- package/dist/m365/spo/commands/web/web-reindex.js +44 -55
- package/dist/m365/spo/commands/web/web-remove.js +36 -35
- package/dist/m365/spo/commands/web/web-roleassignment-add.js +186 -0
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +168 -0
- package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +51 -20
- package/dist/m365/spo/commands/web/web-set.js +53 -48
- package/dist/m365/spo/commands.js +10 -0
- package/dist/m365/teams/commands/app/app-install.js +37 -41
- package/dist/m365/teams/commands/app/app-list.js +19 -15
- package/dist/m365/teams/commands/app/app-publish.js +23 -20
- package/dist/m365/teams/commands/app/app-remove.js +32 -31
- package/dist/m365/teams/commands/app/app-uninstall.js +31 -30
- package/dist/m365/teams/commands/app/app-update.js +27 -27
- package/dist/m365/teams/commands/cache/cache-remove.js +25 -24
- package/dist/m365/teams/commands/channel/channel-add.js +17 -17
- package/dist/m365/teams/commands/channel/channel-get.js +31 -51
- package/dist/m365/teams/commands/channel/channel-list.js +24 -25
- package/dist/m365/teams/commands/channel/channel-member-add.js +21 -30
- package/dist/m365/teams/commands/channel/channel-member-list.js +28 -42
- package/dist/m365/teams/commands/channel/channel-member-remove.js +31 -34
- package/dist/m365/teams/commands/channel/channel-member-set.js +34 -56
- package/dist/m365/teams/commands/channel/channel-remove.js +62 -68
- package/dist/m365/teams/commands/channel/channel-set.js +29 -26
- package/dist/m365/teams/commands/chat/chat-get.js +15 -25
- package/dist/m365/teams/commands/chat/chat-list.js +13 -10
- package/dist/m365/teams/commands/chat/chat-member-list.js +14 -10
- package/dist/m365/teams/commands/chat/chat-message-list.js +30 -26
- package/dist/m365/teams/commands/chat/chat-message-send.js +19 -28
- package/dist/m365/teams/commands/funsettings/funsettings-list.js +19 -16
- package/dist/m365/teams/commands/funsettings/funsettings-set.js +28 -23
- package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +19 -16
- package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +25 -20
- package/dist/m365/teams/commands/membersettings/membersettings-list.js +19 -16
- package/dist/m365/teams/commands/membersettings/membersettings-set.js +25 -20
- package/dist/m365/teams/commands/message/message-get.js +20 -17
- package/dist/m365/teams/commands/message/message-list.js +22 -18
- package/dist/m365/teams/commands/message/message-reply-list.js +19 -15
- package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +19 -16
- package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +26 -21
- package/dist/m365/teams/commands/report/report-directroutingcalls.js +21 -18
- package/dist/m365/teams/commands/report/report-pstncalls.js +21 -18
- package/dist/m365/teams/commands/tab/tab-add.js +23 -20
- package/dist/m365/teams/commands/tab/tab-get.js +31 -51
- package/dist/m365/teams/commands/tab/tab-list.js +18 -14
- package/dist/m365/teams/commands/tab/tab-remove.js +34 -31
- package/dist/m365/teams/commands/team/team-add.js +53 -55
- package/dist/m365/teams/commands/team/team-archive.js +24 -21
- package/dist/m365/teams/commands/team/team-clone.js +34 -29
- package/dist/m365/teams/commands/team/team-get.js +24 -26
- package/dist/m365/teams/commands/team/team-list.js +29 -19
- package/dist/m365/teams/commands/team/team-remove.js +37 -41
- package/dist/m365/teams/commands/team/team-set.js +24 -19
- package/dist/m365/teams/commands/team/team-unarchive.js +25 -25
- package/dist/m365/teams/commands/user/user-app-add.js +23 -18
- package/dist/m365/teams/commands/user/user-app-list.js +35 -38
- package/dist/m365/teams/commands/user/user-app-remove.js +33 -32
- package/dist/m365/teams/commands/user/user-list.js +21 -22
- package/dist/m365/teams/commands.js +0 -3
- package/dist/m365/tenant/commands/id/id-get.js +37 -26
- package/dist/m365/tenant/commands/report/report-office365activationcounts.js +38 -24
- package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +38 -24
- package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +38 -24
- package/dist/m365/tenant/commands/security/security-alerts-list.js +19 -7
- package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +19 -7
- package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +19 -7
- package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +26 -14
- package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +24 -12
- package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +20 -17
- package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +24 -12
- package/dist/m365/todo/commands/list/list-add.js +31 -19
- package/dist/m365/todo/commands/list/list-list.js +20 -8
- package/dist/m365/todo/commands/list/list-remove.js +52 -61
- package/dist/m365/todo/commands/list/list-set.js +29 -34
- package/dist/m365/todo/commands/task/task-add.js +27 -34
- package/dist/m365/todo/commands/task/task-list.js +28 -35
- package/dist/m365/todo/commands/task/task-remove.js +52 -61
- package/dist/m365/todo/commands/task/task-set.js +26 -28
- package/dist/m365/util/commands/accesstoken/accesstoken-get.js +26 -14
- package/dist/m365/viva/commands/connections/connections-app-create.js +104 -106
- package/dist/m365/yammer/commands/group/group-list.js +11 -8
- package/dist/m365/yammer/commands/group/group-user-add.js +21 -16
- package/dist/m365/yammer/commands/group/group-user-remove.js +39 -38
- package/dist/m365/yammer/commands/message/message-add.js +27 -24
- package/dist/m365/yammer/commands/message/message-get.js +18 -15
- package/dist/m365/yammer/commands/message/message-like-set.js +45 -46
- package/dist/m365/yammer/commands/message/message-list.js +24 -21
- package/dist/m365/yammer/commands/message/message-remove.js +31 -30
- package/dist/m365/yammer/commands/network/network-list.js +29 -17
- package/dist/m365/yammer/commands/user/user-get.js +25 -22
- package/dist/m365/yammer/commands/user/user-list.js +11 -8
- package/dist/m365/yammer/commands/yammer-search.js +76 -73
- package/dist/request.js +10 -6
- package/dist/settingsNames.js +0 -1
- package/dist/utils/cache.js +81 -0
- package/dist/utils/fsUtil.js +2 -4
- package/dist/utils/md.js +1 -1
- package/dist/utils/pid.js +57 -0
- package/dist/utils/powerPlatform.js +42 -0
- package/dist/utils/spo.js +7 -6
- package/docs/docs/cmd/aad/app/app-add.md +1 -1
- package/docs/docs/cmd/aad/app/app-set.md +1 -1
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.md +1 -7
- package/docs/docs/cmd/aad/user/user-signin-list.md +1 -1
- package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +0 -20
- package/docs/docs/cmd/booking/business/business-get.md +33 -0
- package/docs/docs/cmd/booking/business/business-list.md +21 -0
- package/docs/docs/cmd/cli/completion/completion-clink-update.md +1 -1
- package/docs/docs/cmd/cli/completion/completion-pwsh-setup.md +1 -1
- package/docs/docs/cmd/cli/completion/completion-pwsh-update.md +1 -1
- package/docs/docs/cmd/cli/completion/completion-sh-setup.md +1 -1
- package/docs/docs/cmd/cli/completion/completion-sh-update.md +1 -1
- package/docs/docs/cmd/graph/changelog/changelog-list.md +53 -0
- package/docs/docs/cmd/onedrive/report/report-activityusercounts.md +1 -1
- package/docs/docs/cmd/onenote/notebook/notebook-list.md +70 -0
- package/docs/docs/cmd/outlook/mail/mail-send.md +69 -17
- package/docs/docs/cmd/planner/task/task-checklistitem-list.md +1 -1
- package/docs/docs/cmd/planner/task/task-reference-add.md +1 -1
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +33 -0
- package/docs/docs/cmd/pp/environment/environment-list.md +1 -1
- package/docs/docs/cmd/pp/solution/solution-list.md +33 -0
- package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +26 -0
- package/docs/docs/cmd/request.md +76 -0
- package/docs/docs/cmd/search/externalconnection/externalconnection-remove.md +40 -0
- package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
- package/docs/docs/cmd/spfx/spfx-doctor.md +13 -4
- package/docs/docs/cmd/spo/contenttype/contenttype-set.md +45 -0
- package/docs/docs/cmd/spo/field/field-set.md +0 -3
- package/docs/docs/cmd/spo/file/file-roleassignment-add.md +57 -0
- package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +54 -0
- package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +39 -0
- package/docs/docs/cmd/spo/folder/folder-get.md +13 -4
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +39 -0
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +36 -0
- package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +1 -1
- package/docs/docs/cmd/spo/hubsite/hubsite-get.md +3 -3
- package/docs/docs/cmd/spo/hubsite/hubsite-unregister.md +2 -2
- package/docs/docs/cmd/spo/list/list-roleassignment-add.md +3 -3
- package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +6 -3
- package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +9 -0
- package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +9 -0
- package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.md +67 -0
- package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +15 -6
- package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-reset.md +9 -0
- package/docs/docs/cmd/spo/roledefinition/roledefinition-add.md +43 -0
- package/docs/docs/cmd/spo/site/site-add.md +2 -2
- package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
- package/docs/docs/cmd/spo/site/site-apppermission-set.md +1 -1
- package/docs/docs/cmd/spo/site/site-groupify.md +0 -6
- package/docs/docs/cmd/spo/web/web-roleassignment-add.md +57 -0
- package/docs/docs/cmd/spo/web/web-roleassignment-remove.md +54 -0
- package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +10 -1
- package/docs/docs/cmd/teams/cache/cache-remove.md +1 -1
- package/docs/docs/cmd/teams/channel/channel-add.md +1 -1
- package/docs/docs/cmd/teams/channel/channel-list.md +1 -1
- package/docs/docs/cmd/teams/channel/channel-member-add.md +5 -11
- package/docs/docs/cmd/teams/channel/channel-member-list.md +0 -6
- package/docs/docs/cmd/teams/channel/channel-member-remove.md +1 -7
- package/docs/docs/cmd/teams/channel/channel-member-set.md +2 -2
- package/docs/docs/cmd/teams/funsettings/funsettings-set.md +6 -6
- package/docs/docs/cmd/tenant/security/security-alerts-list.md +1 -1
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +1 -1
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +1 -1
- package/npm-shrinkwrap.json +403 -379
- package/package.json +37 -20
- package/scripts/Register-CLIM365Completion.ps1 +1 -1
- package/dist/cli/index.js +0 -21
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
- package/dist/utils/index.js +0 -31
|
@@ -13,11 +13,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var _AadAppRoleAssignmentAddCommand_instances, _AadAppRoleAssignmentAddCommand_initTelemetry, _AadAppRoleAssignmentAddCommand_initOptions, _AadAppRoleAssignmentAddCommand_initValidators;
|
|
16
|
+
var _AadAppRoleAssignmentAddCommand_instances, _AadAppRoleAssignmentAddCommand_initTelemetry, _AadAppRoleAssignmentAddCommand_initOptions, _AadAppRoleAssignmentAddCommand_initValidators, _AadAppRoleAssignmentAddCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const os = require("os");
|
|
19
19
|
const request_1 = require("../../../../request");
|
|
20
|
-
const
|
|
20
|
+
const validation_1 = require("../../../../utils/validation");
|
|
21
21
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
22
22
|
const commands_1 = require("../../commands");
|
|
23
23
|
class AadAppRoleAssignmentAddCommand extends GraphCommand_1.default {
|
|
@@ -27,6 +27,7 @@ class AadAppRoleAssignmentAddCommand extends GraphCommand_1.default {
|
|
|
27
27
|
__classPrivateFieldGet(this, _AadAppRoleAssignmentAddCommand_instances, "m", _AadAppRoleAssignmentAddCommand_initTelemetry).call(this);
|
|
28
28
|
__classPrivateFieldGet(this, _AadAppRoleAssignmentAddCommand_instances, "m", _AadAppRoleAssignmentAddCommand_initOptions).call(this);
|
|
29
29
|
__classPrivateFieldGet(this, _AadAppRoleAssignmentAddCommand_instances, "m", _AadAppRoleAssignmentAddCommand_initValidators).call(this);
|
|
30
|
+
__classPrivateFieldGet(this, _AadAppRoleAssignmentAddCommand_instances, "m", _AadAppRoleAssignmentAddCommand_initOptionSets).call(this);
|
|
30
31
|
}
|
|
31
32
|
get name() {
|
|
32
33
|
return commands_1.default.APPROLEASSIGNMENT_ADD;
|
|
@@ -34,111 +35,107 @@ class AadAppRoleAssignmentAddCommand extends GraphCommand_1.default {
|
|
|
34
35
|
get description() {
|
|
35
36
|
return 'Adds service principal permissions also known as scopes and app role assignments for specified Azure AD application registration';
|
|
36
37
|
}
|
|
37
|
-
commandAction(logger, args
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
else if (args.options.appObjectId) {
|
|
44
|
-
queryFilter = `$filter=id eq '${encodeURIComponent(args.options.appObjectId)}'`;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
queryFilter = `$filter=displayName eq '${encodeURIComponent(args.options.appDisplayName)}'`;
|
|
48
|
-
}
|
|
49
|
-
const getServicePrinciplesRequestOptions = {
|
|
50
|
-
url: `${this.resource}/v1.0/servicePrincipals?${queryFilter}`,
|
|
51
|
-
headers: {
|
|
52
|
-
accept: 'application/json'
|
|
53
|
-
},
|
|
54
|
-
responseType: 'json'
|
|
55
|
-
};
|
|
56
|
-
request_1.default
|
|
57
|
-
.get(getServicePrinciplesRequestOptions)
|
|
58
|
-
.then((servicePrincipalResult) => {
|
|
59
|
-
if (servicePrincipalResult.value.length > 1) {
|
|
60
|
-
return Promise.reject('More than one service principal found. Please use the appId or appObjectId option to make sure the right service principal is specified.');
|
|
38
|
+
commandAction(logger, args) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
let objectId = '';
|
|
41
|
+
let queryFilter = '';
|
|
42
|
+
if (args.options.appId) {
|
|
43
|
+
queryFilter = `$filter=appId eq '${encodeURIComponent(args.options.appId)}'`;
|
|
61
44
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
// try resolve aliases that the user might enter since these are seen in the Azure portal
|
|
65
|
-
switch (args.options.resource.toLocaleLowerCase()) {
|
|
66
|
-
case 'sharepoint':
|
|
67
|
-
resource = 'Office 365 SharePoint Online';
|
|
68
|
-
break;
|
|
69
|
-
case 'intune':
|
|
70
|
-
resource = 'Microsoft Intune API';
|
|
71
|
-
break;
|
|
72
|
-
case 'exchange':
|
|
73
|
-
resource = 'Office 365 Exchange Online';
|
|
74
|
-
break;
|
|
45
|
+
else if (args.options.appObjectId) {
|
|
46
|
+
queryFilter = `$filter=id eq '${encodeURIComponent(args.options.appObjectId)}'`;
|
|
75
47
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
if (utils_1.validation.isValidGuid(resource)) {
|
|
79
|
-
filter += ` or appId eq '${resource}' or id eq '${resource}'`;
|
|
48
|
+
else {
|
|
49
|
+
queryFilter = `$filter=displayName eq '${encodeURIComponent(args.options.appDisplayName)}'`;
|
|
80
50
|
}
|
|
81
|
-
const
|
|
82
|
-
url: `${this.resource}/v1.0/servicePrincipals?${
|
|
51
|
+
const getServicePrinciplesRequestOptions = {
|
|
52
|
+
url: `${this.resource}/v1.0/servicePrincipals?${queryFilter}`,
|
|
83
53
|
headers: {
|
|
84
|
-
|
|
54
|
+
accept: 'application/json'
|
|
85
55
|
},
|
|
86
56
|
responseType: 'json'
|
|
87
57
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
58
|
+
try {
|
|
59
|
+
const servicePrincipalResult = yield request_1.default.get(getServicePrinciplesRequestOptions);
|
|
60
|
+
if (servicePrincipalResult.value.length > 1) {
|
|
61
|
+
throw 'More than one service principal found. Please use the appId or appObjectId option to make sure the right service principal is specified.';
|
|
62
|
+
}
|
|
63
|
+
objectId = servicePrincipalResult.value[0].id;
|
|
64
|
+
let resource = encodeURIComponent(args.options.resource);
|
|
65
|
+
// try resolve aliases that the user might enter since these are seen in the Azure portal
|
|
66
|
+
switch (args.options.resource.toLocaleLowerCase()) {
|
|
67
|
+
case 'sharepoint':
|
|
68
|
+
resource = 'Office 365 SharePoint Online';
|
|
69
|
+
break;
|
|
70
|
+
case 'intune':
|
|
71
|
+
resource = 'Microsoft Intune API';
|
|
72
|
+
break;
|
|
73
|
+
case 'exchange':
|
|
74
|
+
resource = 'Office 365 Exchange Online';
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
// will perform resource name, appId or objectId search
|
|
78
|
+
let filter = `$filter=(displayName eq '${resource}' or startswith(displayName,'${resource}'))`;
|
|
79
|
+
if (validation_1.validation.isValidGuid(resource)) {
|
|
80
|
+
filter += ` or appId eq '${resource}' or id eq '${resource}'`;
|
|
81
|
+
}
|
|
82
|
+
const requestOptions = {
|
|
83
|
+
url: `${this.resource}/v1.0/servicePrincipals?${filter}`,
|
|
84
|
+
headers: {
|
|
85
|
+
'accept': 'application/json'
|
|
86
|
+
},
|
|
87
|
+
responseType: 'json'
|
|
88
|
+
};
|
|
89
|
+
const res = yield request_1.default.get(requestOptions);
|
|
90
|
+
const appRoles = [];
|
|
91
|
+
// flatten the app roles found
|
|
92
|
+
const appRolesFound = [];
|
|
93
|
+
for (const servicePrincipal of res.value) {
|
|
94
|
+
for (const role of servicePrincipal.appRoles) {
|
|
95
|
+
appRolesFound.push({
|
|
96
|
+
resourceId: servicePrincipal.id,
|
|
97
|
+
objectId: role.id,
|
|
98
|
+
value: role.value
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (!appRolesFound.length) {
|
|
103
|
+
throw `The resource '${args.options.resource}' does not have any application permissions available.`;
|
|
104
|
+
}
|
|
105
|
+
// search for match between the found app roles and the specified scope option value
|
|
106
|
+
for (const scope of args.options.scope.split(',')) {
|
|
107
|
+
const existingRoles = appRolesFound.filter((role) => {
|
|
108
|
+
return role.value.toLocaleLowerCase() === scope.toLocaleLowerCase().trim();
|
|
100
109
|
});
|
|
110
|
+
if (!existingRoles.length) {
|
|
111
|
+
// the role specified in the scope option does not belong to the found service principles
|
|
112
|
+
// throw an error and show list with available roles (scopes)
|
|
113
|
+
let availableRoles = '';
|
|
114
|
+
appRolesFound.map((r) => availableRoles += `${os.EOL}${r.value}`);
|
|
115
|
+
throw `The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`;
|
|
116
|
+
}
|
|
117
|
+
appRoles.push(existingRoles[0]);
|
|
101
118
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
return Promise.reject(`The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`);
|
|
119
|
+
const tasks = [];
|
|
120
|
+
for (const appRole of appRoles) {
|
|
121
|
+
tasks.push(this.addRoleToServicePrincipal(objectId, appRole));
|
|
122
|
+
}
|
|
123
|
+
const rolesAddedResponse = yield Promise.all(tasks);
|
|
124
|
+
if (args.options.output && args.options.output.toLowerCase() === 'json') {
|
|
125
|
+
logger.log(rolesAddedResponse);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
logger.log(rolesAddedResponse.map((result) => ({
|
|
129
|
+
objectId: result.id,
|
|
130
|
+
principalDisplayName: result.principalDisplayName,
|
|
131
|
+
resourceDisplayName: result.resourceDisplayName
|
|
132
|
+
})));
|
|
117
133
|
}
|
|
118
|
-
result.push(existingRoles[0]);
|
|
119
|
-
}
|
|
120
|
-
return Promise.resolve(result);
|
|
121
|
-
})
|
|
122
|
-
.then((appRoles) => {
|
|
123
|
-
const tasks = [];
|
|
124
|
-
for (const appRole of appRoles) {
|
|
125
|
-
tasks.push(this.addRoleToServicePrincipal(objectId, appRole));
|
|
126
|
-
}
|
|
127
|
-
return Promise.all(tasks);
|
|
128
|
-
})
|
|
129
|
-
.then((rolesAddedResponse) => {
|
|
130
|
-
if (args.options.output && args.options.output.toLowerCase() === 'json') {
|
|
131
|
-
logger.log(rolesAddedResponse);
|
|
132
134
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
objectId: result.id,
|
|
136
|
-
principalDisplayName: result.principalDisplayName,
|
|
137
|
-
resourceDisplayName: result.resourceDisplayName
|
|
138
|
-
})));
|
|
135
|
+
catch (err) {
|
|
136
|
+
this.handleRejectedODataJsonPromise(err);
|
|
139
137
|
}
|
|
140
|
-
|
|
141
|
-
}, (rawRes) => this.handleRejectedODataJsonPromise(rawRes, logger, cb));
|
|
138
|
+
});
|
|
142
139
|
}
|
|
143
140
|
addRoleToServicePrincipal(objectId, appRole) {
|
|
144
141
|
const requestOptions = {
|
|
@@ -179,21 +176,16 @@ _AadAppRoleAssignmentAddCommand_instances = new WeakSet(), _AadAppRoleAssignment
|
|
|
179
176
|
});
|
|
180
177
|
}, _AadAppRoleAssignmentAddCommand_initValidators = function _AadAppRoleAssignmentAddCommand_initValidators() {
|
|
181
178
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
182
|
-
|
|
183
|
-
optionsSpecified += args.options.appId ? 1 : 0;
|
|
184
|
-
optionsSpecified += args.options.appDisplayName ? 1 : 0;
|
|
185
|
-
optionsSpecified += args.options.appObjectId ? 1 : 0;
|
|
186
|
-
if (optionsSpecified !== 1) {
|
|
187
|
-
return 'Specify either appId, appObjectId or appDisplayName';
|
|
188
|
-
}
|
|
189
|
-
if (args.options.appId && !utils_1.validation.isValidGuid(args.options.appId)) {
|
|
179
|
+
if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
|
|
190
180
|
return `${args.options.appId} is not a valid GUID`;
|
|
191
181
|
}
|
|
192
|
-
if (args.options.appObjectId && !
|
|
182
|
+
if (args.options.appObjectId && !validation_1.validation.isValidGuid(args.options.appObjectId)) {
|
|
193
183
|
return `${args.options.appObjectId} is not a valid GUID`;
|
|
194
184
|
}
|
|
195
185
|
return true;
|
|
196
186
|
}));
|
|
187
|
+
}, _AadAppRoleAssignmentAddCommand_initOptionSets = function _AadAppRoleAssignmentAddCommand_initOptionSets() {
|
|
188
|
+
this.optionSets.push(['appId', 'appObjectId', 'appDisplayName']);
|
|
197
189
|
};
|
|
198
190
|
module.exports = new AadAppRoleAssignmentAddCommand();
|
|
199
191
|
//# sourceMappingURL=approleassignment-add.js.map
|
|
@@ -13,10 +13,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var _AadAppRoleAssignmentListCommand_instances, _AadAppRoleAssignmentListCommand_initTelemetry, _AadAppRoleAssignmentListCommand_initOptions, _AadAppRoleAssignmentListCommand_initValidators;
|
|
16
|
+
var _AadAppRoleAssignmentListCommand_instances, _AadAppRoleAssignmentListCommand_initTelemetry, _AadAppRoleAssignmentListCommand_initOptions, _AadAppRoleAssignmentListCommand_initValidators, _AadAppRoleAssignmentListCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
|
-
const
|
|
19
|
+
const validation_1 = require("../../../../utils/validation");
|
|
20
20
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
21
21
|
const commands_1 = require("../../commands");
|
|
22
22
|
class AadAppRoleAssignmentListCommand extends GraphCommand_1.default {
|
|
@@ -26,6 +26,7 @@ class AadAppRoleAssignmentListCommand extends GraphCommand_1.default {
|
|
|
26
26
|
__classPrivateFieldGet(this, _AadAppRoleAssignmentListCommand_instances, "m", _AadAppRoleAssignmentListCommand_initTelemetry).call(this);
|
|
27
27
|
__classPrivateFieldGet(this, _AadAppRoleAssignmentListCommand_instances, "m", _AadAppRoleAssignmentListCommand_initOptions).call(this);
|
|
28
28
|
__classPrivateFieldGet(this, _AadAppRoleAssignmentListCommand_instances, "m", _AadAppRoleAssignmentListCommand_initValidators).call(this);
|
|
29
|
+
__classPrivateFieldGet(this, _AadAppRoleAssignmentListCommand_instances, "m", _AadAppRoleAssignmentListCommand_initOptionSets).call(this);
|
|
29
30
|
}
|
|
30
31
|
get name() {
|
|
31
32
|
return commands_1.default.APPROLEASSIGNMENT_LIST;
|
|
@@ -36,45 +37,45 @@ class AadAppRoleAssignmentListCommand extends GraphCommand_1.default {
|
|
|
36
37
|
defaultProperties() {
|
|
37
38
|
return ['resourceDisplayName', 'roleName'];
|
|
38
39
|
}
|
|
39
|
-
commandAction(logger, args
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
tasks.push(this.getServicePrincipal(resourceIds[i]));
|
|
51
|
-
}
|
|
52
|
-
return Promise.all(tasks);
|
|
53
|
-
})
|
|
54
|
-
.then((resources) => {
|
|
55
|
-
// loop through all appRoleAssignments for the servicePrincipal
|
|
56
|
-
// and lookup the appRole.Id in the resources[resourceId].appRoles array...
|
|
57
|
-
const results = [];
|
|
58
|
-
spAppRoleAssignments.map((appRoleAssignment) => {
|
|
59
|
-
const resource = resources.find((r) => r.id === appRoleAssignment.resourceId);
|
|
60
|
-
if (resource) {
|
|
61
|
-
const appRole = resource.appRoles.find((r) => r.id === appRoleAssignment.appRoleId);
|
|
62
|
-
if (appRole) {
|
|
63
|
-
results.push({
|
|
64
|
-
appRoleId: appRoleAssignment.appRoleId,
|
|
65
|
-
resourceDisplayName: appRoleAssignment.resourceDisplayName,
|
|
66
|
-
resourceId: appRoleAssignment.resourceId,
|
|
67
|
-
roleId: appRole.id,
|
|
68
|
-
roleName: appRole.value,
|
|
69
|
-
created: appRoleAssignment.createdDateTime,
|
|
70
|
-
deleted: appRoleAssignment.deletedDateTime
|
|
71
|
-
});
|
|
72
|
-
}
|
|
40
|
+
commandAction(logger, args) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
try {
|
|
43
|
+
const spAppRoleAssignments = yield this.getAppRoleAssignments(args.options);
|
|
44
|
+
// the role assignment has an appRoleId but no name. To get the name,
|
|
45
|
+
// we need to get all the roles from the resource. the resource is
|
|
46
|
+
// a service principal. Multiple roles may have same resource id.
|
|
47
|
+
const resourceIds = spAppRoleAssignments.map((item) => item.resourceId);
|
|
48
|
+
const tasks = [];
|
|
49
|
+
for (let i = 0; i < resourceIds.length; i++) {
|
|
50
|
+
tasks.push(this.getServicePrincipal(resourceIds[i]));
|
|
73
51
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
52
|
+
const resources = yield Promise.all(tasks);
|
|
53
|
+
// loop through all appRoleAssignments for the servicePrincipal
|
|
54
|
+
// and lookup the appRole.Id in the resources[resourceId].appRoles array...
|
|
55
|
+
const results = [];
|
|
56
|
+
spAppRoleAssignments.map((appRoleAssignment) => {
|
|
57
|
+
const resource = resources.find((r) => r.id === appRoleAssignment.resourceId);
|
|
58
|
+
if (resource) {
|
|
59
|
+
const appRole = resource.appRoles.find((r) => r.id === appRoleAssignment.appRoleId);
|
|
60
|
+
if (appRole) {
|
|
61
|
+
results.push({
|
|
62
|
+
appRoleId: appRoleAssignment.appRoleId,
|
|
63
|
+
resourceDisplayName: appRoleAssignment.resourceDisplayName,
|
|
64
|
+
resourceId: appRoleAssignment.resourceId,
|
|
65
|
+
roleId: appRole.id,
|
|
66
|
+
roleName: appRole.value,
|
|
67
|
+
created: appRoleAssignment.createdDateTime,
|
|
68
|
+
deleted: appRoleAssignment.deletedDateTime
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
logger.log(results);
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
this.handleRejectedODataJsonPromise(err);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
78
79
|
}
|
|
79
80
|
getAppRoleAssignments(argOptions) {
|
|
80
81
|
return new Promise((resolve, reject) => {
|
|
@@ -161,24 +162,16 @@ _AadAppRoleAssignmentListCommand_instances = new WeakSet(), _AadAppRoleAssignmen
|
|
|
161
162
|
});
|
|
162
163
|
}, _AadAppRoleAssignmentListCommand_initValidators = function _AadAppRoleAssignmentListCommand_initValidators() {
|
|
163
164
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
164
|
-
if (
|
|
165
|
-
return 'Specify either appId, appObjectId or appDisplayName';
|
|
166
|
-
}
|
|
167
|
-
if (args.options.appId && !utils_1.validation.isValidGuid(args.options.appId)) {
|
|
165
|
+
if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
|
|
168
166
|
return `${args.options.appId} is not a valid GUID`;
|
|
169
167
|
}
|
|
170
|
-
if (args.options.appObjectId && !
|
|
168
|
+
if (args.options.appObjectId && !validation_1.validation.isValidGuid(args.options.appObjectId)) {
|
|
171
169
|
return `${args.options.appObjectId} is not a valid GUID`;
|
|
172
170
|
}
|
|
173
|
-
let optionsSpecified = 0;
|
|
174
|
-
optionsSpecified += args.options.appId ? 1 : 0;
|
|
175
|
-
optionsSpecified += args.options.appDisplayName ? 1 : 0;
|
|
176
|
-
optionsSpecified += args.options.appObjectId ? 1 : 0;
|
|
177
|
-
if (optionsSpecified > 1) {
|
|
178
|
-
return 'Specify either appId, appObjectId or appDisplayName';
|
|
179
|
-
}
|
|
180
171
|
return true;
|
|
181
172
|
}));
|
|
173
|
+
}, _AadAppRoleAssignmentListCommand_initOptionSets = function _AadAppRoleAssignmentListCommand_initOptionSets() {
|
|
174
|
+
this.optionSets.push(['appId', 'appObjectId', 'appDisplayName']);
|
|
182
175
|
};
|
|
183
176
|
module.exports = new AadAppRoleAssignmentListCommand();
|
|
184
177
|
//# sourceMappingURL=approleassignment-list.js.map
|
|
@@ -13,12 +13,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var _AadAppRoleAssignmentRemoveCommand_instances, _AadAppRoleAssignmentRemoveCommand_initTelemetry, _AadAppRoleAssignmentRemoveCommand_initOptions, _AadAppRoleAssignmentRemoveCommand_initValidators;
|
|
16
|
+
var _AadAppRoleAssignmentRemoveCommand_instances, _AadAppRoleAssignmentRemoveCommand_initTelemetry, _AadAppRoleAssignmentRemoveCommand_initOptions, _AadAppRoleAssignmentRemoveCommand_initValidators, _AadAppRoleAssignmentRemoveCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const os = require("os");
|
|
19
|
-
const
|
|
19
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
20
20
|
const request_1 = require("../../../../request");
|
|
21
|
-
const
|
|
21
|
+
const validation_1 = require("../../../../utils/validation");
|
|
22
22
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
23
23
|
const commands_1 = require("../../commands");
|
|
24
24
|
class AadAppRoleAssignmentRemoveCommand extends GraphCommand_1.default {
|
|
@@ -28,6 +28,7 @@ class AadAppRoleAssignmentRemoveCommand extends GraphCommand_1.default {
|
|
|
28
28
|
__classPrivateFieldGet(this, _AadAppRoleAssignmentRemoveCommand_instances, "m", _AadAppRoleAssignmentRemoveCommand_initTelemetry).call(this);
|
|
29
29
|
__classPrivateFieldGet(this, _AadAppRoleAssignmentRemoveCommand_instances, "m", _AadAppRoleAssignmentRemoveCommand_initOptions).call(this);
|
|
30
30
|
__classPrivateFieldGet(this, _AadAppRoleAssignmentRemoveCommand_instances, "m", _AadAppRoleAssignmentRemoveCommand_initValidators).call(this);
|
|
31
|
+
__classPrivateFieldGet(this, _AadAppRoleAssignmentRemoveCommand_instances, "m", _AadAppRoleAssignmentRemoveCommand_initOptionSets).call(this);
|
|
31
32
|
}
|
|
32
33
|
get name() {
|
|
33
34
|
return commands_1.default.APPROLEASSIGNMENT_REMOVE;
|
|
@@ -35,105 +36,103 @@ class AadAppRoleAssignmentRemoveCommand extends GraphCommand_1.default {
|
|
|
35
36
|
get description() {
|
|
36
37
|
return 'Deletes an app role assignment for the specified Azure AD Application Registration';
|
|
37
38
|
}
|
|
38
|
-
commandAction(logger, args
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
else if (args.options.appObjectId) {
|
|
47
|
-
spMatchQuery = `id eq '${encodeURIComponent(args.options.appObjectId)}'`;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
spMatchQuery = `displayName eq '${encodeURIComponent(args.options.appDisplayName)}'`;
|
|
51
|
-
}
|
|
52
|
-
this
|
|
53
|
-
.getServicePrincipalForApp(spMatchQuery)
|
|
54
|
-
.then((resp) => {
|
|
55
|
-
if (!resp.value.length) {
|
|
56
|
-
return Promise.reject('app registration not found');
|
|
57
|
-
}
|
|
58
|
-
sp = resp.value[0];
|
|
59
|
-
let resource = encodeURIComponent(args.options.resource);
|
|
60
|
-
// try resolve aliases that the user might enter since these are seen in the Azure portal
|
|
61
|
-
switch (args.options.resource.toLocaleLowerCase()) {
|
|
62
|
-
case 'sharepoint':
|
|
63
|
-
resource = 'Office 365 SharePoint Online';
|
|
64
|
-
break;
|
|
65
|
-
case 'intune':
|
|
66
|
-
resource = 'Microsoft Intune API';
|
|
67
|
-
break;
|
|
68
|
-
case 'exchange':
|
|
69
|
-
resource = 'Office 365 Exchange Online';
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
// will perform resource name, appId or objectId search
|
|
73
|
-
let filter = `$filter=(displayName eq '${resource}' or startswith(displayName,'${resource}'))`;
|
|
74
|
-
if (utils_1.validation.isValidGuid(resource)) {
|
|
75
|
-
filter += ` or appId eq '${resource}' or id eq '${resource}'`;
|
|
39
|
+
commandAction(logger, args) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const removeAppRoleAssignment = () => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
let sp;
|
|
43
|
+
// get the service principal associated with the appId
|
|
44
|
+
let spMatchQuery = '';
|
|
45
|
+
if (args.options.appId) {
|
|
46
|
+
spMatchQuery = `appId eq '${encodeURIComponent(args.options.appId)}'`;
|
|
76
47
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
headers: {
|
|
80
|
-
'accept': 'application/json'
|
|
81
|
-
},
|
|
82
|
-
responseType: 'json'
|
|
83
|
-
};
|
|
84
|
-
return request_1.default.get(requestOptions);
|
|
85
|
-
})
|
|
86
|
-
.then((resp) => {
|
|
87
|
-
if (!resp.value.length) {
|
|
88
|
-
return Promise.reject('Resource not found');
|
|
48
|
+
else if (args.options.appObjectId) {
|
|
49
|
+
spMatchQuery = `id eq '${encodeURIComponent(args.options.appObjectId)}'`;
|
|
89
50
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (!appRolesFound.length) {
|
|
93
|
-
return Promise.reject(`The resource '${args.options.resource}' does not have any application permissions available.`);
|
|
51
|
+
else {
|
|
52
|
+
spMatchQuery = `displayName eq '${encodeURIComponent(args.options.appDisplayName)}'`;
|
|
94
53
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (!existingRoles.length) {
|
|
100
|
-
// the role specified in the scope option does not belong to the found service principles
|
|
101
|
-
// throw an error and show list with available roles (scopes)
|
|
102
|
-
let availableRoles = '';
|
|
103
|
-
appRolesFound.map((r) => availableRoles += `${os.EOL}${r.value}`);
|
|
104
|
-
return Promise.reject(`The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`);
|
|
54
|
+
try {
|
|
55
|
+
let resp = yield this.getServicePrincipalForApp(spMatchQuery);
|
|
56
|
+
if (!resp.value.length) {
|
|
57
|
+
throw 'app registration not found';
|
|
105
58
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
59
|
+
sp = resp.value[0];
|
|
60
|
+
let resource = encodeURIComponent(args.options.resource);
|
|
61
|
+
// try resolve aliases that the user might enter since these are seen in the Azure portal
|
|
62
|
+
switch (args.options.resource.toLocaleLowerCase()) {
|
|
63
|
+
case 'sharepoint':
|
|
64
|
+
resource = 'Office 365 SharePoint Online';
|
|
65
|
+
break;
|
|
66
|
+
case 'intune':
|
|
67
|
+
resource = 'Microsoft Intune API';
|
|
68
|
+
break;
|
|
69
|
+
case 'exchange':
|
|
70
|
+
resource = 'Office 365 Exchange Online';
|
|
71
|
+
break;
|
|
113
72
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
73
|
+
// will perform resource name, appId or objectId search
|
|
74
|
+
let filter = `$filter=(displayName eq '${resource}' or startswith(displayName,'${resource}'))`;
|
|
75
|
+
if (validation_1.validation.isValidGuid(resource)) {
|
|
76
|
+
filter += ` or appId eq '${resource}' or id eq '${resource}'`;
|
|
77
|
+
}
|
|
78
|
+
const requestOptions = {
|
|
79
|
+
url: `${this.resource}/v1.0/servicePrincipals?${filter}`,
|
|
80
|
+
headers: {
|
|
81
|
+
'accept': 'application/json'
|
|
82
|
+
},
|
|
83
|
+
responseType: 'json'
|
|
84
|
+
};
|
|
85
|
+
resp = yield request_1.default.get(requestOptions);
|
|
86
|
+
if (!resp.value.length) {
|
|
87
|
+
throw 'Resource not found';
|
|
88
|
+
}
|
|
89
|
+
const appRolesToBeDeleted = [];
|
|
90
|
+
const appRolesFound = resp.value[0].appRoles;
|
|
91
|
+
if (!appRolesFound.length) {
|
|
92
|
+
throw `The resource '${args.options.resource}' does not have any application permissions available.`;
|
|
93
|
+
}
|
|
94
|
+
for (const scope of args.options.scope.split(',')) {
|
|
95
|
+
const existingRoles = appRolesFound.filter((role) => {
|
|
96
|
+
return role.value.toLocaleLowerCase() === scope.toLocaleLowerCase().trim();
|
|
97
|
+
});
|
|
98
|
+
if (!existingRoles.length) {
|
|
99
|
+
// the role specified in the scope option does not belong to the found service principles
|
|
100
|
+
// throw an error and show list with available roles (scopes)
|
|
101
|
+
let availableRoles = '';
|
|
102
|
+
appRolesFound.map((r) => availableRoles += `${os.EOL}${r.value}`);
|
|
103
|
+
throw `The scope value '${scope}' you have specified does not exist for ${args.options.resource}. ${os.EOL}Available scopes (application permissions) are: ${availableRoles}`;
|
|
104
|
+
}
|
|
105
|
+
appRolesToBeDeleted.push(existingRoles[0]);
|
|
106
|
+
}
|
|
107
|
+
const tasks = [];
|
|
108
|
+
for (const appRole of appRolesToBeDeleted) {
|
|
109
|
+
const appRoleAssignment = sp.appRoleAssignments.filter((role) => role.appRoleId === appRole.id);
|
|
110
|
+
if (!appRoleAssignment.length) {
|
|
111
|
+
throw 'App role assignment not found';
|
|
112
|
+
}
|
|
113
|
+
tasks.push(this.removeAppRoleAssignmentForServicePrincipal(sp.id, appRoleAssignment[0].id));
|
|
114
|
+
}
|
|
115
|
+
yield Promise.all(tasks);
|
|
131
116
|
}
|
|
132
|
-
|
|
133
|
-
|
|
117
|
+
catch (err) {
|
|
118
|
+
this.handleRejectedODataJsonPromise(err);
|
|
134
119
|
}
|
|
135
120
|
});
|
|
136
|
-
|
|
121
|
+
if (args.options.confirm) {
|
|
122
|
+
yield removeAppRoleAssignment();
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
const result = yield Cli_1.Cli.prompt({
|
|
126
|
+
type: 'confirm',
|
|
127
|
+
name: 'continue',
|
|
128
|
+
default: false,
|
|
129
|
+
message: `Are you sure you want to remove the appRoleAssignment with scope ${args.options.scope} for resource ${args.options.resource}?`
|
|
130
|
+
});
|
|
131
|
+
if (result.continue) {
|
|
132
|
+
yield removeAppRoleAssignment();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
});
|
|
137
136
|
}
|
|
138
137
|
getServicePrincipalForApp(filterParam) {
|
|
139
138
|
const spRequestOptions = {
|
|
@@ -182,21 +181,16 @@ _AadAppRoleAssignmentRemoveCommand_instances = new WeakSet(), _AadAppRoleAssignm
|
|
|
182
181
|
});
|
|
183
182
|
}, _AadAppRoleAssignmentRemoveCommand_initValidators = function _AadAppRoleAssignmentRemoveCommand_initValidators() {
|
|
184
183
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
185
|
-
|
|
186
|
-
optionsSpecified += args.options.appId ? 1 : 0;
|
|
187
|
-
optionsSpecified += args.options.appDisplayName ? 1 : 0;
|
|
188
|
-
optionsSpecified += args.options.appObjectId ? 1 : 0;
|
|
189
|
-
if (optionsSpecified !== 1) {
|
|
190
|
-
return 'Specify either appId, appObjectId or appDisplayName';
|
|
191
|
-
}
|
|
192
|
-
if (args.options.appId && !utils_1.validation.isValidGuid(args.options.appId)) {
|
|
184
|
+
if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
|
|
193
185
|
return `${args.options.appId} is not a valid GUID`;
|
|
194
186
|
}
|
|
195
|
-
if (args.options.appObjectId && !
|
|
187
|
+
if (args.options.appObjectId && !validation_1.validation.isValidGuid(args.options.appObjectId)) {
|
|
196
188
|
return `${args.options.appObjectId} is not a valid GUID`;
|
|
197
189
|
}
|
|
198
190
|
return true;
|
|
199
191
|
}));
|
|
192
|
+
}, _AadAppRoleAssignmentRemoveCommand_initOptionSets = function _AadAppRoleAssignmentRemoveCommand_initOptionSets() {
|
|
193
|
+
this.optionSets.push(['appId', 'appObjectId', 'appDisplayName']);
|
|
200
194
|
};
|
|
201
195
|
module.exports = new AadAppRoleAssignmentRemoveCommand();
|
|
202
196
|
//# sourceMappingURL=approleassignment-remove.js.map
|