@pnp/cli-microsoft365 6.9.0-beta.f6054b4 → 6.10.0-beta.05cab2f
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/.devcontainer/Dockerfile +12 -19
- package/.devcontainer/devcontainer.json +24 -17
- package/Dockerfile +3 -1
- package/README.md +7 -5
- package/dist/Auth.js +2 -8
- package/dist/AuthServer.js +2 -4
- package/dist/Command.js +1 -1
- package/dist/cli/Cli.js +25 -10
- package/dist/m365/aad/commands/app/app-add.js +258 -249
- package/dist/m365/aad/commands/app/app-get.js +65 -62
- package/dist/m365/aad/commands/app/app-remove.js +22 -23
- package/dist/m365/aad/commands/app/app-role-add.js +35 -34
- package/dist/m365/aad/commands/app/app-role-list.js +22 -23
- package/dist/m365/aad/commands/app/app-role-remove.js +76 -73
- package/dist/m365/aad/commands/app/app-set.js +103 -103
- package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +16 -14
- package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +43 -52
- package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +20 -16
- package/dist/m365/aad/commands/o365group/o365group-add.js +40 -37
- package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +7 -6
- package/dist/m365/aad/commands/o365group/o365group-list.js +6 -11
- package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +7 -8
- package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +23 -24
- package/dist/m365/aad/commands/o365group/o365group-set.js +15 -20
- package/dist/m365/aad/commands/o365group/o365group-teamify.js +15 -16
- package/dist/m365/aad/commands/o365group/o365group-user-list.js +17 -10
- package/dist/m365/aad/commands/o365group/o365group-user-set.js +17 -10
- package/dist/m365/aad/commands/policy/policy-list.js +12 -13
- package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +1 -3
- package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +19 -20
- package/dist/m365/aad/commands/sp/sp-add.js +22 -23
- package/dist/m365/aad/commands/sp/sp-get.js +22 -23
- package/dist/m365/aad/commands/sp/sp-list.js +78 -0
- package/dist/m365/aad/commands.js +1 -0
- package/dist/m365/app/commands/app-open.js +4 -14
- package/dist/m365/base/AzmgmtItemsListCommand.js +31 -33
- package/dist/m365/booking/commands/business/business-get.js +14 -15
- package/dist/m365/cli/commands/cli-issue.js +4 -10
- package/dist/m365/cli/commands/cli-reconsent.js +2 -8
- package/dist/m365/cli/commands/config/config-set.js +1 -2
- package/dist/m365/commands/docs.js +2 -8
- package/dist/m365/commands/login.js +20 -0
- package/dist/m365/file/commands/convert/convert-pdf.js +147 -143
- package/dist/m365/file/commands/file-add.js +87 -93
- package/dist/m365/file/commands/file-list.js +49 -55
- package/dist/m365/flow/commands/flow-list.js +30 -12
- package/dist/m365/flow/commands/flow-remove.js +2 -3
- package/dist/m365/flow/commands/run/run-resubmit.js +11 -10
- package/dist/m365/onedrive/commands/onedrive-list.js +21 -32
- package/dist/m365/outlook/commands/message/message-list.js +18 -23
- package/dist/m365/outlook/commands/message/message-move.js +15 -20
- package/dist/m365/pa/commands/app/app-export.js +3 -4
- package/dist/m365/pa/commands/app/app-get.js +11 -9
- package/dist/m365/pa/commands/app/app-remove.js +1 -1
- package/dist/m365/pa/commands/pcf/pcf-init.js +1 -2
- package/dist/m365/pa/commands/solution/solution-init.js +1 -2
- package/dist/m365/pa/commands/solution/solution-reference-add.js +1 -2
- package/dist/m365/planner/commands/bucket/bucket-add.js +15 -13
- package/dist/m365/planner/commands/bucket/bucket-get.js +27 -28
- package/dist/m365/planner/commands/bucket/bucket-list.js +15 -13
- package/dist/m365/planner/commands/bucket/bucket-remove.js +33 -34
- package/dist/m365/planner/commands/bucket/bucket-set.js +33 -34
- package/dist/m365/planner/commands/plan/plan-add.js +49 -52
- package/dist/m365/planner/commands/plan/plan-set.js +19 -20
- package/dist/m365/planner/commands/task/task-add.js +75 -78
- package/dist/m365/planner/commands/task/task-checklistitem-add.js +11 -10
- package/dist/m365/planner/commands/task/task-checklistitem-remove.js +10 -8
- package/dist/m365/planner/commands/task/task-get.js +53 -56
- package/dist/m365/planner/commands/task/task-list.js +23 -24
- package/dist/m365/planner/commands/task/task-reference-add.js +11 -10
- package/dist/m365/planner/commands/task/task-reference-remove.js +13 -14
- package/dist/m365/planner/commands/task/task-remove.js +44 -48
- package/dist/m365/planner/commands/task/task-set.js +83 -87
- package/dist/m365/pp/commands/managementapp/managementapp-add.js +19 -20
- package/dist/m365/purview/commands/retentionevent/retentionevent-add.js +3 -8
- package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +1 -6
- package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +1 -6
- package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +1 -6
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +1 -6
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +1 -6
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +1 -6
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +1 -6
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +1 -6
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +0 -5
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-get.js +0 -5
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-list.js +0 -5
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-remove.js +19 -22
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-set.js +0 -5
- package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +35 -34
- package/dist/m365/spfx/commands/project/JsonRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.17.3.js +25 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.17.4.js +25 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.18.0-beta.1.js +23 -0
- package/dist/m365/spfx/commands/project/project-doctor.js +4 -1
- package/dist/m365/spfx/commands/project/project-externalize/rules/DynamicRule.js +59 -51
- 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/FN002027_DEVDEP_fluentui_react.js +14 -0
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +1 -0
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.17.3.js +59 -0
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.17.4.js +55 -0
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.18.0-beta.1.js +61 -0
- package/dist/m365/spfx/commands/project/project-upgrade.js +18 -13
- package/dist/m365/spfx/commands/spfx-doctor.js +45 -0
- package/dist/m365/spo/commands/app/app-teamspackage-download.js +17 -24
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +154 -0
- package/dist/m365/spo/commands/apppage/apppage-set.js +1 -1
- package/dist/m365/spo/commands/commandset/commandset-set.js +11 -2
- package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +65 -94
- package/dist/m365/spo/commands/customaction/customaction-clear.js +4 -12
- package/dist/m365/spo/commands/customaction/customaction-remove.js +12 -23
- package/dist/m365/spo/commands/customaction/customaction-set.js +21 -29
- package/dist/m365/spo/commands/file/file-add.js +133 -133
- package/dist/m365/spo/commands/file/file-checkout-undo.js +119 -0
- package/dist/m365/spo/commands/file/file-rename.js +11 -9
- package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +2 -2
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +41 -61
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +3 -0
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +3 -0
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +3 -0
- package/dist/m365/spo/commands/file/file-sharinginfo-get.js +23 -21
- package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
- package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
- package/dist/m365/spo/commands/folder/folder-remove.js +30 -28
- package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +3 -3
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/group/group-member-add.js +17 -16
- package/dist/m365/spo/commands/group/group-set.js +20 -20
- package/dist/m365/spo/commands/homesite/homesite-remove.js +1 -1
- package/dist/m365/spo/commands/hubsite/hubsite-get.js +33 -31
- package/dist/m365/spo/commands/hubsite/hubsite-list.js +18 -29
- package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +3 -0
- package/dist/m365/spo/commands/list/list-add.js +1 -1
- package/dist/m365/spo/commands/list/list-contenttype-default-set.js +1 -1
- package/dist/m365/spo/commands/list/list-roleassignment-add.js +24 -69
- package/dist/m365/spo/commands/list/list-roleassignment-remove.js +33 -38
- package/dist/m365/spo/commands/list/list-sensitivitylabel-ensure.js +137 -0
- package/dist/m365/spo/commands/list/list-view-field-add.js +12 -10
- package/dist/m365/spo/commands/list/list-view-field-remove.js +12 -10
- package/dist/m365/spo/commands/list/list-view-field-set.js +12 -10
- package/dist/m365/spo/commands/list/list-view-remove.js +3 -0
- package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +41 -61
- package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +71 -74
- package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +36 -34
- package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +32 -30
- package/dist/m365/spo/commands/navigation/navigation-node-remove.js +24 -22
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +29 -27
- package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +26 -24
- package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +34 -40
- package/dist/m365/spo/commands/page/page-remove.js +33 -31
- package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +25 -23
- package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -3
- package/dist/m365/spo/commands/site/site-set.js +10 -2
- package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +23 -21
- package/dist/m365/spo/commands/sitescript/sitescript-remove.js +24 -22
- package/dist/m365/spo/commands/spo-search.js +7 -15
- package/dist/m365/spo/commands/storageentity/storageentity-remove.js +29 -27
- package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +12 -15
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +234 -0
- package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +50 -0
- package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +1 -1
- package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +48 -48
- package/dist/m365/spo/commands.js +5 -0
- package/dist/m365/teams/commands/app/app-install.js +23 -21
- package/dist/m365/teams/commands/app/app-remove.js +3 -0
- package/dist/m365/teams/commands/app/app-uninstall.js +3 -0
- package/dist/m365/teams/commands/app/app-update.js +15 -16
- package/dist/m365/teams/commands/channel/channel-add.js +40 -39
- package/dist/m365/teams/commands/channel/channel-get.js +23 -25
- package/dist/m365/teams/commands/channel/channel-list.js +6 -7
- package/dist/m365/teams/commands/channel/channel-member-add.js +61 -60
- package/dist/m365/teams/commands/channel/channel-member-list.js +20 -22
- package/dist/m365/teams/commands/channel/channel-member-remove.js +43 -48
- package/dist/m365/teams/commands/channel/channel-member-set.js +36 -39
- package/dist/m365/teams/commands/channel/channel-remove.js +4 -1
- package/dist/m365/teams/commands/chat/chat-get.js +4 -4
- package/dist/m365/teams/commands/chat/chat-message-send.js +4 -4
- package/dist/m365/teams/commands/funsettings/funsettings-list.js +3 -0
- package/dist/m365/teams/commands/funsettings/funsettings-set.js +3 -0
- package/dist/m365/teams/commands/tab/tab-get.js +34 -37
- package/dist/m365/teams/commands/team/team-archive.js +6 -7
- package/dist/m365/teams/commands/team/team-get.js +6 -7
- package/dist/m365/teams/commands/team/team-list.js +9 -11
- package/dist/m365/teams/commands/team/team-remove.js +6 -7
- package/dist/m365/teams/commands/team/team-unarchive.js +6 -7
- package/dist/m365/teams/commands/user/user-app-list.js +13 -11
- package/dist/m365/teams/commands/user/user-list.js +7 -4
- package/dist/m365/tenant/commands/security/security-alerts-list.js +25 -26
- package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +13 -14
- package/dist/m365/todo/commands/list/list-remove.js +39 -36
- package/dist/m365/todo/commands/list/list-set.js +16 -14
- package/dist/m365/todo/commands/task/task-add.js +14 -14
- package/dist/m365/util/commands/accesstoken/accesstoken-get.js +10 -7
- package/dist/settingsNames.js +0 -1
- package/dist/utils/browserUtil.js +23 -0
- package/dist/utils/md.js +1 -3
- package/dist/utils/spo.js +74 -0
- package/docs/docs/_clisettings.mdx +17 -0
- package/docs/docs/cmd/_global.mdx +1 -1
- package/docs/docs/cmd/aad/app/app-add.mdx +113 -0
- package/docs/docs/cmd/aad/app/app-get.mdx +217 -0
- package/docs/docs/cmd/aad/app/app-list.mdx +21 -0
- package/docs/docs/cmd/aad/app/app-role-add.mdx +4 -0
- package/docs/docs/cmd/aad/app/app-role-list.mdx +63 -0
- package/docs/docs/cmd/aad/app/app-role-remove.mdx +4 -0
- package/docs/docs/cmd/aad/app/app-set.mdx +4 -0
- package/docs/docs/cmd/aad/approleassignment/approleassignment-add.mdx +61 -0
- package/docs/docs/cmd/aad/approleassignment/approleassignment-list.mdx +59 -0
- package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.mdx +4 -0
- package/docs/docs/cmd/aad/group/group-get.mdx +24 -0
- package/docs/docs/cmd/aad/group/group-list.mdx +98 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-add.mdx +114 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-get.mdx +115 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-list.mdx +115 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-remove.mdx +4 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-set.mdx +4 -0
- package/docs/docs/cmd/aad/groupsettingtemplate/groupsettingtemplate-get.mdx +63 -0
- package/docs/docs/cmd/aad/groupsettingtemplate/groupsettingtemplate-list.mdx +63 -0
- package/docs/docs/cmd/aad/o365group/o365group-add.mdx +122 -0
- package/docs/docs/cmd/aad/o365group/o365group-conversation-list.mdx +68 -0
- package/docs/docs/cmd/aad/o365group/o365group-conversation-post-list.mdx +77 -0
- package/docs/docs/cmd/aad/o365group/o365group-get.mdx +122 -0
- package/docs/docs/cmd/aad/o365group/o365group-list.mdx +99 -0
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-clear.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-list.mdx +96 -0
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-remove.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-remove.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-renew.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activitycounts.mdx +48 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activitydetail.mdx +60 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activityfilecounts.mdx +46 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activitygroupcounts.mdx +46 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activitystorage.mdx +46 -0
- package/docs/docs/cmd/aad/o365group/o365group-set.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-teamify.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-user-add.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-user-list.mdx +56 -0
- package/docs/docs/cmd/aad/o365group/o365group-user-remove.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-user-set.mdx +8 -4
- package/docs/docs/cmd/aad/oauth2grant/oauth2grant-add.mdx +4 -0
- package/docs/docs/cmd/aad/oauth2grant/oauth2grant-list.mdx +59 -0
- package/docs/docs/cmd/aad/oauth2grant/oauth2grant-remove.mdx +4 -0
- package/docs/docs/cmd/aad/oauth2grant/oauth2grant-set.mdx +4 -0
- package/docs/docs/cmd/aad/policy/policy-list.mdx +77 -0
- package/docs/docs/cmd/aad/siteclassification/siteclassification-disable.mdx +4 -0
- package/docs/docs/cmd/aad/siteclassification/siteclassification-enable.mdx +4 -0
- package/docs/docs/cmd/aad/siteclassification/siteclassification-get.mdx +57 -0
- package/docs/docs/cmd/aad/siteclassification/siteclassification-set.mdx +4 -0
- package/docs/docs/cmd/aad/sp/sp-add.mdx +136 -0
- package/docs/docs/cmd/aad/sp/sp-get.mdx +166 -0
- package/docs/docs/cmd/aad/sp/sp-list.mdx +162 -0
- package/docs/docs/cmd/aad/user/user-get.mdx +75 -0
- package/docs/docs/cmd/aad/user/user-guest-add.mdx +23 -0
- package/docs/docs/cmd/aad/user/user-hibp.mdx +82 -0
- package/docs/docs/cmd/aad/user/user-license-add.mdx +2 -2
- package/docs/docs/cmd/aad/user/user-license-remove.mdx +2 -2
- package/docs/docs/cmd/aad/user/user-list.mdx +52 -0
- package/docs/docs/cmd/aad/user/user-password-validate.mdx +67 -0
- package/docs/docs/cmd/aad/user/user-signin-list.mdx +131 -0
- package/docs/docs/cmd/flow/flow-list.mdx +15 -0
- package/docs/docs/cmd/login.mdx +39 -0
- package/docs/docs/cmd/pa/app/app-get.mdx +1 -1
- package/docs/docs/cmd/pa/app/app-list.mdx +1 -1
- package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.mdx +1 -1
- package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.mdx +1 -1
- package/docs/docs/cmd/pp/card/card-clone.mdx +1 -1
- package/docs/docs/cmd/pp/card/card-get.mdx +1 -1
- package/docs/docs/cmd/pp/card/card-list.mdx +1 -1
- package/docs/docs/cmd/pp/chatbot/chatbot-get.mdx +1 -1
- package/docs/docs/cmd/pp/chatbot/chatbot-list.mdx +1 -1
- package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +1 -1
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +1 -1
- package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +1 -1
- package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.mdx +1 -1
- package/docs/docs/cmd/pp/dataverse/dataverse-table-row-remove.mdx +1 -1
- package/docs/docs/cmd/purview/retentionevent/retentionevent-add.mdx +0 -6
- package/docs/docs/cmd/purview/retentionevent/retentionevent-get.mdx +0 -6
- package/docs/docs/cmd/purview/retentionevent/retentionevent-list.mdx +0 -7
- package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-get.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-list.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-remove.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.mdx +0 -6
- package/docs/docs/cmd/setup.mdx +2 -0
- package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
- package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-set.mdx +72 -0
- package/docs/docs/cmd/spo/commandset/commandset-set.mdx +12 -3
- package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +55 -0
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/list/list-sensitivitylabel-ensure.mdx +73 -0
- package/docs/docs/cmd/spo/site/site-add.mdx +35 -0
- package/docs/docs/cmd/spo/site/site-appcatalog-add.mdx +5 -1
- package/docs/docs/cmd/spo/site/site-appcatalog-list.mdx +14 -0
- package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +68 -0
- package/docs/docs/cmd/spo/site/site-apppermission-get.mdx +55 -0
- package/docs/docs/cmd/spo/site/site-apppermission-list.mdx +55 -0
- package/docs/docs/cmd/spo/site/site-apppermission-remove.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-apppermission-set.mdx +66 -0
- package/docs/docs/cmd/spo/site/site-chrome-set.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-ensure.mdx +70 -0
- package/docs/docs/cmd/spo/site/site-get.mdx +179 -0
- package/docs/docs/cmd/spo/site/site-groupify.mdx +54 -0
- package/docs/docs/cmd/spo/site/site-hubsite-connect.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-hubsite-disconnect.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-hubsite-theme-sync.mdx +5 -1
- package/docs/docs/cmd/spo/site/site-inplacerecordsmanagement-set.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-list.mdx +303 -0
- package/docs/docs/cmd/spo/site/site-recyclebinitem-list.mdx +80 -0
- package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-remove.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-rename.mdx +92 -0
- package/docs/docs/cmd/spo/site/site-set.mdx +13 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-add.mdx +116 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-apply.mdx +125 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-get.mdx +117 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-list.mdx +94 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-remove.mdx +4 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.mdx +4 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.mdx +54 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.mdx +4 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-run-list.mdx +66 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-run-status-get.mdx +65 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-set.mdx +117 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.mdx +61 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-task-list.mdx +60 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.mdx +4 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-add.mdx +75 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +62 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-list.mdx +60 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-remove.mdx +4 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-set.mdx +63 -0
- package/docs/docs/cmd/spo/storageentity/storageentity-get.mdx +53 -0
- package/docs/docs/cmd/spo/storageentity/storageentity-list.mdx +54 -0
- package/docs/docs/cmd/spo/storageentity/storageentity-remove.mdx +4 -0
- package/docs/docs/cmd/spo/storageentity/storageentity-set.mdx +4 -0
- package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.mdx +4 -0
- package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.mdx +35 -0
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-get.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +90 -0
- package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-get.mdx +2 -2
- package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +114 -0
- package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +2 -2
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.mdx +67 -0
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.mdx +4 -0
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.mdx +50 -0
- package/docs/docs/cmd/spo/tenant/tenant-settings-list.mdx +729 -0
- package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +11 -0
- package/docs/docs/cmd/spo/theme/theme-apply.mdx +35 -0
- package/docs/docs/cmd/spo/theme/theme-get.mdx +74 -0
- package/docs/docs/cmd/spo/theme/theme-list.mdx +52 -0
- package/docs/docs/cmd/spo/theme/theme-remove.mdx +4 -0
- package/docs/docs/cmd/spo/theme/theme-set.mdx +4 -0
- package/docs/docs/cmd/spo/userprofile/userprofile-get.mdx +1 -1
- package/docs/docs/cmd/status.mdx +6 -3
- package/docs/docs/cmd/util/accesstoken/accesstoken-get.mdx +12 -2
- package/npm-shrinkwrap.json +362 -335
- package/package.json +20 -19
- package/dist/m365/aad/commands/approleassignment/AppRoleAssignment.js +0 -3
- package/dist/m365/aad/commands/approleassignment/ServicePrincipal.js +0 -3
- package/dist/m365/aad/commands/groupsetting/GroupSetting.js +0 -3
- package/dist/m365/aad/commands/groupsettingtemplate/GroupSettingTemplate.js +0 -3
- package/dist/m365/aad/commands/siteclassification/DirectorySetting.js +0 -10
- package/dist/m365/aad/commands/siteclassification/DirectorySettingTemplatesRsp.js +0 -3
- package/dist/m365/aad/commands/siteclassification/DirectorySettingValue.js +0 -3
- package/dist/m365/outlook/Message.js +0 -3
- package/dist/m365/spo/commands/site/SitePermission.js +0 -3
- package/dist/m365/teams/Channel.js +0 -3
- package/dist/m365/teams/ConversationMember.js +0 -3
- package/dist/m365/teams/Message.js +0 -3
- package/dist/m365/teams/Reply.js +0 -3
- package/dist/m365/teams/Tab.js +0 -3
- package/dist/m365/teams/Team.js +0 -3
- package/dist/m365/teams/TeamsApp.js +0 -3
- package/dist/m365/teams/TeamsAppInstallation.js +0 -3
- package/dist/m365/teams/TeamsTabConfiguration.js +0 -3
- package/dist/m365/teams/commands/Meeting.js +0 -3
|
@@ -311,7 +311,7 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
|
|
|
311
311
|
}
|
|
312
312
|
updateSiteProperties(logger, args) {
|
|
313
313
|
const isGroupConnectedSite = this.isGroupConnectedSite();
|
|
314
|
-
const sharedProperties = ['classification', 'disableFlows', 'shareByEmailEnabled', 'sharingCapability', 'noScriptSite'];
|
|
314
|
+
const sharedProperties = ['classification', 'disableFlows', 'socialBarOnSitePagesDisabled', 'shareByEmailEnabled', 'sharingCapability', 'noScriptSite'];
|
|
315
315
|
const siteProperties = ['title', 'resourceQuota', 'resourceQuotaWarningLevel', 'storageQuota', 'storageQuotaWarningLevel', 'allowSelfServiceUpgrade'];
|
|
316
316
|
let properties = sharedProperties;
|
|
317
317
|
properties = properties;
|
|
@@ -363,6 +363,9 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
|
|
|
363
363
|
if (typeof args.options.disableFlows !== 'undefined') {
|
|
364
364
|
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DisableFlows"><Parameter Type="Boolean">${args.options.disableFlows}</Parameter></SetProperty>`);
|
|
365
365
|
}
|
|
366
|
+
if (typeof args.options.socialBarOnSitePagesDisabled !== 'undefined') {
|
|
367
|
+
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="SocialBarOnSitePagesDisabled"><Parameter Type="Boolean">${args.options.socialBarOnSitePagesDisabled}</Parameter></SetProperty>`);
|
|
368
|
+
}
|
|
366
369
|
if (typeof args.options.shareByEmailEnabled !== 'undefined') {
|
|
367
370
|
payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="ShareByEmailEnabled"><Parameter Type="Boolean">${args.options.shareByEmailEnabled}</Parameter></SetProperty>`);
|
|
368
371
|
}
|
|
@@ -442,6 +445,7 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
|
|
|
442
445
|
Object.assign(this.telemetryProperties, {
|
|
443
446
|
classification: typeof args.options.classification === 'string',
|
|
444
447
|
disableFlows: args.options.disableFlows,
|
|
448
|
+
socialBarOnSitePagesDisabled: args.options.socialBarOnSitePagesDisabled,
|
|
445
449
|
isPublic: args.options.isPublic,
|
|
446
450
|
owners: typeof args.options.owners !== 'undefined',
|
|
447
451
|
shareByEmailEnabled: args.options.shareByEmailEnabled,
|
|
@@ -470,6 +474,9 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
|
|
|
470
474
|
}, {
|
|
471
475
|
option: '--disableFlows [disableFlows]',
|
|
472
476
|
autocomplete: ['true', 'false']
|
|
477
|
+
}, {
|
|
478
|
+
option: '--socialBarOnSitePagesDisabled [socialBarOnSitePagesDisabled]',
|
|
479
|
+
autocomplete: ['true', 'false']
|
|
473
480
|
}, {
|
|
474
481
|
option: '--isPublic [isPublic]',
|
|
475
482
|
autocomplete: ['true', 'false']
|
|
@@ -517,6 +524,7 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
|
|
|
517
524
|
}
|
|
518
525
|
if (typeof args.options.classification === 'undefined' &&
|
|
519
526
|
typeof args.options.disableFlows === 'undefined' &&
|
|
527
|
+
typeof args.options.socialBarOnSitePagesDisabled === 'undefined' &&
|
|
520
528
|
typeof args.options.title === 'undefined' &&
|
|
521
529
|
typeof args.options.description === 'undefined' &&
|
|
522
530
|
typeof args.options.isPublic === 'undefined' &&
|
|
@@ -580,7 +588,7 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
|
|
|
580
588
|
}));
|
|
581
589
|
}, _SpoSiteSetCommand_initTypes = function _SpoSiteSetCommand_initTypes() {
|
|
582
590
|
this.types.string.push('classification');
|
|
583
|
-
this.types.boolean.push('isPublic', 'disableFlows', 'shareByEmailEnabled', 'allowSelfServiceUpgrade', 'noScriptSite');
|
|
591
|
+
this.types.boolean.push('isPublic', 'disableFlows', 'socialBarOnSitePagesDisabled', 'shareByEmailEnabled', 'allowSelfServiceUpgrade', 'noScriptSite');
|
|
584
592
|
};
|
|
585
593
|
module.exports = new SpoSiteSetCommand();
|
|
586
594
|
//# sourceMappingURL=site-set.js.map
|
|
@@ -37,27 +37,8 @@ class SpoSiteDesignTaskRemoveCommand extends SpoCommand_1.default {
|
|
|
37
37
|
}
|
|
38
38
|
commandAction(logger, args) {
|
|
39
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const removeSiteDesignTask = () => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
try {
|
|
42
|
-
const spoUrl = yield spo_1.spo.getSpoUrl(logger, this.debug);
|
|
43
|
-
const requestOptions = {
|
|
44
|
-
url: `${spoUrl}/_api/Microsoft.Sharepoint.Utilities.WebTemplateExtensions.SiteScriptUtility.RemoveSiteDesignTask`,
|
|
45
|
-
headers: {
|
|
46
|
-
accept: 'application/json;odata=nometadata'
|
|
47
|
-
},
|
|
48
|
-
data: {
|
|
49
|
-
taskId: args.options.id
|
|
50
|
-
},
|
|
51
|
-
responseType: 'json'
|
|
52
|
-
};
|
|
53
|
-
yield request_1.default.post(requestOptions);
|
|
54
|
-
}
|
|
55
|
-
catch (err) {
|
|
56
|
-
this.handleRejectedODataJsonPromise(err);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
40
|
if (args.options.confirm) {
|
|
60
|
-
yield removeSiteDesignTask();
|
|
41
|
+
yield this.removeSiteDesignTask(logger, args.options.id);
|
|
61
42
|
}
|
|
62
43
|
else {
|
|
63
44
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -67,11 +48,32 @@ class SpoSiteDesignTaskRemoveCommand extends SpoCommand_1.default {
|
|
|
67
48
|
message: `Are you sure you want to remove the site design task ${args.options.id}?`
|
|
68
49
|
});
|
|
69
50
|
if (result.continue) {
|
|
70
|
-
yield removeSiteDesignTask();
|
|
51
|
+
yield this.removeSiteDesignTask(logger, args.options.id);
|
|
71
52
|
}
|
|
72
53
|
}
|
|
73
54
|
});
|
|
74
55
|
}
|
|
56
|
+
removeSiteDesignTask(logger, id) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
try {
|
|
59
|
+
const spoUrl = yield spo_1.spo.getSpoUrl(logger, this.debug);
|
|
60
|
+
const requestOptions = {
|
|
61
|
+
url: `${spoUrl}/_api/Microsoft.Sharepoint.Utilities.WebTemplateExtensions.SiteScriptUtility.RemoveSiteDesignTask`,
|
|
62
|
+
headers: {
|
|
63
|
+
accept: 'application/json;odata=nometadata'
|
|
64
|
+
},
|
|
65
|
+
data: {
|
|
66
|
+
taskId: id
|
|
67
|
+
},
|
|
68
|
+
responseType: 'json'
|
|
69
|
+
};
|
|
70
|
+
yield request_1.default.post(requestOptions);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
this.handleRejectedODataJsonPromise(err);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
75
77
|
}
|
|
76
78
|
_SpoSiteDesignTaskRemoveCommand_instances = new WeakSet(), _SpoSiteDesignTaskRemoveCommand_initTelemetry = function _SpoSiteDesignTaskRemoveCommand_initTelemetry() {
|
|
77
79
|
this.telemetry.push((args) => {
|
|
@@ -37,28 +37,8 @@ class SpoSiteScriptRemoveCommand extends SpoCommand_1.default {
|
|
|
37
37
|
}
|
|
38
38
|
commandAction(logger, args) {
|
|
39
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const removeSiteScript = () => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
try {
|
|
42
|
-
const spoUrl = yield spo_1.spo.getSpoUrl(logger, this.debug);
|
|
43
|
-
const formDigest = yield spo_1.spo.getRequestDigest(spoUrl);
|
|
44
|
-
const requestOptions = {
|
|
45
|
-
url: `${spoUrl}/_api/Microsoft.Sharepoint.Utilities.WebTemplateExtensions.SiteScriptUtility.DeleteSiteScript`,
|
|
46
|
-
headers: {
|
|
47
|
-
'X-RequestDigest': formDigest.FormDigestValue,
|
|
48
|
-
'content-type': 'application/json;charset=utf-8',
|
|
49
|
-
accept: 'application/json;odata=nometadata'
|
|
50
|
-
},
|
|
51
|
-
data: { id: args.options.id },
|
|
52
|
-
responseType: 'json'
|
|
53
|
-
};
|
|
54
|
-
yield request_1.default.post(requestOptions);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
this.handleRejectedODataJsonPromise(err);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
40
|
if (args.options.confirm) {
|
|
61
|
-
yield removeSiteScript();
|
|
41
|
+
yield this.removeSiteScript(logger, args.options.id);
|
|
62
42
|
}
|
|
63
43
|
else {
|
|
64
44
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -68,11 +48,33 @@ class SpoSiteScriptRemoveCommand extends SpoCommand_1.default {
|
|
|
68
48
|
message: `Are you sure you want to remove the site script ${args.options.id}?`
|
|
69
49
|
});
|
|
70
50
|
if (result.continue) {
|
|
71
|
-
yield removeSiteScript();
|
|
51
|
+
yield this.removeSiteScript(logger, args.options.id);
|
|
72
52
|
}
|
|
73
53
|
}
|
|
74
54
|
});
|
|
75
55
|
}
|
|
56
|
+
removeSiteScript(logger, id) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
try {
|
|
59
|
+
const spoUrl = yield spo_1.spo.getSpoUrl(logger, this.debug);
|
|
60
|
+
const formDigest = yield spo_1.spo.getRequestDigest(spoUrl);
|
|
61
|
+
const requestOptions = {
|
|
62
|
+
url: `${spoUrl}/_api/Microsoft.Sharepoint.Utilities.WebTemplateExtensions.SiteScriptUtility.DeleteSiteScript`,
|
|
63
|
+
headers: {
|
|
64
|
+
'X-RequestDigest': formDigest.FormDigestValue,
|
|
65
|
+
'content-type': 'application/json;charset=utf-8',
|
|
66
|
+
accept: 'application/json;odata=nometadata'
|
|
67
|
+
},
|
|
68
|
+
data: { id: id },
|
|
69
|
+
responseType: 'json'
|
|
70
|
+
};
|
|
71
|
+
yield request_1.default.post(requestOptions);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
this.handleRejectedODataJsonPromise(err);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
76
78
|
}
|
|
77
79
|
_SpoSiteScriptRemoveCommand_instances = new WeakSet(), _SpoSiteScriptRemoveCommand_initTelemetry = function _SpoSiteScriptRemoveCommand_initTelemetry() {
|
|
78
80
|
this.telemetry.push((args) => {
|
|
@@ -60,7 +60,7 @@ class SpoSearchCommand extends SpoCommand_1.default {
|
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
executeSearchQuery(logger, args, webUrl, resultSet, startRow) {
|
|
63
|
-
return (()
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
64
|
const requestUrl = this.getRequestUrl(webUrl, logger, args, startRow);
|
|
65
65
|
const requestOptions = {
|
|
66
66
|
url: requestUrl,
|
|
@@ -69,22 +69,14 @@ class SpoSearchCommand extends SpoCommand_1.default {
|
|
|
69
69
|
},
|
|
70
70
|
responseType: 'json'
|
|
71
71
|
};
|
|
72
|
-
|
|
73
|
-
})()
|
|
74
|
-
.then((searchResult) => {
|
|
72
|
+
const searchResult = yield request_1.default.get(requestOptions);
|
|
75
73
|
resultSet.push(searchResult);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (args.options.allResults) {
|
|
80
|
-
if (startRow + searchResult.PrimaryQueryResult.RelevantResults.RowCount < searchResult.PrimaryQueryResult.RelevantResults.TotalRows) {
|
|
81
|
-
const nextStartRow = startRow + searchResult.PrimaryQueryResult.RelevantResults.RowCount;
|
|
82
|
-
return this.executeSearchQuery(logger, args, webUrl, resultSet, nextStartRow);
|
|
83
|
-
}
|
|
74
|
+
if (args.options.allResults && startRow + searchResult.PrimaryQueryResult.RelevantResults.RowCount < searchResult.PrimaryQueryResult.RelevantResults.TotalRows) {
|
|
75
|
+
const nextStartRow = startRow + searchResult.PrimaryQueryResult.RelevantResults.RowCount;
|
|
76
|
+
return this.executeSearchQuery(logger, args, webUrl, resultSet, nextStartRow);
|
|
84
77
|
}
|
|
85
|
-
return
|
|
86
|
-
})
|
|
87
|
-
.then(() => resultSet);
|
|
78
|
+
return resultSet;
|
|
79
|
+
});
|
|
88
80
|
}
|
|
89
81
|
getRequestUrl(webUrl, logger, args, startRow) {
|
|
90
82
|
// get the list of selected properties
|
|
@@ -39,33 +39,8 @@ class SpoStorageEntityRemoveCommand extends SpoCommand_1.default {
|
|
|
39
39
|
}
|
|
40
40
|
commandAction(logger, args) {
|
|
41
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const removeTenantProperty = () => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
if (this.verbose) {
|
|
44
|
-
logger.logToStderr(`Removing tenant property ${args.options.key} from ${args.options.appCatalogUrl}...`);
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
48
|
-
const res = yield spo_1.spo.getRequestDigest(spoAdminUrl);
|
|
49
|
-
const requestOptions = {
|
|
50
|
-
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
51
|
-
headers: {
|
|
52
|
-
'X-RequestDigest': res.FormDigestValue
|
|
53
|
-
},
|
|
54
|
-
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="31" ObjectPathId="30" /><ObjectPath Id="33" ObjectPathId="32" /><ObjectPath Id="35" ObjectPathId="34" /><Method Name="RemoveStorageEntity" Id="36" ObjectPathId="34"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.key)}</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="30" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="32" ParentId="30" Name="GetSiteByUrl"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.appCatalogUrl)}</Parameter></Parameters></Method><Property Id="34" ParentId="32" Name="RootWeb" /></ObjectPaths></Request>`
|
|
55
|
-
};
|
|
56
|
-
const processQuery = yield request_1.default.post(requestOptions);
|
|
57
|
-
const json = JSON.parse(processQuery);
|
|
58
|
-
const response = json[0];
|
|
59
|
-
if (response.ErrorInfo) {
|
|
60
|
-
throw response.ErrorInfo.ErrorMessage;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
this.handleRejectedODataJsonPromise(err);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
42
|
if (args.options.confirm) {
|
|
68
|
-
yield removeTenantProperty();
|
|
43
|
+
yield this.removeTenantProperty(logger, args);
|
|
69
44
|
}
|
|
70
45
|
else {
|
|
71
46
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -75,9 +50,36 @@ class SpoStorageEntityRemoveCommand extends SpoCommand_1.default {
|
|
|
75
50
|
message: `Are you sure you want to delete the ${args.options.key} tenant property?`
|
|
76
51
|
});
|
|
77
52
|
if (result.continue) {
|
|
78
|
-
yield removeTenantProperty();
|
|
53
|
+
yield this.removeTenantProperty(logger, args);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
removeTenantProperty(logger, args) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
if (this.verbose) {
|
|
61
|
+
logger.logToStderr(`Removing tenant property ${args.options.key} from ${args.options.appCatalogUrl}...`);
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
65
|
+
const digestInfo = yield spo_1.spo.getRequestDigest(spoAdminUrl);
|
|
66
|
+
const requestOptions = {
|
|
67
|
+
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
68
|
+
headers: {
|
|
69
|
+
'X-RequestDigest': digestInfo.FormDigestValue
|
|
70
|
+
},
|
|
71
|
+
data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="31" ObjectPathId="30" /><ObjectPath Id="33" ObjectPathId="32" /><ObjectPath Id="35" ObjectPathId="34" /><Method Name="RemoveStorageEntity" Id="36" ObjectPathId="34"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.key)}</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="30" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="32" ParentId="30" Name="GetSiteByUrl"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.appCatalogUrl)}</Parameter></Parameters></Method><Property Id="34" ParentId="32" Name="RootWeb" /></ObjectPaths></Request>`
|
|
72
|
+
};
|
|
73
|
+
const processQuery = yield request_1.default.post(requestOptions);
|
|
74
|
+
const json = JSON.parse(processQuery);
|
|
75
|
+
const response = json[0];
|
|
76
|
+
if (response.ErrorInfo) {
|
|
77
|
+
throw response.ErrorInfo.ErrorMessage;
|
|
79
78
|
}
|
|
80
79
|
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
this.handleRejectedODataJsonPromise(err);
|
|
82
|
+
}
|
|
81
83
|
});
|
|
82
84
|
}
|
|
83
85
|
}
|
|
@@ -62,7 +62,8 @@ class SpoTenantAppCatalogAddCommand extends SpoCommand_1.default {
|
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
ensureNoExistingSite(url, force, logger) {
|
|
65
|
-
|
|
65
|
+
var _a, _b;
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
67
|
if (this.verbose) {
|
|
67
68
|
logger.logToStderr(`Checking if site ${url} exists...`);
|
|
68
69
|
}
|
|
@@ -74,14 +75,13 @@ class SpoTenantAppCatalogAddCommand extends SpoCommand_1.default {
|
|
|
74
75
|
_: []
|
|
75
76
|
}
|
|
76
77
|
};
|
|
77
|
-
|
|
78
|
-
.executeCommandWithOutput(spoSiteGetCommand, siteGetOptions)
|
|
79
|
-
.then(() => {
|
|
78
|
+
try {
|
|
79
|
+
yield Cli_1.Cli.executeCommandWithOutput(spoSiteGetCommand, siteGetOptions);
|
|
80
80
|
if (this.verbose) {
|
|
81
81
|
logger.logToStderr(`Found site ${url}`);
|
|
82
82
|
}
|
|
83
83
|
if (!force) {
|
|
84
|
-
|
|
84
|
+
throw new Command_1.CommandError(`Another site exists at ${url}`);
|
|
85
85
|
}
|
|
86
86
|
if (this.verbose) {
|
|
87
87
|
logger.logToStderr(`Deleting site ${url}...`);
|
|
@@ -94,20 +94,17 @@ class SpoTenantAppCatalogAddCommand extends SpoCommand_1.default {
|
|
|
94
94
|
verbose: this.verbose,
|
|
95
95
|
debug: this.debug
|
|
96
96
|
};
|
|
97
|
-
Cli_1.Cli
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
// some other error occurred
|
|
103
|
-
return reject(err.error);
|
|
97
|
+
yield Cli_1.Cli.executeCommand(spoSiteRemoveCommand, { options: Object.assign(Object.assign({}, siteRemoveOptions), { _: [] }) });
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
if (((_a = err.error) === null || _a === void 0 ? void 0 : _a.message) !== 'File not Found' && ((_b = err.error) === null || _b === void 0 ? void 0 : _b.message) !== '404 FILE NOT FOUND') {
|
|
101
|
+
throw err.error || err;
|
|
104
102
|
}
|
|
105
103
|
if (this.verbose) {
|
|
106
104
|
logger.logToStderr(`No site found at ${url}`);
|
|
107
105
|
}
|
|
108
|
-
//
|
|
109
|
-
|
|
110
|
-
});
|
|
106
|
+
// Site not found. Continue
|
|
107
|
+
}
|
|
111
108
|
});
|
|
112
109
|
}
|
|
113
110
|
createAppCatalog(options, logger) {
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _SpoTenantApplicationCustomizerSetCommand_instances, _SpoTenantApplicationCustomizerSetCommand_initTelemetry, _SpoTenantApplicationCustomizerSetCommand_initOptions, _SpoTenantApplicationCustomizerSetCommand_initValidators, _SpoTenantApplicationCustomizerSetCommand_initOptionSets;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const formatting_1 = require("../../../../utils/formatting");
|
|
19
|
+
const odata_1 = require("../../../../utils/odata");
|
|
20
|
+
const spo_1 = require("../../../../utils/spo");
|
|
21
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
22
|
+
const validation_1 = require("../../../../utils/validation");
|
|
23
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
24
|
+
const commands_1 = require("../../commands");
|
|
25
|
+
const os = require("os");
|
|
26
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
27
|
+
const spoListItemListCommand = require("../listitem/listitem-list");
|
|
28
|
+
const request_1 = require("../../../../request");
|
|
29
|
+
class SpoTenantApplicationCustomizerSetCommand extends SpoCommand_1.default {
|
|
30
|
+
get name() {
|
|
31
|
+
return commands_1.default.TENANT_APPLICATIONCUSTOMIZER_SET;
|
|
32
|
+
}
|
|
33
|
+
get description() {
|
|
34
|
+
return 'Updates an Application Customizer that is deployed as a tenant-wide extension';
|
|
35
|
+
}
|
|
36
|
+
constructor() {
|
|
37
|
+
super();
|
|
38
|
+
_SpoTenantApplicationCustomizerSetCommand_instances.add(this);
|
|
39
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initTelemetry).call(this);
|
|
40
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initOptions).call(this);
|
|
41
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initValidators).call(this);
|
|
42
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initOptionSets).call(this);
|
|
43
|
+
}
|
|
44
|
+
commandAction(logger, args) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
try {
|
|
47
|
+
const appCatalogUrl = yield spo_1.spo.getTenantAppCatalogUrl(logger, this.debug);
|
|
48
|
+
if (!appCatalogUrl) {
|
|
49
|
+
throw 'No app catalog URL found';
|
|
50
|
+
}
|
|
51
|
+
if (args.options.newClientSideComponentId !== undefined) {
|
|
52
|
+
const componentManifest = yield this.getComponentManifest(appCatalogUrl, args.options.newClientSideComponentId, logger);
|
|
53
|
+
const clientComponentManifest = JSON.parse(componentManifest.ClientComponentManifest);
|
|
54
|
+
if (clientComponentManifest.extensionType !== "ApplicationCustomizer") {
|
|
55
|
+
throw `The extension type of this component is not of type 'ApplicationCustomizer' but of type '${clientComponentManifest.extensionType}'`;
|
|
56
|
+
}
|
|
57
|
+
const solution = yield this.getSolutionFromAppCatalog(appCatalogUrl, componentManifest.SolutionId, logger);
|
|
58
|
+
if (!solution.ContainsTenantWideExtension) {
|
|
59
|
+
throw `The solution does not contain an extension that can be deployed to all sites. Make sure that you've entered the correct component Id.`;
|
|
60
|
+
}
|
|
61
|
+
else if (!solution.SkipFeatureDeployment) {
|
|
62
|
+
throw 'The solution has not been deployed to all sites. Make sure to deploy this solution to all sites.';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(appCatalogUrl, '/lists/TenantWideExtensions');
|
|
66
|
+
const listItemId = yield this.getListItemId(appCatalogUrl, args.options, listServerRelativeUrl, logger);
|
|
67
|
+
yield this.updateTenantWideExtension(appCatalogUrl, args.options, listServerRelativeUrl, listItemId, logger);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
return this.handleRejectedODataJsonPromise(err);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
getListItemId(appCatalogUrl, options, listServerRelativeUrl, logger) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
const { title, id, clientSideComponentId } = options;
|
|
77
|
+
const filter = title ? `Title eq '${title}'` : id ? `Id eq '${id}'` : `TenantWideExtensionComponentId eq '${clientSideComponentId}'`;
|
|
78
|
+
if (this.verbose) {
|
|
79
|
+
logger.logToStderr(`Getting tenant-wide application customizer: "${title || id || clientSideComponentId}"...`);
|
|
80
|
+
}
|
|
81
|
+
const listItemInstances = yield odata_1.odata.getAllItems(`${appCatalogUrl}/_api/web/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/items?$filter=TenantWideExtensionLocation eq 'ClientSideExtension.ApplicationCustomizer' and ${filter}`);
|
|
82
|
+
if (!listItemInstances || listItemInstances.length === 0) {
|
|
83
|
+
throw 'The specified application customizer was not found';
|
|
84
|
+
}
|
|
85
|
+
if (listItemInstances.length > 1) {
|
|
86
|
+
throw `Multiple application customizers with ${title ? `title '${title}'` : `ClientSideComponentId '${clientSideComponentId}'`} found. Please disambiguate using IDs: ${os.EOL}${listItemInstances.map(item => `- ${item.Id}`).join(os.EOL)}`;
|
|
87
|
+
}
|
|
88
|
+
return listItemInstances[0].Id;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
getComponentManifest(appCatalogUrl, clientSideComponentId, logger) {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
if (this.verbose) {
|
|
94
|
+
logger.logToStderr('Retrieving component manifest item from the ComponentManifests list on the app catalog site so that we get the solution id');
|
|
95
|
+
}
|
|
96
|
+
const camlQuery = `<View><ViewFields><FieldRef Name='ClientComponentId'></FieldRef><FieldRef Name='SolutionId'></FieldRef><FieldRef Name='ClientComponentManifest'></FieldRef></ViewFields><Query><Where><Eq><FieldRef Name='ClientComponentId' /><Value Type='Guid'>${clientSideComponentId}</Value></Eq></Where></Query></View>`;
|
|
97
|
+
const commandOptions = {
|
|
98
|
+
webUrl: appCatalogUrl,
|
|
99
|
+
listUrl: `${urlUtil_1.urlUtil.getServerRelativeSiteUrl(appCatalogUrl)}/Lists/ComponentManifests`,
|
|
100
|
+
camlQuery: camlQuery,
|
|
101
|
+
verbose: this.verbose,
|
|
102
|
+
debug: this.debug,
|
|
103
|
+
output: 'json'
|
|
104
|
+
};
|
|
105
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(spoListItemListCommand, { options: Object.assign(Object.assign({}, commandOptions), { _: [] }) });
|
|
106
|
+
if (this.verbose) {
|
|
107
|
+
logger.logToStderr(output.stderr);
|
|
108
|
+
}
|
|
109
|
+
const outputParsed = JSON.parse(output.stdout);
|
|
110
|
+
if (outputParsed.length === 0) {
|
|
111
|
+
throw 'No component found with the specified clientSideComponentId found in the component manifest list. Make sure that the application is added to the application catalog';
|
|
112
|
+
}
|
|
113
|
+
return outputParsed[0];
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
getSolutionFromAppCatalog(appCatalogUrl, solutionId, logger) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
if (this.verbose) {
|
|
119
|
+
logger.logToStderr(`Retrieving solution with id ${solutionId} from the application catalog`);
|
|
120
|
+
}
|
|
121
|
+
const camlQuery = `<View><ViewFields><FieldRef Name='SkipFeatureDeployment'></FieldRef><FieldRef Name='ContainsTenantWideExtension'></FieldRef></ViewFields><Query><Where><Eq><FieldRef Name='AppProductID' /><Value Type='Guid'>${solutionId}</Value></Eq></Where></Query></View>`;
|
|
122
|
+
const commandOptions = {
|
|
123
|
+
webUrl: appCatalogUrl,
|
|
124
|
+
listUrl: `${urlUtil_1.urlUtil.getServerRelativeSiteUrl(appCatalogUrl)}/AppCatalog`,
|
|
125
|
+
camlQuery: camlQuery,
|
|
126
|
+
verbose: this.verbose,
|
|
127
|
+
debug: this.debug,
|
|
128
|
+
output: 'json'
|
|
129
|
+
};
|
|
130
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(spoListItemListCommand, { options: Object.assign(Object.assign({}, commandOptions), { _: [] }) });
|
|
131
|
+
if (this.verbose) {
|
|
132
|
+
logger.logToStderr(output.stderr);
|
|
133
|
+
}
|
|
134
|
+
const outputParsed = JSON.parse(output.stdout);
|
|
135
|
+
if (outputParsed.length === 0) {
|
|
136
|
+
throw `No component found with the solution id ${solutionId}. Make sure that the solution is available in the app catalog`;
|
|
137
|
+
}
|
|
138
|
+
return outputParsed[0];
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
updateTenantWideExtension(appCatalogUrl, options, listServerRelativeUrl, itemId, logger) {
|
|
142
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
const { title, id, clientSideComponentId, newTitle, newClientSideComponentId, clientSideComponentProperties, webTemplate } = options;
|
|
144
|
+
if (this.verbose) {
|
|
145
|
+
logger.logToStderr(`Updating tenant-wide application customizer: "${title || id || clientSideComponentId}"...`);
|
|
146
|
+
}
|
|
147
|
+
const formValues = [];
|
|
148
|
+
if (newTitle !== undefined) {
|
|
149
|
+
formValues.push({
|
|
150
|
+
FieldName: 'Title',
|
|
151
|
+
FieldValue: newTitle
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
if (newClientSideComponentId !== undefined) {
|
|
155
|
+
formValues.push({
|
|
156
|
+
FieldName: 'TenantWideExtensionComponentId',
|
|
157
|
+
FieldValue: newClientSideComponentId
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
if (clientSideComponentProperties !== undefined) {
|
|
161
|
+
formValues.push({
|
|
162
|
+
FieldName: 'TenantWideExtensionComponentProperties',
|
|
163
|
+
FieldValue: clientSideComponentProperties
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
if (webTemplate !== undefined) {
|
|
167
|
+
formValues.push({
|
|
168
|
+
FieldName: 'TenantWideExtensionWebTemplate',
|
|
169
|
+
FieldValue: webTemplate
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
const requestOptions = {
|
|
173
|
+
url: `${appCatalogUrl}/_api/web/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/Items(${itemId})/ValidateUpdateListItem()`,
|
|
174
|
+
headers: {
|
|
175
|
+
'accept': 'application/json;odata=nometadata'
|
|
176
|
+
},
|
|
177
|
+
data: {
|
|
178
|
+
formValues: formValues
|
|
179
|
+
},
|
|
180
|
+
responseType: 'json'
|
|
181
|
+
};
|
|
182
|
+
yield request_1.default.post(requestOptions);
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
_SpoTenantApplicationCustomizerSetCommand_instances = new WeakSet(), _SpoTenantApplicationCustomizerSetCommand_initTelemetry = function _SpoTenantApplicationCustomizerSetCommand_initTelemetry() {
|
|
187
|
+
this.telemetry.push((args) => {
|
|
188
|
+
Object.assign(this.telemetryProperties, {
|
|
189
|
+
title: typeof args.options.title !== 'undefined',
|
|
190
|
+
id: typeof args.options.id !== 'undefined',
|
|
191
|
+
clientSideComponentId: typeof args.options.clientSideComponentId !== 'undefined',
|
|
192
|
+
newTitle: typeof args.options.newTitle !== 'undefined',
|
|
193
|
+
newClientSideComponentId: typeof args.options.newClientSideComponentId !== 'undefined',
|
|
194
|
+
clientSideComponentProperties: typeof args.options.clientSideComponentProperties !== 'undefined',
|
|
195
|
+
webTemplate: typeof args.options.webTemplate !== 'undefined'
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
}, _SpoTenantApplicationCustomizerSetCommand_initOptions = function _SpoTenantApplicationCustomizerSetCommand_initOptions() {
|
|
199
|
+
this.options.unshift({
|
|
200
|
+
option: '-i, --id [id]'
|
|
201
|
+
}, {
|
|
202
|
+
option: '-t, --title [title]'
|
|
203
|
+
}, {
|
|
204
|
+
option: '-c, --clientSideComponentId [clientSideComponentId]'
|
|
205
|
+
}, {
|
|
206
|
+
option: '--newTitle [newTitle]'
|
|
207
|
+
}, {
|
|
208
|
+
option: '--newClientSideComponentId [newClientSideComponentId]'
|
|
209
|
+
}, {
|
|
210
|
+
option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
|
|
211
|
+
}, {
|
|
212
|
+
option: '-w, --webTemplate [webTemplate]'
|
|
213
|
+
});
|
|
214
|
+
}, _SpoTenantApplicationCustomizerSetCommand_initValidators = function _SpoTenantApplicationCustomizerSetCommand_initValidators() {
|
|
215
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
216
|
+
if (args.options.id && isNaN(parseInt(args.options.id))) {
|
|
217
|
+
return `${args.options.id} is not a number`;
|
|
218
|
+
}
|
|
219
|
+
if (args.options.clientSideComponentId && !validation_1.validation.isValidGuid(args.options.clientSideComponentId)) {
|
|
220
|
+
return `${args.options.clientSideComponentId} is not a valid GUID`;
|
|
221
|
+
}
|
|
222
|
+
if (args.options.newClientSideComponentId && !validation_1.validation.isValidGuid(args.options.newClientSideComponentId)) {
|
|
223
|
+
return `${args.options.newClientSideComponentId} is not a valid GUID`;
|
|
224
|
+
}
|
|
225
|
+
if (!args.options.newTitle && !args.options.newClientSideComponentId && !args.options.clientSideComponentProperties && !args.options.webTemplate) {
|
|
226
|
+
return `Please specify an option to be updated`;
|
|
227
|
+
}
|
|
228
|
+
return true;
|
|
229
|
+
}));
|
|
230
|
+
}, _SpoTenantApplicationCustomizerSetCommand_initOptionSets = function _SpoTenantApplicationCustomizerSetCommand_initOptionSets() {
|
|
231
|
+
this.optionSets.push({ options: ['title', 'id', 'clientSideComponentId'] });
|
|
232
|
+
};
|
|
233
|
+
module.exports = new SpoTenantApplicationCustomizerSetCommand();
|
|
234
|
+
//# sourceMappingURL=tenant-applicationcustomizer-set.js.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const Command_1 = require("../../../../Command");
|
|
13
|
+
const formatting_1 = require("../../../../utils/formatting");
|
|
14
|
+
const odata_1 = require("../../../../utils/odata");
|
|
15
|
+
const spo_1 = require("../../../../utils/spo");
|
|
16
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
17
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
18
|
+
const commands_1 = require("../../commands");
|
|
19
|
+
class SpoTenantCommandSetListCommand extends SpoCommand_1.default {
|
|
20
|
+
get name() {
|
|
21
|
+
return commands_1.default.TENANT_COMMANDSET_LIST;
|
|
22
|
+
}
|
|
23
|
+
get description() {
|
|
24
|
+
return 'Retrieves a list of ListView Command Sets that are installed tenant-wide';
|
|
25
|
+
}
|
|
26
|
+
defaultProperties() {
|
|
27
|
+
return ['Title', 'TenantWideExtensionComponentId', 'TenantWideExtensionListTemplate'];
|
|
28
|
+
}
|
|
29
|
+
commandAction(logger) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const appCatalogUrl = yield spo_1.spo.getTenantAppCatalogUrl(logger, this.debug);
|
|
32
|
+
if (!appCatalogUrl) {
|
|
33
|
+
throw new Command_1.CommandError('No app catalog URL found');
|
|
34
|
+
}
|
|
35
|
+
if (this.verbose) {
|
|
36
|
+
logger.logToStderr('Retrieving a list of ListView Command Sets that are installed tenant-wide');
|
|
37
|
+
}
|
|
38
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(appCatalogUrl, '/lists/TenantWideExtensions');
|
|
39
|
+
try {
|
|
40
|
+
const response = yield odata_1.odata.getAllItems(`${appCatalogUrl}/_api/web/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/items?$filter=startswith(TenantWideExtensionLocation, 'ClientSideExtension.ListViewCommandSet')`);
|
|
41
|
+
logger.log(response);
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
this.handleRejectedODataJsonPromise(err);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
module.exports = new SpoTenantCommandSetListCommand();
|
|
50
|
+
//# sourceMappingURL=tenant-commandset-list.js.map
|
|
@@ -166,7 +166,7 @@ _SpoTenantCommandSetSetCommand_instances = new WeakSet(), _SpoTenantCommandSetSe
|
|
|
166
166
|
option: '-l, --listType [listType]',
|
|
167
167
|
autocomplete: SpoTenantCommandSetSetCommand.listTypes
|
|
168
168
|
}, {
|
|
169
|
-
option: '-
|
|
169
|
+
option: '-c, --clientSideComponentId [clientSideComponentId]'
|
|
170
170
|
}, {
|
|
171
171
|
option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
|
|
172
172
|
}, {
|