@pnp/cli-microsoft365 7.0.0-beta.f1037e1 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +1 -3
- package/README.md +4 -4
- package/dist/Auth.js +12 -2
- package/dist/Command.js +3 -3
- package/dist/GlobalOptions.js +1 -7
- package/dist/cli/Cli.js +24 -7
- package/dist/m365/aad/commands/app/app-add.js +8 -8
- package/dist/m365/aad/commands/app/app-get.js +4 -1
- package/dist/m365/aad/commands/app/app-remove.js +3 -1
- package/dist/m365/aad/commands/app/app-role-add.js +9 -6
- package/dist/m365/aad/commands/app/app-role-list.js +4 -1
- package/dist/m365/aad/commands/app/app-role-remove.js +5 -2
- package/dist/m365/aad/commands/app/app-set.js +13 -10
- package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +11 -6
- package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +4 -4
- package/dist/m365/aad/commands/group/group-get.js +4 -4
- package/dist/m365/aad/commands/group/group-list.js +1 -23
- package/dist/m365/aad/commands/group/group-remove.js +98 -0
- package/dist/m365/aad/commands/{o365group/o365group-add.js → m365group/m365group-add.js} +38 -29
- package/dist/m365/aad/commands/{o365group/o365group-conversation-list.js → m365group/m365group-conversation-list.js} +15 -10
- package/dist/m365/aad/commands/{o365group/o365group-conversation-post-list.js → m365group/m365group-conversation-post-list.js} +18 -14
- package/dist/m365/aad/commands/{o365group/o365group-get.js → m365group/m365group-get.js} +14 -10
- package/dist/m365/aad/commands/{o365group/o365group-list.js → m365group/m365group-list.js} +13 -28
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-clear.js → m365group/m365group-recyclebinitem-clear.js} +15 -15
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-list.js → m365group/m365group-recyclebinitem-list.js} +10 -10
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-remove.js → m365group/m365group-recyclebinitem-remove.js} +17 -15
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-restore.js → m365group/m365group-recyclebinitem-restore.js} +18 -15
- package/dist/m365/aad/commands/{o365group/o365group-remove.js → m365group/m365group-remove.js} +17 -12
- package/dist/m365/aad/commands/{o365group/o365group-renew.js → m365group/m365group-renew.js} +15 -10
- package/dist/m365/aad/commands/{o365group/o365group-report-activitycounts.js → m365group/m365group-report-activitycounts.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activitydetail.js → m365group/m365group-report-activitydetail.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activityfilecounts.js → m365group/m365group-report-activityfilecounts.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activitygroupcounts.js → m365group/m365group-report-activitygroupcounts.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activitystorage.js → m365group/m365group-report-activitystorage.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-set.js → m365group/m365group-set.js} +22 -17
- package/dist/m365/aad/commands/{o365group/o365group-teamify.js → m365group/m365group-teamify.js} +28 -20
- package/dist/m365/aad/commands/{o365group/o365group-user-add.js → m365group/m365group-user-add.js} +19 -14
- package/dist/m365/aad/commands/{o365group/o365group-user-list.js → m365group/m365group-user-list.js} +17 -12
- package/dist/m365/aad/commands/{o365group/o365group-user-remove.js → m365group/m365group-user-remove.js} +19 -14
- package/dist/m365/aad/commands/{o365group/o365group-user-set.js → m365group/m365group-user-set.js} +20 -15
- package/dist/m365/aad/commands/policy/policy-list.js +5 -5
- package/dist/m365/aad/commands/sp/sp-add.js +4 -1
- package/dist/m365/aad/commands/sp/sp-get.js +4 -1
- package/dist/m365/aad/commands/user/user-get.js +7 -2
- package/dist/m365/aad/commands.js +23 -22
- package/dist/m365/booking/commands/business/business-get.js +4 -1
- package/dist/m365/cli/commands/cli-issue.js +5 -5
- package/dist/m365/cli/commands/config/config-get.js +5 -5
- package/dist/m365/cli/commands/config/config-list.js +16 -0
- package/dist/m365/cli/commands/config/config-reset.js +5 -5
- package/dist/m365/cli/commands/config/config-set.js +5 -5
- package/dist/m365/cli/commands.js +1 -0
- package/dist/m365/commands/login.js +7 -7
- package/dist/m365/commands/request.js +1 -1
- package/dist/m365/flow/commands/flow-export.js +13 -13
- package/dist/m365/flow/commands/owner/owner-ensure.js +5 -5
- package/dist/m365/graph/commands/subscription/subscription-add.js +5 -5
- package/dist/m365/outlook/commands/message/message-list.js +4 -2
- package/dist/m365/outlook/commands/message/message-move.js +4 -2
- package/dist/m365/pa/commands/app/app-export.js +7 -7
- package/dist/m365/pa/commands/app/app-owner-set.js +5 -5
- package/dist/m365/pa/commands/app/app-permission-ensure.js +162 -0
- package/dist/m365/pa/commands/app/app-permission-list.js +2 -2
- package/dist/m365/pa/commands/app/app-permission-remove.js +153 -0
- package/dist/m365/pa/commands/connector/connector-export.js +5 -5
- package/dist/m365/pa/commands.js +3 -4
- package/dist/m365/planner/commands/bucket/bucket-add.js +6 -3
- package/dist/m365/planner/commands/bucket/bucket-get.js +11 -4
- package/dist/m365/planner/commands/bucket/bucket-list.js +6 -3
- package/dist/m365/planner/commands/bucket/bucket-remove.js +9 -4
- package/dist/m365/planner/commands/bucket/bucket-set.js +10 -4
- package/dist/m365/planner/commands/plan/plan-add.js +4 -1
- package/dist/m365/planner/commands/plan/plan-get.js +5 -3
- package/dist/m365/planner/commands/plan/plan-list.js +8 -6
- package/dist/m365/planner/commands/plan/plan-remove.js +4 -1
- package/dist/m365/planner/commands/plan/plan-set.js +6 -3
- package/dist/m365/planner/commands/roster/roster-get.js +4 -1
- package/dist/m365/planner/commands/roster/roster-member-add.js +4 -1
- package/dist/m365/planner/commands/roster/roster-member-get.js +4 -1
- package/dist/m365/planner/commands/roster/roster-member-list.js +4 -1
- package/dist/m365/planner/commands/roster/roster-member-remove.js +4 -1
- package/dist/m365/planner/commands/roster/roster-plan-list.js +4 -1
- package/dist/m365/planner/commands/roster/roster-remove.js +4 -1
- package/dist/m365/planner/commands/task/task-add.js +21 -12
- package/dist/m365/planner/commands/task/task-checklistitem-add.js +4 -1
- package/dist/m365/planner/commands/task/task-checklistitem-list.js +4 -1
- package/dist/m365/planner/commands/task/task-checklistitem-remove.js +4 -1
- package/dist/m365/planner/commands/task/task-get.js +46 -28
- package/dist/m365/planner/commands/task/task-list.js +34 -19
- package/dist/m365/planner/commands/task/task-reference-add.js +4 -1
- package/dist/m365/planner/commands/task/task-reference-list.js +4 -1
- package/dist/m365/planner/commands/task/task-reference-remove.js +4 -1
- package/dist/m365/planner/commands/task/task-remove.js +49 -38
- package/dist/m365/planner/commands/task/task-set.js +38 -23
- package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-get.js +4 -1
- package/dist/m365/pp/commands/card/card-get.js +3 -5
- package/dist/m365/pp/commands/chatbot/chatbot-get.js +3 -1
- package/dist/m365/pp/commands/chatbot/chatbot-list.js +2 -2
- package/dist/m365/pp/commands/managementapp/managementapp-add.js +4 -1
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +14 -14
- package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +3 -1
- package/dist/m365/spfx/commands/package/package-generate.js +15 -15
- package/dist/m365/spfx/commands/project/DeployWorkflow.js +55 -0
- package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0.js} +2 -2
- package/dist/m365/spfx/commands/project/project-doctor.js +9 -9
- package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +2 -2
- package/dist/m365/spfx/commands/project/project-github-workflow-add.js +157 -0
- package/dist/m365/spfx/commands/project/project-github-workflow-model.js +2 -0
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7.js +13 -0
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0.js} +35 -27
- package/dist/m365/spfx/commands/project/project-upgrade.js +26 -28
- package/dist/m365/spfx/commands/spfx-doctor.js +76 -106
- package/dist/m365/spfx/commands.js +1 -0
- package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +27 -26
- package/dist/m365/spo/commands/app/app-add.js +9 -9
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +5 -5
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-get.js +5 -3
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +5 -5
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-remove.js +2 -2
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +3 -2
- package/dist/m365/spo/commands/commandset/commandset-add.js +11 -11
- package/dist/m365/spo/commands/commandset/commandset-get.js +12 -10
- package/dist/m365/spo/commands/commandset/commandset-list.js +5 -5
- package/dist/m365/spo/commands/commandset/commandset-remove.js +7 -6
- package/dist/m365/spo/commands/commandset/commandset-set.js +14 -12
- package/dist/m365/spo/commands/customaction/customaction-get.js +5 -2
- package/dist/m365/spo/commands/customaction/customaction-remove.js +3 -1
- package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +3 -1
- package/dist/m365/spo/commands/file/file-add.js +13 -13
- package/dist/m365/spo/commands/file/file-checkin.js +1 -1
- package/dist/m365/spo/commands/file/file-checkout.js +1 -1
- package/dist/m365/spo/commands/file/file-copy.js +36 -4
- package/dist/m365/spo/commands/file/file-get.js +11 -8
- package/dist/m365/spo/commands/file/file-list.js +4 -4
- package/dist/m365/spo/commands/file/file-move.js +74 -98
- package/dist/m365/spo/commands/file/file-remove.js +8 -8
- package/dist/m365/spo/commands/file/file-rename.js +2 -2
- package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/file/file-sharinglink-add.js +8 -8
- package/dist/m365/spo/commands/file/file-sharinglink-list.js +5 -5
- package/dist/m365/spo/commands/file/file-version-clear.js +3 -3
- package/dist/m365/spo/commands/file/file-version-get.js +3 -3
- package/dist/m365/spo/commands/file/file-version-list.js +3 -3
- package/dist/m365/spo/commands/file/file-version-remove.js +3 -3
- package/dist/m365/spo/commands/file/file-version-restore.js +3 -3
- package/dist/m365/spo/commands/folder/folder-add.js +2 -4
- package/dist/m365/spo/commands/folder/folder-copy.js +89 -45
- package/dist/m365/spo/commands/folder/folder-get.js +1 -1
- package/dist/m365/spo/commands/folder/folder-list.js +2 -2
- package/dist/m365/spo/commands/folder/folder-move.js +89 -47
- package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
- package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
- package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/group/group-list.js +0 -1
- package/dist/m365/spo/commands/group/group-member-add.js +24 -24
- package/dist/m365/spo/commands/hubsite/hubsite-connect.js +7 -4
- package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +4 -1
- package/dist/m365/spo/commands/hubsite/hubsite-get.js +3 -1
- package/dist/m365/spo/commands/list/list-add.js +4 -4
- package/dist/m365/spo/commands/list/list-retentionlabel-ensure.js +2 -24
- package/dist/m365/spo/commands/list/list-set.js +4 -4
- package/dist/m365/spo/commands/listitem/listitem-add.js +1 -0
- package/dist/m365/spo/commands/listitem/listitem-attachment-add.js +127 -0
- package/dist/m365/spo/commands/listitem/listitem-attachment-get.js +97 -0
- package/dist/m365/spo/commands/listitem/listitem-attachment-remove.js +121 -0
- package/dist/m365/spo/commands/listitem/listitem-attachment-set.js +115 -0
- package/dist/m365/spo/commands/listitem/listitem-set.js +3 -2
- package/dist/m365/spo/commands/navigation/navigation-node-set.js +2 -2
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +34 -5
- package/dist/m365/spo/commands/page/clientsidepages.js +19 -81
- package/dist/m365/spo/commands/page/page-get.js +1 -0
- package/dist/m365/spo/commands/page/page-list.js +4 -3
- package/dist/m365/spo/commands/page/page-section-add.js +56 -21
- package/dist/m365/spo/commands/page/page-set.js +13 -2
- package/dist/m365/spo/commands/propertybag/propertybag-base.js +63 -59
- package/dist/m365/spo/commands/propertybag/propertybag-remove.js +28 -31
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +30 -32
- package/dist/m365/spo/commands/site/FlowsPolicy.js +7 -0
- package/dist/m365/spo/commands/site/site-add.js +114 -161
- package/dist/m365/spo/commands/site/site-apppermission-add.js +15 -18
- package/dist/m365/spo/commands/site/site-apppermission-remove.js +34 -38
- package/dist/m365/spo/commands/site/site-apppermission-set.js +11 -14
- package/dist/m365/spo/commands/site/site-commsite-enable.js +34 -5
- package/dist/m365/spo/commands/site/site-ensure.js +14 -67
- package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +22 -22
- package/dist/m365/spo/commands/site/site-list.js +25 -43
- package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +6 -6
- package/dist/m365/spo/commands/site/site-remove.js +166 -210
- package/dist/m365/spo/commands/site/site-set.js +178 -199
- package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +1 -1
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +12 -7
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-list.js +3 -2
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-remove.js +2 -1
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +3 -2
- package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -8
- package/dist/m365/spo/commands/tenant/tenant-commandset-get.js +8 -3
- package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +3 -2
- package/dist/m365/spo/commands/tenant/tenant-commandset-remove.js +3 -1
- package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +8 -8
- package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -4
- package/dist/m365/spo/commands/term/term-get.js +6 -6
- package/dist/m365/spo/commands/theme/theme-list.js +1 -9
- package/dist/m365/spo/commands/theme/theme-remove.js +24 -24
- package/dist/m365/spo/commands/theme/theme-set.js +0 -1
- package/dist/m365/spo/commands/user/user-get.js +10 -10
- package/dist/m365/spo/commands/user/user-remove.js +27 -27
- package/dist/m365/spo/commands/web/web-reindex.js +35 -42
- package/dist/m365/spo/commands/web/web-remove.js +21 -21
- package/dist/m365/spo/commands/web/web-roleassignment-add.js +16 -31
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +33 -44
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +18 -18
- package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +19 -19
- package/dist/m365/spo/commands/web/web-set.js +5 -5
- package/dist/m365/spo/commands.js +4 -0
- package/dist/m365/teams/commands/app/app-list.js +5 -5
- package/dist/m365/teams/commands/app/app-remove.js +49 -15
- package/dist/m365/teams/commands/channel/channel-add.js +5 -1
- package/dist/m365/teams/commands/channel/channel-member-add.js +12 -10
- package/dist/m365/teams/commands/channel/channel-member-remove.js +3 -1
- package/dist/m365/teams/commands/channel/channel-member-set.js +4 -1
- package/dist/m365/teams/commands/chat/chat-get.js +7 -10
- package/dist/m365/teams/commands/chat/chat-member-add.js +5 -5
- package/dist/m365/teams/commands/chat/chat-message-send.js +8 -10
- package/dist/m365/teams/commands/funsettings/funsettings-set.js +4 -4
- package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +4 -4
- package/dist/m365/teams/commands/meeting/meeting-list.js +101 -51
- package/dist/m365/teams/commands/membersettings/membersettings-set.js +4 -4
- package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +5 -5
- package/dist/m365/teams/commands/team/team-clone.js +5 -10
- package/dist/m365/teams/commands/team/team-list.js +94 -30
- package/dist/m365/teams/commands/team/team-set.js +3 -3
- package/dist/m365/tenant/commands/info/info-get.js +83 -0
- package/dist/m365/tenant/commands.js +1 -0
- package/dist/m365/todo/commands/task/task-add.js +6 -6
- package/dist/m365/yammer/commands/message/message-like-set.js +27 -28
- package/dist/m365/yammer/commands/message/message-list.js +67 -86
- package/dist/m365/yammer/commands/message/message-remove.js +18 -18
- package/dist/m365/yammer/commands/yammer-search.js +58 -74
- package/dist/utils/aadGroup.js +39 -3
- package/dist/utils/formatting.js +7 -0
- package/dist/utils/fsUtil.js +5 -0
- package/dist/utils/planner.js +4 -3
- package/dist/utils/powerPlatform.js +1 -1
- package/dist/utils/spo.js +595 -54
- package/dist/utils/validation.js +0 -3
- package/docs/docs/_clisettings.mdx +2 -2
- package/docs/docs/cmd/_global.mdx +1 -1
- package/docs/docs/cmd/aad/app/app-set.mdx +15 -15
- package/docs/docs/cmd/aad/approleassignment/approleassignment-add.mdx +9 -9
- package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.mdx +10 -10
- package/docs/docs/cmd/aad/group/group-get.mdx +5 -5
- package/docs/docs/cmd/aad/group/group-list.mdx +0 -11
- package/docs/docs/cmd/aad/group/group-remove.mdx +44 -0
- package/docs/docs/cmd/aad/{o365group/o365group-add.mdx → m365group/m365group-add.mdx} +25 -15
- package/docs/docs/cmd/aad/{o365group/o365group-conversation-list.mdx → m365group/m365group-conversation-list.mdx} +4 -4
- package/docs/docs/cmd/aad/{o365group/o365group-conversation-post-list.mdx → m365group/m365group-conversation-post-list.mdx} +8 -8
- package/docs/docs/cmd/aad/{o365group/o365group-get.mdx → m365group/m365group-get.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-list.mdx → m365group/m365group-list.mdx} +12 -29
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-clear.mdx → m365group/m365group-recyclebinitem-clear.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-list.mdx → m365group/m365group-recyclebinitem-list.mdx} +8 -8
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-remove.mdx → m365group/m365group-recyclebinitem-remove.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-restore.mdx → m365group/m365group-recyclebinitem-restore.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-remove.mdx → m365group/m365group-remove.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-renew.mdx → m365group/m365group-renew.mdx} +4 -4
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitycounts.mdx → m365group/m365group-report-activitycounts.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitydetail.mdx → m365group/m365group-report-activitydetail.mdx} +7 -7
- package/docs/docs/cmd/aad/{o365group/o365group-report-activityfilecounts.mdx → m365group/m365group-report-activityfilecounts.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitygroupcounts.mdx → m365group/m365group-report-activitygroupcounts.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitystorage.mdx → m365group/m365group-report-activitystorage.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-set.mdx → m365group/m365group-set.mdx} +8 -8
- package/docs/docs/cmd/aad/{o365group/o365group-teamify.mdx → m365group/m365group-teamify.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-user-add.mdx → m365group/m365group-user-add.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-user-list.mdx → m365group/m365group-user-list.mdx} +7 -7
- package/docs/docs/cmd/aad/{o365group/o365group-user-remove.mdx → m365group/m365group-user-remove.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-user-set.mdx → m365group/m365group-user-set.mdx} +5 -5
- package/docs/docs/cmd/aad/policy/policy-list.mdx +5 -5
- package/docs/docs/cmd/aad/user/user-set.mdx +1 -1
- package/docs/docs/cmd/cli/config/config-list.mdx +78 -0
- package/docs/docs/cmd/flow/flow-enable.mdx +2 -2
- package/docs/docs/cmd/flow/flow-export.mdx +11 -11
- package/docs/docs/cmd/graph/subscription/subscription-add.mdx +10 -10
- package/docs/docs/cmd/login.mdx +6 -0
- package/docs/docs/cmd/pa/app/app-export.mdx +5 -5
- package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
- package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
- package/docs/docs/cmd/pa/connector/connector-export.mdx +3 -3
- package/docs/docs/cmd/planner/plan/plan-add.mdx +1 -1
- package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
- package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
- package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
- package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
- package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
- package/docs/docs/cmd/pp/chatbot/chatbot-list.mdx +4 -4
- package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +2 -2
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +2 -2
- package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +3 -3
- package/docs/docs/cmd/pp/solution/solution-publisher-get.mdx +2 -2
- package/docs/docs/cmd/pp/solution/solution-publisher-remove.mdx +2 -2
- package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
- package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
- package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
- package/docs/docs/cmd/spo/file/file-get.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-move.mdx +36 -18
- package/docs/docs/cmd/spo/file/file-remove.mdx +10 -10
- package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-clear.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-version-get.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-version-list.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-version-remove.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-version-restore.mdx +3 -3
- package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
- package/docs/docs/cmd/spo/folder/folder-copy.mdx +39 -12
- package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-move.mdx +40 -13
- package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
- package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/group/group-member-add.mdx +27 -27
- package/docs/docs/cmd/spo/list/list-contenttype-remove.mdx +1 -1
- package/docs/docs/cmd/spo/list/list-retentionlabel-ensure.mdx +2 -11
- package/docs/docs/cmd/spo/listitem/listitem-add.mdx +2 -5
- package/docs/docs/cmd/spo/listitem/listitem-attachment-add.mdx +110 -0
- package/docs/docs/cmd/spo/listitem/listitem-attachment-get.mdx +104 -0
- package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-attachment-remove.mdx +58 -0
- package/docs/docs/cmd/spo/listitem/listitem-attachment-set.mdx +58 -0
- package/docs/docs/cmd/spo/listitem/listitem-set.mdx +2 -5
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
- package/docs/docs/cmd/spo/page/page-get.mdx +0 -1
- package/docs/docs/cmd/spo/page/page-list.mdx +0 -1
- package/docs/docs/cmd/spo/page/page-section-add.mdx +25 -1
- package/docs/docs/cmd/spo/page/page-set.mdx +23 -0
- package/docs/docs/cmd/spo/site/site-add.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +11 -2
- package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-list.mdx +3 -78
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-get.mdx +2 -2
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +3 -5
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +2 -4
- package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
- package/docs/docs/cmd/spo/user/user-get.mdx +8 -8
- package/docs/docs/cmd/teams/app/app-remove.mdx +9 -6
- package/docs/docs/cmd/teams/channel/channel-member-add.mdx +4 -4
- package/docs/docs/cmd/teams/meeting/meeting-list.mdx +135 -92
- package/docs/docs/cmd/teams/team/team-add.mdx +1 -1
- package/docs/docs/cmd/teams/team/team-clone.mdx +3 -3
- package/docs/docs/cmd/teams/team/team-list.mdx +47 -22
- package/docs/docs/cmd/tenant/info/info-get.mdx +101 -0
- package/docs/docs/cmd/yammer/network/network-list.mdx +1 -1
- package/npm-shrinkwrap.json +310 -1433
- package/package.json +23 -28
- package/dist/m365/pa/cds-project-mutator.js +0 -91
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/generated/ManifestTypes.d.ts +0 -11
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_ControlManifest.Input.xml +0 -31
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_index.ts +0 -51
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/generated/ManifestTypes.d.ts +0 -12
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_ControlManifest.Input.xml +0 -37
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_index.ts +0 -48
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/index.ts +0 -0
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_ControlManifest.Input.xml +0 -31
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_index.tsx +0 -58
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_ControlManifest.Input.xml +0 -37
- package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_index.tsx +0 -55
- package/dist/m365/pa/commands/pcf/pcf-init/assets/package.json +0 -19
- package/dist/m365/pa/commands/pcf/pcf-init/assets/pcfconfig.json +0 -3
- package/dist/m365/pa/commands/pcf/pcf-init/assets/template_.gitignore +0 -14
- package/dist/m365/pa/commands/pcf/pcf-init/assets/template_pcfprojecttype.pcfproj +0 -45
- package/dist/m365/pa/commands/pcf/pcf-init/pcf-init-variables.js +0 -2
- package/dist/m365/pa/commands/pcf/pcf-init.js +0 -120
- package/dist/m365/pa/commands/solution/solution-init/assets/Other/Customizations.xml +0 -18
- package/dist/m365/pa/commands/solution/solution-init/assets/Other/Relationships.xml +0 -2
- package/dist/m365/pa/commands/solution/solution-init/assets/Other/template_Solution.xml +0 -94
- package/dist/m365/pa/commands/solution/solution-init/assets/template_.gitignore +0 -2
- package/dist/m365/pa/commands/solution/solution-init/assets/template_solutionprojecttype.cdsproj +0 -44
- package/dist/m365/pa/commands/solution/solution-init/solution-init-variables.js +0 -2
- package/dist/m365/pa/commands/solution/solution-init.js +0 -126
- package/dist/m365/pa/commands/solution/solution-reference-add.js +0 -88
- package/dist/m365/pa/template-instantiator.js +0 -57
- package/docs/docs/cmd/pa/pcf/pcf-init.mdx +0 -56
- package/docs/docs/cmd/pa/solution/solution-init.mdx +0 -46
- package/docs/docs/cmd/pa/solution/solution-reference-add.mdx +0 -42
- /package/dist/m365/aad/commands/{o365group → m365group}/GroupExtended.js +0 -0
|
@@ -127,18 +127,16 @@ class SpoSiteAddCommand extends SpoCommand {
|
|
|
127
127
|
requestOptions.data.request.Owner = args.options.owners;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
const
|
|
130
|
+
const response = await request.post(requestOptions);
|
|
131
131
|
if (isTeamSite) {
|
|
132
|
-
if (
|
|
133
|
-
throw
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
await logger.log(res.SiteUrl);
|
|
132
|
+
if (response.ErrorMessage !== null) {
|
|
133
|
+
throw response.ErrorMessage;
|
|
137
134
|
}
|
|
135
|
+
await logger.log(response.SiteUrl);
|
|
138
136
|
}
|
|
139
137
|
else {
|
|
140
|
-
if (
|
|
141
|
-
await logger.log(
|
|
138
|
+
if (response.SiteStatus === 2) {
|
|
139
|
+
await logger.log(response.SiteUrl);
|
|
142
140
|
}
|
|
143
141
|
else {
|
|
144
142
|
throw 'An error has occurred while creating the site';
|
|
@@ -155,7 +153,7 @@ class SpoSiteAddCommand extends SpoCommand {
|
|
|
155
153
|
this.context = await spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
156
154
|
let exists;
|
|
157
155
|
if (args.options.removeDeletedSite) {
|
|
158
|
-
exists = await this.
|
|
156
|
+
exists = await this.siteExists(args.options.url, logger);
|
|
159
157
|
}
|
|
160
158
|
else {
|
|
161
159
|
// assume site doesn't exist
|
|
@@ -189,166 +187,121 @@ class SpoSiteAddCommand extends SpoCommand {
|
|
|
189
187
|
},
|
|
190
188
|
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="4" ObjectPathId="3" /><ObjectPath Id="6" ObjectPathId="5" /><Query Id="7" ObjectPathId="3"><Query SelectAllProperties="true"><Properties /></Query></Query><Query Id="8" ObjectPathId="5"><Query SelectAllProperties="false"><Properties><Property Name="IsComplete" ScalarProperty="true" /><Property Name="PollingInterval" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Constructor Id="3" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="5" ParentId="3" Name="CreateSite"><Parameters><Parameter TypeId="{11f84fff-b8cf-47b6-8b50-34e692656606}"><Property Name="CompatibilityLevel" Type="Int32">0</Property><Property Name="Lcid" Type="UInt32">${lcid}</Property><Property Name="Owner" Type="String">${formatting.escapeXml(args.options.owners)}</Property><Property Name="StorageMaximumLevel" Type="Int64">${storageQuota}</Property><Property Name="StorageWarningLevel" Type="Int64">${storageQuotaWarningLevel}</Property><Property Name="Template" Type="String">${formatting.escapeXml(webTemplate)}</Property><Property Name="TimeZoneId" Type="Int32">${args.options.timeZone}</Property><Property Name="Title" Type="String">${formatting.escapeXml(args.options.title)}</Property><Property Name="Url" Type="String">${formatting.escapeXml(args.options.url)}</Property><Property Name="UserCodeMaximumLevel" Type="Double">${resourceQuota}</Property><Property Name="UserCodeWarningLevel" Type="Double">${resourceQuotaWarningLevel}</Property></Parameter></Parameters></Method></ObjectPaths></Request>`
|
|
191
189
|
};
|
|
192
|
-
const
|
|
190
|
+
const response = await request.post(requestOptions);
|
|
191
|
+
const json = JSON.parse(response);
|
|
192
|
+
const responseContent = json[0];
|
|
193
|
+
if (responseContent.ErrorInfo) {
|
|
194
|
+
throw responseContent.ErrorInfo.ErrorMessage;
|
|
195
|
+
}
|
|
196
|
+
const operation = json[json.length - 1];
|
|
197
|
+
const isComplete = operation.IsComplete;
|
|
198
|
+
if (!args.options.wait || isComplete) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
193
201
|
await new Promise((resolve, reject) => {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
setTimeout(() => {
|
|
207
|
-
spo.waitUntilFinished({
|
|
208
|
-
operationId: JSON.stringify(operation._ObjectIdentity_),
|
|
209
|
-
siteUrl: this.spoAdminUrl,
|
|
210
|
-
resolve,
|
|
211
|
-
reject,
|
|
212
|
-
logger,
|
|
213
|
-
currentContext: this.context,
|
|
214
|
-
verbose: this.verbose,
|
|
215
|
-
debug: this.debug
|
|
216
|
-
});
|
|
217
|
-
}, operation.PollingInterval);
|
|
218
|
-
}
|
|
202
|
+
setTimeout(() => {
|
|
203
|
+
spo.waitUntilFinished({
|
|
204
|
+
operationId: JSON.stringify(operation._ObjectIdentity_),
|
|
205
|
+
siteUrl: this.spoAdminUrl,
|
|
206
|
+
resolve,
|
|
207
|
+
reject,
|
|
208
|
+
logger,
|
|
209
|
+
currentContext: this.context,
|
|
210
|
+
verbose: this.verbose,
|
|
211
|
+
debug: this.debug
|
|
212
|
+
});
|
|
213
|
+
}, operation.PollingInterval);
|
|
219
214
|
});
|
|
220
215
|
}
|
|
221
216
|
catch (err) {
|
|
222
217
|
this.handleRejectedPromise(err);
|
|
223
218
|
}
|
|
224
219
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
else {
|
|
251
|
-
return Promise.reject(response.ErrorInfo.ErrorMessage);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
else {
|
|
255
|
-
const site = json[json.length - 1];
|
|
256
|
-
if (site.Status === 'Recycled') {
|
|
257
|
-
return Promise.reject(true);
|
|
258
|
-
}
|
|
259
|
-
else {
|
|
260
|
-
return Promise.resolve(false);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
})
|
|
264
|
-
.then(async () => {
|
|
265
|
-
if (this.verbose) {
|
|
266
|
-
await logger.logToStderr(`Site doesn't exist. Checking if the site ${url} exists in the recycle bin...`);
|
|
267
|
-
}
|
|
268
|
-
const requestOptions = {
|
|
269
|
-
url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
270
|
-
headers: {
|
|
271
|
-
'X-RequestDigest': this.context.FormDigestValue
|
|
272
|
-
},
|
|
273
|
-
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="181" ObjectPathId="180" /><Query Id="182" ObjectPathId="180"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><Method Id="180" ParentId="175" Name="GetDeletedSitePropertiesByUrl"><Parameters><Parameter Type="String">${formatting.escapeXml(url)}</Parameter></Parameters></Method><Constructor Id="175" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
|
|
274
|
-
};
|
|
275
|
-
return request.post(requestOptions);
|
|
276
|
-
})
|
|
277
|
-
.then((res) => {
|
|
278
|
-
const json = JSON.parse(res);
|
|
279
|
-
const response = json[0];
|
|
280
|
-
if (response.ErrorInfo) {
|
|
281
|
-
if (response.ErrorInfo.ErrorTypeName === 'Microsoft.SharePoint.Client.UnknownError') {
|
|
282
|
-
resolve(false);
|
|
283
|
-
}
|
|
284
|
-
else {
|
|
285
|
-
reject(response.ErrorInfo.ErrorMessage);
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
else {
|
|
289
|
-
const site = json[json.length - 1];
|
|
290
|
-
if (site.Status === 'Recycled') {
|
|
291
|
-
resolve(true);
|
|
292
|
-
}
|
|
293
|
-
else {
|
|
294
|
-
resolve(false);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
}, (error) => {
|
|
298
|
-
if (typeof error === 'boolean') {
|
|
299
|
-
resolve(error);
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
reject(error);
|
|
303
|
-
}
|
|
304
|
-
});
|
|
305
|
-
});
|
|
220
|
+
async siteExists(url, logger) {
|
|
221
|
+
this.context = await spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
222
|
+
if (this.verbose) {
|
|
223
|
+
await logger.logToStderr(`Checking if the site ${url} exists...`);
|
|
224
|
+
}
|
|
225
|
+
const requestOptions = {
|
|
226
|
+
url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
227
|
+
headers: {
|
|
228
|
+
'X-RequestDigest': this.context.FormDigestValue
|
|
229
|
+
},
|
|
230
|
+
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="197" ObjectPathId="196" /><ObjectPath Id="199" ObjectPathId="198" /><Query Id="200" ObjectPathId="198"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><Constructor Id="196" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="198" ParentId="196" Name="GetSitePropertiesByUrl"><Parameters><Parameter Type="String">${formatting.escapeXml(url)}</Parameter><Parameter Type="Boolean">false</Parameter></Parameters></Method></ObjectPaths></Request>`
|
|
231
|
+
};
|
|
232
|
+
const response = await request.post(requestOptions);
|
|
233
|
+
const json = JSON.parse(response);
|
|
234
|
+
const responseContent = json[0];
|
|
235
|
+
if (responseContent.ErrorInfo) {
|
|
236
|
+
if (responseContent.ErrorInfo.ErrorTypeName === 'Microsoft.Online.SharePoint.Common.SpoNoSiteException') {
|
|
237
|
+
return await this.siteExistsInTheRecycleBin(url, logger);
|
|
238
|
+
}
|
|
239
|
+
throw responseContent.ErrorInfo.ErrorMessage;
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
const site = json[json.length - 1];
|
|
243
|
+
return site.Status === 'Recycled';
|
|
244
|
+
}
|
|
306
245
|
}
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
return
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
246
|
+
async siteExistsInTheRecycleBin(url, logger) {
|
|
247
|
+
if (this.verbose) {
|
|
248
|
+
await logger.logToStderr(`Site doesn't exist. Checking if the site ${url} exists in the recycle bin...`);
|
|
249
|
+
}
|
|
250
|
+
const requestOptions = {
|
|
251
|
+
url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
252
|
+
headers: {
|
|
253
|
+
'X-RequestDigest': this.context.FormDigestValue
|
|
254
|
+
},
|
|
255
|
+
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="181" ObjectPathId="180" /><Query Id="182" ObjectPathId="180"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><Method Id="180" ParentId="175" Name="GetDeletedSitePropertiesByUrl"><Parameters><Parameter Type="String">${formatting.escapeXml(url)}</Parameter></Parameters></Method><Constructor Id="175" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
|
|
256
|
+
};
|
|
257
|
+
const res = await request.post(requestOptions);
|
|
258
|
+
const json = JSON.parse(res);
|
|
259
|
+
const response = json[0];
|
|
260
|
+
if (response.ErrorInfo) {
|
|
261
|
+
if (response.ErrorInfo.ErrorTypeName === 'Microsoft.SharePoint.Client.UnknownError') {
|
|
262
|
+
return false;
|
|
263
|
+
}
|
|
264
|
+
throw response.ErrorInfo.ErrorMessage;
|
|
265
|
+
}
|
|
266
|
+
const site = json[json.length - 1];
|
|
267
|
+
return site.Status === 'Recycled';
|
|
268
|
+
}
|
|
269
|
+
async deleteSiteFromTheRecycleBin(url, wait, logger) {
|
|
270
|
+
this.context = await spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
271
|
+
if (this.verbose) {
|
|
272
|
+
await logger.logToStderr(`Deleting site ${url} from the recycle bin...`);
|
|
273
|
+
}
|
|
274
|
+
const requestOptions = {
|
|
275
|
+
url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
276
|
+
headers: {
|
|
277
|
+
'X-RequestDigest': this.context.FormDigestValue
|
|
278
|
+
},
|
|
279
|
+
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="185" ObjectPathId="184" /><Query Id="186" ObjectPathId="184"><Query SelectAllProperties="false"><Properties><Property Name="IsComplete" ScalarProperty="true" /><Property Name="PollingInterval" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Method Id="184" ParentId="175" Name="RemoveDeletedSite"><Parameters><Parameter Type="String">${formatting.escapeXml(url)}</Parameter></Parameters></Method><Constructor Id="175" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
|
|
280
|
+
};
|
|
281
|
+
const response = await request.post(requestOptions);
|
|
282
|
+
const json = JSON.parse(response);
|
|
283
|
+
const responseContent = json[0];
|
|
284
|
+
if (responseContent.ErrorInfo) {
|
|
285
|
+
throw responseContent.ErrorInfo.ErrorMessage;
|
|
286
|
+
}
|
|
287
|
+
const operation = json[json.length - 1];
|
|
288
|
+
const isComplete = operation.IsComplete;
|
|
289
|
+
if (!wait || isComplete) {
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
await new Promise((resolve, reject) => {
|
|
293
|
+
setTimeout(() => {
|
|
294
|
+
spo.waitUntilFinished({
|
|
295
|
+
operationId: JSON.stringify(operation._ObjectIdentity_),
|
|
296
|
+
siteUrl: this.spoAdminUrl,
|
|
297
|
+
resolve,
|
|
298
|
+
reject,
|
|
299
|
+
logger,
|
|
300
|
+
currentContext: this.context,
|
|
301
|
+
verbose: this.verbose,
|
|
302
|
+
debug: this.debug
|
|
303
|
+
});
|
|
304
|
+
}, operation.PollingInterval);
|
|
352
305
|
});
|
|
353
306
|
}
|
|
354
307
|
}
|
|
@@ -27,12 +27,12 @@ class SpoSiteAppPermissionAddCommand extends GraphCommand {
|
|
|
27
27
|
__classPrivateFieldGet(this, _SpoSiteAppPermissionAddCommand_instances, "m", _SpoSiteAppPermissionAddCommand_initValidators).call(this);
|
|
28
28
|
__classPrivateFieldGet(this, _SpoSiteAppPermissionAddCommand_instances, "m", _SpoSiteAppPermissionAddCommand_initOptionSets).call(this);
|
|
29
29
|
}
|
|
30
|
-
getAppInfo(args) {
|
|
30
|
+
async getAppInfo(args) {
|
|
31
31
|
if (args.options.appId && args.options.appDisplayName) {
|
|
32
|
-
return
|
|
32
|
+
return {
|
|
33
33
|
appId: args.options.appId,
|
|
34
34
|
displayName: args.options.appDisplayName
|
|
35
|
-
}
|
|
35
|
+
};
|
|
36
36
|
}
|
|
37
37
|
let endpoint = "";
|
|
38
38
|
if (args.options.appId) {
|
|
@@ -48,21 +48,18 @@ class SpoSiteAppPermissionAddCommand extends GraphCommand {
|
|
|
48
48
|
},
|
|
49
49
|
responseType: 'json'
|
|
50
50
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
displayName: appItem.displayName
|
|
64
|
-
});
|
|
65
|
-
});
|
|
51
|
+
const response = await request.get(appRequestOptions);
|
|
52
|
+
const appItem = response.value[0];
|
|
53
|
+
if (!appItem) {
|
|
54
|
+
throw "The specified Azure AD app does not exist";
|
|
55
|
+
}
|
|
56
|
+
if (response.value.length > 1) {
|
|
57
|
+
throw `Multiple Azure AD app with displayName ${args.options.appDisplayName} found: ${response.value.map(x => x.appId)}`;
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
appId: appItem.appId,
|
|
61
|
+
displayName: appItem.displayName
|
|
62
|
+
};
|
|
66
63
|
}
|
|
67
64
|
/**
|
|
68
65
|
* Checks if the requested permission needs elevation after the initial creation.
|
|
@@ -20,15 +20,14 @@ class SpoSiteAppPermissionRemoveCommand extends GraphCommand {
|
|
|
20
20
|
constructor() {
|
|
21
21
|
super();
|
|
22
22
|
_SpoSiteAppPermissionRemoveCommand_instances.add(this);
|
|
23
|
-
this.siteId = '';
|
|
24
23
|
__classPrivateFieldGet(this, _SpoSiteAppPermissionRemoveCommand_instances, "m", _SpoSiteAppPermissionRemoveCommand_initTelemetry).call(this);
|
|
25
24
|
__classPrivateFieldGet(this, _SpoSiteAppPermissionRemoveCommand_instances, "m", _SpoSiteAppPermissionRemoveCommand_initOptions).call(this);
|
|
26
25
|
__classPrivateFieldGet(this, _SpoSiteAppPermissionRemoveCommand_instances, "m", _SpoSiteAppPermissionRemoveCommand_initValidators).call(this);
|
|
27
26
|
__classPrivateFieldGet(this, _SpoSiteAppPermissionRemoveCommand_instances, "m", _SpoSiteAppPermissionRemoveCommand_initOptionSets).call(this);
|
|
28
27
|
}
|
|
29
|
-
getPermissions() {
|
|
28
|
+
getPermissions(siteId) {
|
|
30
29
|
const requestOptions = {
|
|
31
|
-
url: `${this.resource}/v1.0/sites/${
|
|
30
|
+
url: `${this.resource}/v1.0/sites/${siteId}/permissions`,
|
|
32
31
|
headers: {
|
|
33
32
|
accept: 'application/json;odata.metadata=none'
|
|
34
33
|
},
|
|
@@ -36,34 +35,31 @@ class SpoSiteAppPermissionRemoveCommand extends GraphCommand {
|
|
|
36
35
|
};
|
|
37
36
|
return request.get(requestOptions);
|
|
38
37
|
}
|
|
39
|
-
getFilteredPermissions(
|
|
38
|
+
getFilteredPermissions(options, permissions) {
|
|
40
39
|
let filterProperty = 'displayName';
|
|
41
|
-
let filterValue =
|
|
42
|
-
if (
|
|
40
|
+
let filterValue = options.appDisplayName;
|
|
41
|
+
if (options.appId) {
|
|
43
42
|
filterProperty = 'id';
|
|
44
|
-
filterValue =
|
|
43
|
+
filterValue = options.appId;
|
|
45
44
|
}
|
|
46
45
|
return permissions.filter((p) => {
|
|
47
46
|
return p.grantedToIdentities.some(({ application }) => application[filterProperty] === filterValue);
|
|
48
47
|
});
|
|
49
48
|
}
|
|
50
|
-
getPermissionIds(
|
|
51
|
-
if (
|
|
52
|
-
return Promise.resolve([
|
|
49
|
+
async getPermissionIds(siteId, options) {
|
|
50
|
+
if (options.id) {
|
|
51
|
+
return Promise.resolve([options.id]);
|
|
53
52
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
return Promise.resolve(permissions.map(x => x.id));
|
|
62
|
-
});
|
|
53
|
+
const permissionsObject = await this.getPermissions(siteId);
|
|
54
|
+
let permissions = permissionsObject.value;
|
|
55
|
+
if (options.appId || options.appDisplayName) {
|
|
56
|
+
permissions = this.getFilteredPermissions(options, permissionsObject.value);
|
|
57
|
+
}
|
|
58
|
+
return permissions.map(x => x.id);
|
|
63
59
|
}
|
|
64
|
-
removePermissions(permissionId) {
|
|
60
|
+
removePermissions(siteId, permissionId) {
|
|
65
61
|
const spRequestOptions = {
|
|
66
|
-
url: `${this.resource}/v1.0/sites/${
|
|
62
|
+
url: `${this.resource}/v1.0/sites/${siteId}/permissions/${permissionId}`,
|
|
67
63
|
headers: {
|
|
68
64
|
'accept': 'application/json;odata.metadata=none'
|
|
69
65
|
},
|
|
@@ -72,23 +68,8 @@ class SpoSiteAppPermissionRemoveCommand extends GraphCommand {
|
|
|
72
68
|
return request.delete(spRequestOptions);
|
|
73
69
|
}
|
|
74
70
|
async commandAction(logger, args) {
|
|
75
|
-
const removeSiteAppPermission = async () => {
|
|
76
|
-
try {
|
|
77
|
-
this.siteId = await spo.getSpoGraphSiteId(args.options.siteUrl);
|
|
78
|
-
const permissionIdsToRemove = await this.getPermissionIds(args);
|
|
79
|
-
const tasks = [];
|
|
80
|
-
for (const permissionId of permissionIdsToRemove) {
|
|
81
|
-
tasks.push(this.removePermissions(permissionId));
|
|
82
|
-
}
|
|
83
|
-
const res = await Promise.all(tasks);
|
|
84
|
-
await logger.log(res);
|
|
85
|
-
}
|
|
86
|
-
catch (err) {
|
|
87
|
-
this.handleRejectedODataJsonPromise(err);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
71
|
if (args.options.force) {
|
|
91
|
-
await removeSiteAppPermission();
|
|
72
|
+
await this.removeSiteAppPermission(logger, args.options);
|
|
92
73
|
}
|
|
93
74
|
else {
|
|
94
75
|
const result = await Cli.prompt({
|
|
@@ -98,10 +79,25 @@ class SpoSiteAppPermissionRemoveCommand extends GraphCommand {
|
|
|
98
79
|
message: `Are you sure you want to remove the specified application permission from site ${args.options.siteUrl}?`
|
|
99
80
|
});
|
|
100
81
|
if (result.continue) {
|
|
101
|
-
await removeSiteAppPermission();
|
|
82
|
+
await this.removeSiteAppPermission(logger, args.options);
|
|
102
83
|
}
|
|
103
84
|
}
|
|
104
85
|
}
|
|
86
|
+
async removeSiteAppPermission(logger, options) {
|
|
87
|
+
try {
|
|
88
|
+
const siteId = await spo.getSpoGraphSiteId(options.siteUrl);
|
|
89
|
+
const permissionIdsToRemove = await this.getPermissionIds(siteId, options);
|
|
90
|
+
const tasks = [];
|
|
91
|
+
for (const permissionId of permissionIdsToRemove) {
|
|
92
|
+
tasks.push(this.removePermissions(siteId, permissionId));
|
|
93
|
+
}
|
|
94
|
+
const response = await Promise.all(tasks);
|
|
95
|
+
await logger.log(response);
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
this.handleRejectedODataJsonPromise(err);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
105
101
|
}
|
|
106
102
|
_SpoSiteAppPermissionRemoveCommand_instances = new WeakSet(), _SpoSiteAppPermissionRemoveCommand_initTelemetry = function _SpoSiteAppPermissionRemoveCommand_initTelemetry() {
|
|
107
103
|
this.telemetry.push((args) => {
|
|
@@ -35,9 +35,9 @@ class SpoSiteAppPermissionSetCommand extends GraphCommand {
|
|
|
35
35
|
}
|
|
36
36
|
return permissions.filter((p) => p.grantedToIdentities.some(({ application }) => application[filterProperty] === filterValue));
|
|
37
37
|
}
|
|
38
|
-
getPermission(args) {
|
|
38
|
+
async getPermission(args) {
|
|
39
39
|
if (args.options.id) {
|
|
40
|
-
return
|
|
40
|
+
return args.options.id;
|
|
41
41
|
}
|
|
42
42
|
const permissionRequestOptions = {
|
|
43
43
|
url: `${this.resource}/v1.0/sites/${this.siteId}/permissions`,
|
|
@@ -46,18 +46,15 @@ class SpoSiteAppPermissionSetCommand extends GraphCommand {
|
|
|
46
46
|
},
|
|
47
47
|
responseType: 'json'
|
|
48
48
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
return Promise.resolve(sitePermissionItems[0].id);
|
|
60
|
-
});
|
|
49
|
+
const response = await request.get(permissionRequestOptions);
|
|
50
|
+
const sitePermissionItems = this.getFilteredPermissions(args, response.value);
|
|
51
|
+
if (sitePermissionItems.length === 0) {
|
|
52
|
+
throw 'The specified app permission does not exist';
|
|
53
|
+
}
|
|
54
|
+
if (sitePermissionItems.length > 1) {
|
|
55
|
+
throw `Multiple app permissions with displayName ${args.options.appDisplayName} found: ${response.value.map(x => x.grantedToIdentities.map(y => y.application.id))}`;
|
|
56
|
+
}
|
|
57
|
+
return sitePermissionItems[0].id;
|
|
61
58
|
}
|
|
62
59
|
async commandAction(logger, args) {
|
|
63
60
|
try {
|
|
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
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");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
var _SpoSiteCommSiteEnableCommand_instances, _SpoSiteCommSiteEnableCommand_initTelemetry, _SpoSiteCommSiteEnableCommand_initOptions, _SpoSiteCommSiteEnableCommand_initValidators;
|
|
6
|
+
var _SpoSiteCommSiteEnableCommand_instances, _SpoSiteCommSiteEnableCommand_initTelemetry, _SpoSiteCommSiteEnableCommand_initOptions, _SpoSiteCommSiteEnableCommand_initOptionSets, _SpoSiteCommSiteEnableCommand_initValidators;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
8
|
import { validation } from '../../../../utils/validation.js';
|
|
9
9
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
@@ -21,11 +21,12 @@ class SpoSiteCommSiteEnableCommand extends SpoCommand {
|
|
|
21
21
|
__classPrivateFieldGet(this, _SpoSiteCommSiteEnableCommand_instances, "m", _SpoSiteCommSiteEnableCommand_initTelemetry).call(this);
|
|
22
22
|
__classPrivateFieldGet(this, _SpoSiteCommSiteEnableCommand_instances, "m", _SpoSiteCommSiteEnableCommand_initOptions).call(this);
|
|
23
23
|
__classPrivateFieldGet(this, _SpoSiteCommSiteEnableCommand_instances, "m", _SpoSiteCommSiteEnableCommand_initValidators).call(this);
|
|
24
|
+
__classPrivateFieldGet(this, _SpoSiteCommSiteEnableCommand_instances, "m", _SpoSiteCommSiteEnableCommand_initOptionSets).call(this);
|
|
24
25
|
}
|
|
25
26
|
async commandAction(logger, args) {
|
|
26
|
-
const designPackageId = args.options
|
|
27
|
+
const designPackageId = this.getDesignPackageId(args.options);
|
|
27
28
|
if (this.verbose) {
|
|
28
|
-
logger.logToStderr(`Enabling communication site at ${args.options.url}...`);
|
|
29
|
+
logger.logToStderr(`Enabling communication site with design package '${designPackageId}' at '${args.options.url}'...`);
|
|
29
30
|
}
|
|
30
31
|
try {
|
|
31
32
|
const requestOptions = {
|
|
@@ -42,11 +43,26 @@ class SpoSiteCommSiteEnableCommand extends SpoCommand {
|
|
|
42
43
|
this.handleRejectedODataJsonPromise(err);
|
|
43
44
|
}
|
|
44
45
|
}
|
|
46
|
+
getDesignPackageId(options) {
|
|
47
|
+
if (options.designPackageId) {
|
|
48
|
+
return options.designPackageId;
|
|
49
|
+
}
|
|
50
|
+
switch (options.designPackage) {
|
|
51
|
+
case 'Blank':
|
|
52
|
+
return 'f6cc5403-0d63-442e-96c0-285923709ffc';
|
|
53
|
+
case 'Showcase':
|
|
54
|
+
return '6142d2a0-63a5-4ba0-aede-d9fefca2c767';
|
|
55
|
+
case 'Topic':
|
|
56
|
+
default:
|
|
57
|
+
return '96c933ac-3698-44c7-9f4a-5fd17d71af9e';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
45
60
|
}
|
|
46
61
|
_SpoSiteCommSiteEnableCommand_instances = new WeakSet(), _SpoSiteCommSiteEnableCommand_initTelemetry = function _SpoSiteCommSiteEnableCommand_initTelemetry() {
|
|
47
62
|
this.telemetry.push((args) => {
|
|
48
63
|
Object.assign(this.telemetryProperties, {
|
|
49
|
-
designPackageId: typeof args.options.designPackageId !== 'undefined'
|
|
64
|
+
designPackageId: typeof args.options.designPackageId !== 'undefined',
|
|
65
|
+
designPackage: typeof args.options.designPackage !== 'undefined'
|
|
50
66
|
});
|
|
51
67
|
});
|
|
52
68
|
}, _SpoSiteCommSiteEnableCommand_initOptions = function _SpoSiteCommSiteEnableCommand_initOptions() {
|
|
@@ -54,12 +70,25 @@ _SpoSiteCommSiteEnableCommand_instances = new WeakSet(), _SpoSiteCommSiteEnableC
|
|
|
54
70
|
option: '-u, --url <url>'
|
|
55
71
|
}, {
|
|
56
72
|
option: '-i, --designPackageId [designPackageId]'
|
|
73
|
+
}, {
|
|
74
|
+
option: '-p, --designPackage [designPackage]',
|
|
75
|
+
autocomplete: ["Topic", "Showcase", "Blank"]
|
|
76
|
+
});
|
|
77
|
+
}, _SpoSiteCommSiteEnableCommand_initOptionSets = function _SpoSiteCommSiteEnableCommand_initOptionSets() {
|
|
78
|
+
this.optionSets.push({
|
|
79
|
+
options: ['designPackageId', 'designPackage'],
|
|
80
|
+
runsWhen: (args) => args.options.designPackageId || args.options.designPackage
|
|
57
81
|
});
|
|
58
82
|
}, _SpoSiteCommSiteEnableCommand_initValidators = function _SpoSiteCommSiteEnableCommand_initValidators() {
|
|
59
83
|
this.validators.push(async (args) => {
|
|
60
84
|
if (args.options.designPackageId &&
|
|
61
85
|
!validation.isValidGuid(args.options.designPackageId)) {
|
|
62
|
-
return `${args.options.designPackageId} is not a valid GUID
|
|
86
|
+
return `${args.options.designPackageId} is not a valid GUID.`;
|
|
87
|
+
}
|
|
88
|
+
if (args.options.designPackage) {
|
|
89
|
+
if (['Topic', 'Showcase', 'Blank'].indexOf(args.options.designPackage) === -1) {
|
|
90
|
+
return `${args.options.designPackage} is not a valid designPackage. Allowed values are Topic|Showcase|Blank`;
|
|
91
|
+
}
|
|
63
92
|
}
|
|
64
93
|
return validation.isValidSharePointUrl(args.options.url);
|
|
65
94
|
});
|