@pnp/cli-microsoft365 10.0.0-beta.48e9f7d → 10.0.0-beta.558f289
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 -0
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/Auth.js +17 -16
- package/dist/AuthServer.js +7 -7
- package/dist/Command.js +4 -1
- package/dist/api.js +1 -1
- package/dist/appInsights.js +6 -4
- package/dist/cli/cli.js +14 -0
- package/dist/config.js +61 -5
- package/dist/m365/base/PowerAutomateCommand.js +1 -1
- package/dist/m365/base/SpoCommand.js +1 -1
- package/dist/m365/cli/commands/cli-consent.js +2 -2
- package/dist/m365/cli/commands/cli-doctor.js +4 -4
- package/dist/m365/cli/commands/config/config-set.js +12 -4
- package/dist/m365/cli/commands.js +1 -2
- package/dist/m365/commands/login.js +133 -61
- package/dist/m365/commands/setup.js +256 -33
- package/dist/m365/commands/setupPresets.js +2 -4
- package/dist/m365/connection/commands/connection-list.js +4 -4
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-add.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-list.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +0 -5
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +0 -5
- package/dist/m365/entra/commands/app/app-add.js +51 -292
- package/dist/m365/entra/commands/app/app-get.js +0 -5
- package/dist/m365/entra/commands/app/app-list.js +0 -5
- package/dist/m365/entra/commands/app/app-permission-add.js +0 -5
- package/dist/m365/entra/commands/app/app-remove.js +0 -5
- package/dist/m365/entra/commands/app/app-role-add.js +0 -5
- package/dist/m365/entra/commands/app/app-role-list.js +0 -5
- package/dist/m365/entra/commands/app/app-role-remove.js +0 -5
- package/dist/m365/entra/commands/app/app-set.js +0 -5
- package/dist/m365/entra/commands/approleassignment/approleassignment-add.js +0 -5
- package/dist/m365/entra/commands/approleassignment/approleassignment-list.js +0 -5
- package/dist/m365/entra/commands/approleassignment/approleassignment-remove.js +0 -5
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-add.js +0 -5
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-get.js +0 -5
- package/dist/m365/entra/commands/enterpriseapp/enterpriseapp-list.js +0 -5
- package/dist/m365/entra/commands/group/group-add.js +0 -4
- package/dist/m365/entra/commands/group/group-get.js +0 -5
- package/dist/m365/entra/commands/group/group-list.js +0 -5
- package/dist/m365/entra/commands/group/{group-user-add.js → group-member-add.js} +18 -18
- package/dist/m365/entra/commands/group/{group-user-list.js → group-member-list.js} +16 -21
- package/dist/m365/entra/commands/group/{group-user-set.js → group-member-set.js} +19 -19
- package/dist/m365/entra/commands/group/group-remove.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-add.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-get.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-list.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-remove.js +0 -5
- package/dist/m365/entra/commands/groupsetting/groupsetting-set.js +0 -5
- package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-get.js +0 -5
- package/dist/m365/entra/commands/groupsettingtemplate/groupsettingtemplate-list.js +0 -5
- package/dist/m365/entra/commands/license/license-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-add.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-get.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-clear.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-remove.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-recyclebinitem-restore.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-remove.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-renew.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-report-activitycounts.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-report-activitydetail.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-report-activityfilecounts.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-report-activitygroupcounts.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-report-activitystorage.js +0 -4
- package/dist/m365/entra/commands/m365group/m365group-set.js +159 -86
- package/dist/m365/entra/commands/m365group/m365group-teamify.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-user-add.js +5 -18
- package/dist/m365/entra/commands/m365group/m365group-user-list.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-user-remove.js +84 -62
- package/dist/m365/entra/commands/m365group/m365group-user-set.js +3 -15
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-add.js +0 -5
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-list.js +3 -17
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-remove.js +0 -5
- package/dist/m365/entra/commands/oauth2grant/oauth2grant-set.js +0 -5
- package/dist/m365/entra/commands/policy/policy-list.js +0 -5
- package/dist/m365/entra/commands/siteclassification/siteclassification-disable.js +0 -5
- package/dist/m365/entra/commands/siteclassification/siteclassification-enable.js +0 -5
- package/dist/m365/entra/commands/siteclassification/siteclassification-get.js +0 -5
- package/dist/m365/entra/commands/siteclassification/siteclassification-set.js +0 -5
- package/dist/m365/entra/commands/user/user-add.js +0 -5
- package/dist/m365/entra/commands/user/user-get.js +0 -5
- package/dist/m365/entra/commands/user/user-guest-add.js +0 -5
- package/dist/m365/entra/commands/user/user-hibp.js +0 -5
- package/dist/m365/entra/commands/user/user-license-add.js +0 -5
- package/dist/m365/entra/commands/user/user-license-list.js +0 -5
- package/dist/m365/entra/commands/user/user-license-remove.js +0 -5
- package/dist/m365/entra/commands/user/user-list.js +0 -5
- package/dist/m365/entra/commands/user/user-password-validate.js +0 -5
- package/dist/m365/entra/commands/user/user-recyclebinitem-clear.js +0 -5
- package/dist/m365/entra/commands/user/user-recyclebinitem-list.js +0 -5
- package/dist/m365/entra/commands/user/user-recyclebinitem-remove.js +0 -5
- package/dist/m365/entra/commands/user/user-recyclebinitem-restore.js +0 -5
- package/dist/m365/entra/commands/user/user-registrationdetails-list.js +0 -4
- package/dist/m365/entra/commands/user/user-remove.js +0 -5
- package/dist/m365/entra/commands/user/user-set.js +0 -5
- package/dist/m365/entra/commands/user/user-signin-list.js +0 -5
- package/dist/m365/entra/commands.js +3 -3
- package/dist/m365/external/commands/item/item-add.js +2 -5
- package/dist/m365/file/commands/file-move.js +135 -0
- package/dist/m365/file/commands.js +2 -1
- package/dist/m365/flow/commands/environment/environment-get.js +1 -1
- package/dist/m365/flow/commands/environment/environment-list.js +2 -2
- package/dist/m365/flow/commands/flow-disable.js +1 -1
- package/dist/m365/flow/commands/flow-enable.js +1 -1
- package/dist/m365/flow/commands/flow-export.js +17 -16
- package/dist/m365/flow/commands/flow-get.js +1 -1
- package/dist/m365/flow/commands/flow-list.js +1 -1
- package/dist/m365/flow/commands/flow-remove.js +1 -1
- package/dist/m365/flow/commands/owner/owner-ensure.js +1 -1
- package/dist/m365/flow/commands/owner/owner-list.js +1 -1
- package/dist/m365/flow/commands/owner/owner-remove.js +1 -1
- package/dist/m365/flow/commands/recyclebinitem/recyclebinitem-list.js +47 -0
- package/dist/m365/flow/commands/recyclebinitem/recyclebinitem-restore.js +48 -0
- package/dist/m365/flow/commands/run/run-cancel.js +1 -1
- package/dist/m365/flow/commands/run/run-get.js +1 -1
- package/dist/m365/flow/commands/run/run-list.js +1 -1
- package/dist/m365/flow/commands/run/run-resubmit.js +2 -2
- package/dist/m365/flow/commands.js +2 -0
- package/dist/m365/pa/commands/app/app-list.js +1 -6
- package/dist/m365/pa/commands/connector/connector-list.js +1 -6
- package/dist/m365/pa/commands/environment/environment-list.js +1 -1
- package/dist/m365/pp/commands/environment/environment-list.js +1 -1
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.20.0.js +27 -0
- package/dist/m365/spfx/commands/project/project-doctor/rules/FN002021_DEVDEP_rushstack_eslint_config.js +10 -0
- package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.20.0.js +59 -0
- package/dist/m365/spfx/commands/project/project-upgrade.js +2 -1
- package/dist/m365/spfx/commands/spfx-doctor.js +15 -0
- package/dist/m365/spo/commands/app/app-instance-list.js +3 -18
- package/dist/m365/spo/commands/app/app-list.js +1 -8
- package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +8 -8
- package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +2 -2
- package/dist/m365/spo/commands/feature/feature-list.js +1 -8
- package/dist/m365/spo/commands/file/file-copy.js +11 -7
- package/dist/m365/spo/commands/file/file-move.js +55 -33
- package/dist/m365/spo/commands/file/file-remove.js +7 -1
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +17 -54
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +13 -40
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +5 -13
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +5 -13
- package/dist/m365/spo/commands/folder/folder-copy.js +43 -35
- package/dist/m365/spo/commands/folder/folder-move.js +43 -35
- package/dist/m365/spo/commands/folder/folder-sharinglink-add.js +143 -0
- package/dist/m365/spo/commands/folder/folder-sharinglink-clear.js +111 -0
- package/dist/m365/spo/commands/folder/folder-sharinglink-remove.js +95 -0
- package/dist/m365/spo/commands/folder/folder-sharinglink-set.js +90 -0
- package/dist/m365/spo/commands/group/group-member-add.js +3 -23
- package/dist/m365/spo/commands/group/group-member-remove.js +1 -18
- package/dist/m365/spo/commands/list/list-get.js +17 -4
- package/dist/m365/spo/commands/list/list-remove.js +14 -4
- package/dist/m365/spo/commands/list/list-webhook-list.js +1 -6
- package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +1 -8
- package/dist/m365/spo/commands/page/page-list.js +1 -1
- package/dist/m365/spo/commands/page/page-publish.js +54 -0
- package/dist/m365/spo/commands/page/page-remove.js +37 -16
- package/dist/m365/spo/commands/page/page-section-add.js +185 -34
- package/dist/m365/spo/commands/page/page-template-list.js +1 -3
- package/dist/m365/spo/commands/site/SiteAdmin.js +2 -0
- package/dist/m365/spo/commands/site/site-admin-add.js +252 -0
- package/dist/m365/spo/commands/site/site-admin-list.js +10 -36
- package/dist/m365/spo/commands/site/site-admin-remove.js +194 -0
- package/dist/m365/spo/commands/site/site-sharingpermission-set.js +68 -0
- package/dist/m365/spo/commands/sitescript/sitescript-get.js +3 -2
- package/dist/m365/spo/commands/sitescript/sitescript-list.js +1 -3
- package/dist/m365/spo/commands/tenant/SPOTenantSitePropertiesEnumerable.js +2 -0
- package/dist/m365/spo/commands/tenant/TenantSiteProperties.js +2 -0
- package/dist/m365/spo/commands/{site/site-list.js → tenant/tenant-site-list.js} +15 -12
- package/dist/m365/spo/commands/tenant/tenant-site-membership-list.js +118 -0
- package/dist/m365/spo/commands/{site/site-rename.js → tenant/tenant-site-rename.js} +29 -32
- package/dist/m365/spo/commands/theme/theme-list.js +1 -1
- package/dist/m365/spo/commands/user/user-ensure.js +1 -11
- package/dist/m365/spo/commands/user/user-get.js +67 -9
- package/dist/m365/spo/commands/userprofile/userprofile-get.js +1 -1
- package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +1 -6
- package/dist/m365/spo/commands.js +11 -1
- package/dist/m365/spp/commands/contentcenter/contentcenter-list.js +56 -0
- package/dist/m365/spp/commands/model/model-list.js +57 -0
- package/dist/m365/spp/commands.js +6 -0
- package/dist/m365/teams/MeetingTranscript.js +2 -0
- package/dist/m365/teams/commands/cache/cache-remove.js +74 -34
- package/dist/m365/teams/commands/channel/channel-get.js +15 -50
- package/dist/m365/teams/commands/meeting/meeting-transcript-get.js +152 -0
- package/dist/m365/teams/commands/tab/tab-list.js +5 -3
- package/dist/m365/teams/commands/team/team-get.js +16 -21
- package/dist/m365/teams/commands.js +1 -0
- package/dist/m365/viva/commands/engage/Community.js +2 -0
- package/dist/m365/viva/commands/engage/engage-community-list.js +28 -0
- package/dist/m365/viva/commands/engage/engage-community-user-list.js +98 -0
- package/dist/m365/viva/commands.js +2 -0
- package/dist/request.js +46 -61
- package/dist/settingsNames.js +6 -1
- package/dist/telemetryRunner.js +2 -2
- package/dist/utils/entraApp.js +283 -0
- package/dist/utils/spo.js +166 -29
- package/dist/utils/spp.js +22 -0
- package/dist/utils/teams.js +47 -5
- package/dist/utils/timersUtil.js +13 -0
- package/dist/utils/urlUtil.js +8 -0
- package/dist/utils/vivaEngage.js +61 -0
- package/dist/utils/zod.js +12 -3
- package/docs/docs/_clisettings.mdx +6 -1
- package/docs/docs/cmd/cli/cli-doctor.mdx +24 -23
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-add.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-get.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-list.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-add.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-get.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-list.mdx +0 -6
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-remove.mdx +0 -6
- package/docs/docs/cmd/entra/app/app-add.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-get.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-list.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-permission-add.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-permission-list.mdx +0 -6
- package/docs/docs/cmd/entra/app/app-remove.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-role-add.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-role-list.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-role-remove.mdx +0 -1
- package/docs/docs/cmd/entra/app/app-set.mdx +0 -1
- package/docs/docs/cmd/entra/approleassignment/approleassignment-add.mdx +0 -6
- package/docs/docs/cmd/entra/approleassignment/approleassignment-list.mdx +0 -6
- package/docs/docs/cmd/entra/approleassignment/approleassignment-remove.mdx +0 -6
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-add.mdx +0 -1
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-get.mdx +0 -1
- package/docs/docs/cmd/entra/enterpriseapp/enterpriseapp-list.mdx +0 -1
- package/docs/docs/cmd/entra/group/group-add.mdx +0 -6
- package/docs/docs/cmd/entra/group/group-get.mdx +0 -6
- package/docs/docs/cmd/entra/group/group-list.mdx +0 -6
- package/docs/docs/cmd/entra/group/group-member-add.mdx +62 -0
- package/docs/docs/cmd/entra/group/{group-user-list.mdx → group-member-list.mdx} +14 -20
- package/docs/docs/cmd/entra/group/group-member-set.mdx +62 -0
- package/docs/docs/cmd/entra/group/group-remove.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-add.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-get.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-list.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-remove.mdx +0 -6
- package/docs/docs/cmd/entra/groupsetting/groupsetting-set.mdx +0 -6
- package/docs/docs/cmd/entra/groupsettingtemplate/groupsettingtemplate-get.mdx +0 -6
- package/docs/docs/cmd/entra/groupsettingtemplate/groupsettingtemplate-list.mdx +0 -6
- package/docs/docs/cmd/entra/license/license-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-add.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-conversation-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-conversation-post-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-get.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-clear.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-list.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-remove.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-recyclebinitem-restore.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-remove.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-renew.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-report-activitycounts.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-report-activitydetail.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-report-activityfilecounts.mdx +0 -6
- package/docs/docs/cmd/entra/m365group/m365group-report-activitygroupcounts.mdx +2 -8
- package/docs/docs/cmd/entra/m365group/m365group-report-activitystorage.mdx +3 -9
- package/docs/docs/cmd/entra/m365group/m365group-set.mdx +38 -23
- package/docs/docs/cmd/entra/m365group/m365group-teamify.mdx +5 -11
- package/docs/docs/cmd/entra/m365group/m365group-user-add.mdx +5 -14
- package/docs/docs/cmd/entra/m365group/m365group-user-list.mdx +0 -12
- package/docs/docs/cmd/entra/m365group/m365group-user-remove.mdx +26 -21
- package/docs/docs/cmd/entra/m365group/m365group-user-set.mdx +4 -17
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +3 -9
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +1 -7
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-remove.mdx +4 -10
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-set.mdx +3 -9
- package/docs/docs/cmd/entra/policy/policy-list.mdx +3 -9
- package/docs/docs/cmd/entra/siteclassification/siteclassification-disable.mdx +3 -9
- package/docs/docs/cmd/entra/siteclassification/siteclassification-enable.mdx +7 -13
- package/docs/docs/cmd/entra/siteclassification/siteclassification-get.mdx +1 -7
- package/docs/docs/cmd/entra/siteclassification/siteclassification-set.mdx +8 -14
- package/docs/docs/cmd/entra/user/user-add.mdx +4 -10
- package/docs/docs/cmd/entra/user/user-get.mdx +7 -13
- package/docs/docs/cmd/entra/user/user-guest-add.mdx +3 -9
- package/docs/docs/cmd/entra/user/user-hibp.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-license-add.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-license-list.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-license-remove.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-list.mdx +1 -7
- package/docs/docs/cmd/entra/user/user-password-validate.mdx +1 -7
- package/docs/docs/cmd/entra/user/user-recyclebinitem-clear.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-recyclebinitem-list.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-recyclebinitem-remove.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-recyclebinitem-restore.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-registrationdetails-list.mdx +7 -13
- package/docs/docs/cmd/entra/user/user-remove.mdx +2 -8
- package/docs/docs/cmd/entra/user/user-set.mdx +0 -6
- package/docs/docs/cmd/entra/user/user-signin-list.mdx +9 -15
- package/docs/docs/cmd/external/item/item-add.mdx +3 -3
- package/docs/docs/cmd/file/file-move.mdx +79 -0
- package/docs/docs/cmd/flow/recyclebinitem/recyclebinitem-list.mdx +132 -0
- package/docs/docs/cmd/flow/recyclebinitem/recyclebinitem-restore.mdx +55 -0
- package/docs/docs/cmd/login.mdx +9 -0
- package/docs/docs/cmd/setup.mdx +17 -6
- package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-get.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-origin-add.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-origin-list.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-origin-remove.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-policy-list.mdx +1 -1
- package/docs/docs/cmd/spo/cdn/cdn-policy-set.mdx +1 -1
- package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.mdx +7 -7
- package/docs/docs/cmd/spo/contenttype/contenttype-field-set.mdx +2 -2
- package/docs/docs/cmd/spo/externaluser/externaluser-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-move.mdx +116 -11
- package/docs/docs/cmd/spo/file/file-remove.mdx +13 -4
- package/docs/docs/cmd/spo/folder/folder-copy.mdx +84 -13
- package/docs/docs/cmd/spo/folder/folder-move.mdx +84 -13
- package/docs/docs/cmd/spo/folder/folder-sharinglink-add.mdx +125 -0
- package/docs/docs/cmd/spo/folder/folder-sharinglink-clear.mdx +50 -0
- package/docs/docs/cmd/spo/folder/folder-sharinglink-remove.mdx +50 -0
- package/docs/docs/cmd/spo/folder/folder-sharinglink-set.mdx +116 -0
- package/docs/docs/cmd/spo/group/group-member-add.mdx +8 -14
- package/docs/docs/cmd/spo/group/group-member-remove.mdx +5 -11
- package/docs/docs/cmd/spo/hidedefaultthemes/hidedefaultthemes-get.mdx +1 -1
- package/docs/docs/cmd/spo/hidedefaultthemes/hidedefaultthemes-set.mdx +1 -1
- package/docs/docs/cmd/spo/homesite/homesite-remove.mdx +1 -1
- package/docs/docs/cmd/spo/knowledgehub/knowledgehub-get.mdx +1 -1
- package/docs/docs/cmd/spo/knowledgehub/knowledgehub-remove.mdx +1 -1
- package/docs/docs/cmd/spo/knowledgehub/knowledgehub-set.mdx +1 -1
- package/docs/docs/cmd/spo/list/list-remove.mdx +10 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +1 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.mdx +1 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-remove.mdx +1 -1
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-list.mdx +1 -1
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-remove.mdx +1 -1
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-set.mdx +1 -1
- package/docs/docs/cmd/spo/page/page-publish.mdx +41 -0
- package/docs/docs/cmd/spo/page/page-remove.mdx +30 -12
- package/docs/docs/cmd/spo/page/page-section-add.mdx +57 -2
- package/docs/docs/cmd/spo/site/site-admin-add.mdx +67 -0
- package/docs/docs/cmd/spo/site/site-admin-list.mdx +64 -12
- package/docs/docs/cmd/spo/site/site-admin-remove.mdx +67 -0
- package/docs/docs/cmd/spo/site/site-appcatalog-add.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-set.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-sharingpermission-set.mdx +58 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +14 -1
- package/docs/docs/cmd/spo/storageentity/storageentity-remove.mdx +1 -1
- package/docs/docs/cmd/spo/storageentity/storageentity-set.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-settings-list.mdx +1 -1
- package/docs/docs/cmd/spo/{site/site-list.mdx → tenant/tenant-site-list.mdx} +19 -11
- package/docs/docs/cmd/spo/tenant/tenant-site-membership-list.mdx +122 -0
- package/docs/docs/cmd/spo/{site/site-rename.mdx → tenant/tenant-site-rename.mdx} +7 -7
- package/docs/docs/cmd/spo/theme/theme-apply.mdx +1 -1
- package/docs/docs/cmd/spo/theme/theme-get.mdx +1 -1
- package/docs/docs/cmd/spo/theme/theme-list.mdx +1 -1
- package/docs/docs/cmd/spo/theme/theme-remove.mdx +1 -1
- package/docs/docs/cmd/spo/theme/theme-set.mdx +1 -1
- package/docs/docs/cmd/spo/user/user-ensure.mdx +2 -5
- package/docs/docs/cmd/spo/user/user-get.mdx +35 -9
- package/docs/docs/cmd/spp/contentcenter/contentcenter-list.mdx +287 -0
- package/docs/docs/cmd/spp/model/model-list.mdx +140 -0
- package/docs/docs/cmd/teams/cache/cache-remove.mdx +10 -1
- package/docs/docs/cmd/teams/meeting/meeting-transcript-get.mdx +132 -0
- package/docs/docs/cmd/teams/tab/tab-list.mdx +1 -2
- package/docs/docs/cmd/viva/engage/engage-community-list.mdx +81 -0
- package/docs/docs/cmd/viva/engage/engage-community-user-list.mdx +123 -0
- package/npm-shrinkwrap.json +2215 -717
- package/package.json +20 -21
- package/dist/m365/cli/commands/cli-reconsent.js +0 -30
- package/dist/m365/entra/aadCommands.js +0 -89
- package/docs/docs/cmd/cli/cli-reconsent.mdx +0 -62
- package/docs/docs/cmd/entra/group/group-user-add.mdx +0 -62
- package/docs/docs/cmd/entra/group/group-user-set.mdx +0 -62
|
@@ -3,13 +3,14 @@ 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 _SpoPageSectionAddCommand_instances,
|
|
6
|
+
var _SpoPageSectionAddCommand_instances, _SpoPageSectionAddCommand_initTelemetry, _SpoPageSectionAddCommand_initOptions, _SpoPageSectionAddCommand_initValidators, _SpoPageSectionAddCommand_initTypes;
|
|
7
|
+
import { v4 } from 'uuid';
|
|
7
8
|
import request from '../../../../request.js';
|
|
8
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
9
10
|
import { validation } from '../../../../utils/validation.js';
|
|
10
11
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
11
12
|
import commands from '../../commands.js';
|
|
12
|
-
import { CanvasSectionTemplate
|
|
13
|
+
import { CanvasSectionTemplate } from './clientsidepages.js';
|
|
13
14
|
class SpoPageSectionAddCommand extends SpoCommand {
|
|
14
15
|
get name() {
|
|
15
16
|
return commands.PAGE_SECTION_ADD;
|
|
@@ -20,13 +21,18 @@ class SpoPageSectionAddCommand extends SpoCommand {
|
|
|
20
21
|
constructor() {
|
|
21
22
|
super();
|
|
22
23
|
_SpoPageSectionAddCommand_instances.add(this);
|
|
24
|
+
this.sectionTemplate = ['OneColumn', 'OneColumnFullWidth', 'TwoColumn', 'ThreeColumn', 'TwoColumnLeft', 'TwoColumnRight', 'Vertical'];
|
|
25
|
+
this.zoneEmphasis = ['None', 'Neutral', 'Soft', 'Strong', 'Image', 'Gradient'];
|
|
26
|
+
this.iconAlignment = ['Left', 'Right'];
|
|
27
|
+
this.fillMode = ['ScaleToFill', 'ScaleToFit', 'Tile', 'OriginalSize'];
|
|
23
28
|
__classPrivateFieldGet(this, _SpoPageSectionAddCommand_instances, "m", _SpoPageSectionAddCommand_initTelemetry).call(this);
|
|
24
29
|
__classPrivateFieldGet(this, _SpoPageSectionAddCommand_instances, "m", _SpoPageSectionAddCommand_initOptions).call(this);
|
|
25
30
|
__classPrivateFieldGet(this, _SpoPageSectionAddCommand_instances, "m", _SpoPageSectionAddCommand_initValidators).call(this);
|
|
31
|
+
__classPrivateFieldGet(this, _SpoPageSectionAddCommand_instances, "m", _SpoPageSectionAddCommand_initTypes).call(this);
|
|
26
32
|
}
|
|
27
33
|
async commandAction(logger, args) {
|
|
28
34
|
let pageFullName = args.options.pageName.toLowerCase();
|
|
29
|
-
if (pageFullName.
|
|
35
|
+
if (!pageFullName.endsWith('.aspx')) {
|
|
30
36
|
pageFullName += '.aspx';
|
|
31
37
|
}
|
|
32
38
|
let canvasContent;
|
|
@@ -66,11 +72,22 @@ class SpoPageSectionAddCommand extends SpoCommand {
|
|
|
66
72
|
.sort();
|
|
67
73
|
// zoneIndex for the new section to add
|
|
68
74
|
const zoneIndex = this.getSectionIndex(zoneIndices, args.options.order);
|
|
75
|
+
let zoneId;
|
|
76
|
+
let backgroundControlToAdd = undefined;
|
|
77
|
+
if (args.options.zoneEmphasis && ['image', 'gradient'].includes(args.options.zoneEmphasis.toLowerCase())) {
|
|
78
|
+
zoneId = v4();
|
|
79
|
+
// get background control based on control type 14
|
|
80
|
+
const backgroundControl = canvasContent.find(c => c.controlType === 14);
|
|
81
|
+
backgroundControlToAdd = this.setBackgroundControl(zoneId, backgroundControl, args);
|
|
82
|
+
if (!backgroundControl) {
|
|
83
|
+
canvasContent.push(backgroundControlToAdd);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
69
86
|
// get the list of columns to insert based on the selected template
|
|
70
|
-
const columnsToAdd = this.getColumns(zoneIndex, args
|
|
87
|
+
const columnsToAdd = this.getColumns(zoneIndex, args, zoneId);
|
|
71
88
|
// insert the column in the right place in the array so that
|
|
72
89
|
// it stays sorted ascending by zoneIndex
|
|
73
|
-
let pos = canvasContent.findIndex(c => typeof c.controlType === 'undefined' && c.position.zoneIndex > zoneIndex);
|
|
90
|
+
let pos = canvasContent.findIndex(c => typeof c.controlType === 'undefined' && c.position && c.position.zoneIndex > zoneIndex);
|
|
74
91
|
if (pos === -1) {
|
|
75
92
|
pos = canvasContent.length - 1;
|
|
76
93
|
}
|
|
@@ -107,71 +124,146 @@ class SpoPageSectionAddCommand extends SpoCommand {
|
|
|
107
124
|
}
|
|
108
125
|
return zoneIndices[order - 2] + ((zoneIndices[order - 1] - zoneIndices[order - 2]) / 2);
|
|
109
126
|
}
|
|
110
|
-
getColumns(zoneIndex,
|
|
127
|
+
getColumns(zoneIndex, args, zoneId) {
|
|
111
128
|
const columns = [];
|
|
112
129
|
let sectionIndex = 1;
|
|
113
|
-
switch (sectionTemplate) {
|
|
130
|
+
switch (args.options.sectionTemplate) {
|
|
114
131
|
case 'OneColumnFullWidth':
|
|
115
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 0,
|
|
132
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 0, args, zoneId));
|
|
116
133
|
break;
|
|
117
134
|
case 'TwoColumn':
|
|
118
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 6,
|
|
119
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 6,
|
|
135
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 6, args, zoneId));
|
|
136
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 6, args, zoneId));
|
|
120
137
|
break;
|
|
121
138
|
case 'ThreeColumn':
|
|
122
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4,
|
|
123
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4,
|
|
124
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4,
|
|
139
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, args, zoneId));
|
|
140
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, args, zoneId));
|
|
141
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, args, zoneId));
|
|
125
142
|
break;
|
|
126
143
|
case 'TwoColumnLeft':
|
|
127
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 8,
|
|
128
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4,
|
|
144
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 8, args, zoneId));
|
|
145
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, args, zoneId));
|
|
129
146
|
break;
|
|
130
147
|
case 'TwoColumnRight':
|
|
131
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4,
|
|
132
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 8,
|
|
148
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, args, zoneId));
|
|
149
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 8, args, zoneId));
|
|
133
150
|
break;
|
|
134
151
|
case 'Vertical':
|
|
135
|
-
columns.push(this.getVerticalColumn(
|
|
152
|
+
columns.push(this.getVerticalColumn(args, zoneId));
|
|
136
153
|
break;
|
|
137
154
|
case 'OneColumn':
|
|
138
155
|
default:
|
|
139
|
-
columns.push(this.getColumn(zoneIndex, sectionIndex++, 12,
|
|
156
|
+
columns.push(this.getColumn(zoneIndex, sectionIndex++, 12, args, zoneId));
|
|
140
157
|
break;
|
|
141
158
|
}
|
|
142
159
|
return columns;
|
|
143
160
|
}
|
|
144
|
-
getColumn(zoneIndex, sectionIndex, sectionFactor,
|
|
161
|
+
getColumn(zoneIndex, sectionIndex, sectionFactor, args, zoneId) {
|
|
162
|
+
const { zoneEmphasis, isCollapsibleSection, isExpanded, showDivider, iconAlignment } = args.options;
|
|
145
163
|
const columnValue = {
|
|
146
164
|
displayMode: 2,
|
|
147
165
|
position: {
|
|
148
166
|
zoneIndex: zoneIndex,
|
|
149
167
|
sectionIndex: sectionIndex,
|
|
150
168
|
sectionFactor: sectionFactor,
|
|
151
|
-
layoutIndex: 1
|
|
169
|
+
layoutIndex: 1,
|
|
170
|
+
zoneId: zoneId
|
|
152
171
|
},
|
|
153
172
|
emphasis: {}
|
|
154
173
|
};
|
|
155
|
-
if (zoneEmphasis) {
|
|
156
|
-
|
|
174
|
+
if (zoneEmphasis && ['none', 'neutral', 'soft', 'strong'].includes(zoneEmphasis?.toLocaleLowerCase())) {
|
|
175
|
+
// Just these zoneEmphasis values should be added to column emphasis
|
|
176
|
+
const zoneEmphasisValue = ['none', 'neutral', 'soft', 'strong'].indexOf(zoneEmphasis.toLocaleLowerCase());
|
|
157
177
|
columnValue.emphasis = { zoneEmphasis: zoneEmphasisValue };
|
|
158
178
|
}
|
|
179
|
+
if (isCollapsibleSection) {
|
|
180
|
+
columnValue.zoneGroupMetadata = {
|
|
181
|
+
type: 1,
|
|
182
|
+
isExpanded: !!isExpanded,
|
|
183
|
+
showDividerLine: !!showDivider,
|
|
184
|
+
iconAlignment: iconAlignment && iconAlignment.toLocaleLowerCase() === "right" ? "right" : "left"
|
|
185
|
+
};
|
|
186
|
+
}
|
|
159
187
|
return columnValue;
|
|
160
188
|
}
|
|
161
|
-
getVerticalColumn(
|
|
162
|
-
const columnValue = this.getColumn(1, 1, 12,
|
|
163
|
-
columnValue.position.isLayoutReflowOnTop = isLayoutReflowOnTop !== undefined
|
|
189
|
+
getVerticalColumn(args, zoneId) {
|
|
190
|
+
const columnValue = this.getColumn(1, 1, 12, args, zoneId);
|
|
191
|
+
columnValue.position.isLayoutReflowOnTop = args.options.isLayoutReflowOnTop !== undefined;
|
|
164
192
|
columnValue.position.layoutIndex = 2;
|
|
165
193
|
columnValue.position.controlIndex = 1;
|
|
166
194
|
return columnValue;
|
|
167
195
|
}
|
|
196
|
+
setBackgroundControl(zoneId, backgroundControl, args) {
|
|
197
|
+
const { overlayColor, overlayOpacity, useLightText, imageUrl } = args.options;
|
|
198
|
+
const backgroundDetails = this.getBackgroundDetails(args);
|
|
199
|
+
if (!backgroundControl) {
|
|
200
|
+
backgroundControl = {
|
|
201
|
+
controlType: 14,
|
|
202
|
+
webPartData: {
|
|
203
|
+
properties: {
|
|
204
|
+
zoneBackground: {}
|
|
205
|
+
},
|
|
206
|
+
serverProcessedContent: {
|
|
207
|
+
htmlStrings: {},
|
|
208
|
+
searchablePlainTexts: {},
|
|
209
|
+
imageSources: {},
|
|
210
|
+
links: {}
|
|
211
|
+
},
|
|
212
|
+
dataVersion: "1.0"
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
backgroundControl.webPartData.properties.zoneBackground[zoneId] = {
|
|
217
|
+
...backgroundDetails,
|
|
218
|
+
useLightText: !!useLightText,
|
|
219
|
+
overlay: {
|
|
220
|
+
color: overlayColor ? overlayColor : "#FFFFFF",
|
|
221
|
+
opacity: overlayOpacity ? overlayOpacity : 60
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
if (imageUrl && backgroundControl.webPartData.serverProcessedContent.imageSources) {
|
|
225
|
+
backgroundControl.webPartData.serverProcessedContent.imageSources[`zoneBackground.${zoneId}.imageData.url`] = imageUrl;
|
|
226
|
+
}
|
|
227
|
+
return backgroundControl;
|
|
228
|
+
}
|
|
229
|
+
getBackgroundDetails(args) {
|
|
230
|
+
const { gradientText, imageUrl, imageHeight, imageWidth, fillMode } = args.options;
|
|
231
|
+
const backgroundDetails = {};
|
|
232
|
+
if (gradientText) {
|
|
233
|
+
backgroundDetails.type = "gradient";
|
|
234
|
+
backgroundDetails.gradient = gradientText;
|
|
235
|
+
}
|
|
236
|
+
if (imageUrl) {
|
|
237
|
+
backgroundDetails.type = "image";
|
|
238
|
+
backgroundDetails.imageData = {
|
|
239
|
+
source: 2,
|
|
240
|
+
fileName: "sectionbackground.jpg",
|
|
241
|
+
height: imageHeight ? imageHeight : 955,
|
|
242
|
+
width: imageWidth ? imageWidth : 555
|
|
243
|
+
};
|
|
244
|
+
backgroundDetails.fillMode = fillMode ? this.fillMode.indexOf(fillMode) : 0;
|
|
245
|
+
}
|
|
246
|
+
return backgroundDetails;
|
|
247
|
+
}
|
|
168
248
|
}
|
|
169
|
-
|
|
249
|
+
_SpoPageSectionAddCommand_instances = new WeakSet(), _SpoPageSectionAddCommand_initTelemetry = function _SpoPageSectionAddCommand_initTelemetry() {
|
|
170
250
|
this.telemetry.push((args) => {
|
|
171
251
|
Object.assign(this.telemetryProperties, {
|
|
172
252
|
order: typeof args.options.order !== 'undefined',
|
|
173
253
|
zoneEmphasis: typeof args.options.zoneEmphasis !== 'undefined',
|
|
174
|
-
isLayoutReflowOnTop: !!args.options.isLayoutReflowOnTop
|
|
254
|
+
isLayoutReflowOnTop: !!args.options.isLayoutReflowOnTop,
|
|
255
|
+
isCollapsibleSection: !!args.options.isCollapsibleSection,
|
|
256
|
+
showDivider: !!typeof args.options.showDivider,
|
|
257
|
+
iconAlignment: typeof args.options.iconAlignment !== 'undefined',
|
|
258
|
+
isExpanded: !!args.options.isExpanded,
|
|
259
|
+
gradientText: typeof args.options.gradientText !== 'undefined',
|
|
260
|
+
imageUrl: typeof args.options.imageUrl !== 'undefined',
|
|
261
|
+
imageHeight: typeof args.options.imageHeight !== 'undefined',
|
|
262
|
+
imageWidth: typeof args.options.imageWidth !== 'undefined',
|
|
263
|
+
fillMode: typeof args.options.fillMode !== 'undefined',
|
|
264
|
+
useLightText: !!args.options.useLightText,
|
|
265
|
+
overlayColor: typeof args.options.overlayColor !== 'undefined',
|
|
266
|
+
overlayOpacity: typeof args.options.overlayOpacity !== 'undefined'
|
|
175
267
|
});
|
|
176
268
|
});
|
|
177
269
|
}, _SpoPageSectionAddCommand_initOptions = function _SpoPageSectionAddCommand_initOptions() {
|
|
@@ -181,14 +273,40 @@ _a = SpoPageSectionAddCommand, _SpoPageSectionAddCommand_instances = new WeakSet
|
|
|
181
273
|
option: '-u, --webUrl <webUrl>'
|
|
182
274
|
}, {
|
|
183
275
|
option: '-t, --sectionTemplate <sectionTemplate>',
|
|
184
|
-
autocomplete:
|
|
276
|
+
autocomplete: this.sectionTemplate
|
|
185
277
|
}, {
|
|
186
278
|
option: '--order [order]'
|
|
187
279
|
}, {
|
|
188
280
|
option: '--zoneEmphasis [zoneEmphasis]',
|
|
189
|
-
autocomplete:
|
|
281
|
+
autocomplete: this.zoneEmphasis
|
|
190
282
|
}, {
|
|
191
283
|
option: '--isLayoutReflowOnTop'
|
|
284
|
+
}, {
|
|
285
|
+
option: '--isCollapsibleSection'
|
|
286
|
+
}, {
|
|
287
|
+
option: '--showDivider'
|
|
288
|
+
}, {
|
|
289
|
+
option: '--iconAlignment [iconAlignment]',
|
|
290
|
+
autocomplete: this.iconAlignment
|
|
291
|
+
}, {
|
|
292
|
+
option: '--isExpanded'
|
|
293
|
+
}, {
|
|
294
|
+
option: '--gradientText [gradientText]'
|
|
295
|
+
}, {
|
|
296
|
+
option: '--imageUrl [imageUrl]'
|
|
297
|
+
}, {
|
|
298
|
+
option: '--imageHeight [imageHeight]'
|
|
299
|
+
}, {
|
|
300
|
+
option: '--imageWidth [imageWidth]'
|
|
301
|
+
}, {
|
|
302
|
+
option: '--fillMode [fillMode]',
|
|
303
|
+
autocomplete: this.fillMode
|
|
304
|
+
}, {
|
|
305
|
+
option: '--useLightText'
|
|
306
|
+
}, {
|
|
307
|
+
option: '--overlayColor [overlayColor]'
|
|
308
|
+
}, {
|
|
309
|
+
option: '--overlayOpacity [overlayOpacity]'
|
|
192
310
|
});
|
|
193
311
|
}, _SpoPageSectionAddCommand_initValidators = function _SpoPageSectionAddCommand_initValidators() {
|
|
194
312
|
this.validators.push(async (args) => {
|
|
@@ -201,8 +319,8 @@ _a = SpoPageSectionAddCommand, _SpoPageSectionAddCommand_instances = new WeakSet
|
|
|
201
319
|
}
|
|
202
320
|
}
|
|
203
321
|
if (typeof args.options.zoneEmphasis !== 'undefined') {
|
|
204
|
-
if (!(args.options.zoneEmphasis
|
|
205
|
-
return
|
|
322
|
+
if (!this.zoneEmphasis.some(zoneEmphasisValue => zoneEmphasisValue.toLocaleLowerCase() === args.options.zoneEmphasis?.toLowerCase())) {
|
|
323
|
+
return `The value of parameter zoneEmphasis must be ${this.zoneEmphasis.join(', ')}`;
|
|
206
324
|
}
|
|
207
325
|
}
|
|
208
326
|
if (typeof args.options.isLayoutReflowOnTop !== 'undefined') {
|
|
@@ -210,10 +328,43 @@ _a = SpoPageSectionAddCommand, _SpoPageSectionAddCommand_instances = new WeakSet
|
|
|
210
328
|
return 'Specify isLayoutReflowOnTop when the sectionTemplate is set to Vertical.';
|
|
211
329
|
}
|
|
212
330
|
}
|
|
331
|
+
if (typeof args.options.iconAlignment !== 'undefined') {
|
|
332
|
+
if (!this.iconAlignment.some(iconAlignmentValue => iconAlignmentValue.toLocaleLowerCase() === args.options.iconAlignment?.toLowerCase())) {
|
|
333
|
+
return `The value of parameter iconAlignment must be ${this.iconAlignment.join(', ')}`;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
if (typeof args.options.fillMode !== 'undefined') {
|
|
337
|
+
if (!this.fillMode.some(fillModeValue => fillModeValue.toLocaleLowerCase() === args.options.fillMode?.toLowerCase())) {
|
|
338
|
+
return `The value of parameter fillMode must be ${this.fillMode.join(', ')}`;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
if (args.options.zoneEmphasis?.toLocaleLowerCase() !== 'image' && (args.options.imageUrl || args.options.imageWidth ||
|
|
342
|
+
args.options.imageHeight || args.options.fillMode)) {
|
|
343
|
+
return 'Specify imageUrl, imageWidth, imageHeight or fillMode only when zoneEmphasis is set to Image';
|
|
344
|
+
}
|
|
345
|
+
if (args.options.zoneEmphasis?.toLocaleLowerCase() === 'image' && !args.options.imageUrl) {
|
|
346
|
+
return 'Specify imageUrl when zoneEmphasis is set to Image';
|
|
347
|
+
}
|
|
348
|
+
if (args.options.zoneEmphasis?.toLowerCase() !== 'gradient' && args.options.gradientText) {
|
|
349
|
+
return 'Specify gradientText only when zoneEmphasis is set to Gradient';
|
|
350
|
+
}
|
|
351
|
+
if (args.options.zoneEmphasis?.toLowerCase() === 'gradient' && !args.options.gradientText) {
|
|
352
|
+
return 'Specify gradientText when zoneEmphasis is set to Gradient';
|
|
353
|
+
}
|
|
354
|
+
if (args.options.overlayOpacity && (args.options.overlayOpacity < 0 || args.options.overlayOpacity > 100)) {
|
|
355
|
+
return 'The value of parameter overlayOpacity must be between 0 and 100';
|
|
356
|
+
}
|
|
357
|
+
if (args.options.overlayColor && !/^#[0-9a-f]{6}$/i.test(args.options.overlayColor)) {
|
|
358
|
+
return 'The value of parameter overlayColor must be a valid hex color';
|
|
359
|
+
}
|
|
360
|
+
if (!(args.options.zoneEmphasis && ['image', 'gradient'].includes(args.options.zoneEmphasis.toLowerCase())) && (args.options.overlayColor || args.options.overlayOpacity || args.options.useLightText)) {
|
|
361
|
+
return 'Specify overlayColor or overlayOpacity only when zoneEmphasis is set to Image or Gradient';
|
|
362
|
+
}
|
|
213
363
|
return validation.isValidSharePointUrl(args.options.webUrl);
|
|
214
364
|
});
|
|
365
|
+
}, _SpoPageSectionAddCommand_initTypes = function _SpoPageSectionAddCommand_initTypes() {
|
|
366
|
+
this.types.string = ['pageName', 'webUrl', 'sectionTemplate', 'zoneEmphasis', 'iconAlignment', 'gradientText', 'imageUrl', 'fillMode', 'overlayColor'];
|
|
367
|
+
this.types.boolean = ['isLayoutReflowOnTop', 'isCollapsibleSection', 'showDivider', 'isExpanded', 'useLightText'];
|
|
215
368
|
};
|
|
216
|
-
SpoPageSectionAddCommand.SectionTemplate = ['OneColumn', 'OneColumnFullWidth', 'TwoColumn', 'ThreeColumn', 'TwoColumnLeft', 'TwoColumnRight', 'Vertical'];
|
|
217
|
-
SpoPageSectionAddCommand.ZoneEmphasis = ['None', 'Neutral', 'Soft', 'Strong'];
|
|
218
369
|
export default new SpoPageSectionAddCommand();
|
|
219
370
|
//# sourceMappingURL=page-section-add.js.map
|
|
@@ -30,9 +30,7 @@ class SpoPageTemplateListCommand extends SpoCommand {
|
|
|
30
30
|
}
|
|
31
31
|
try {
|
|
32
32
|
const res = await odata.getAllItems(`${args.options.webUrl}/_api/sitepages/pages/templates`);
|
|
33
|
-
|
|
34
|
-
await logger.log(res);
|
|
35
|
-
}
|
|
33
|
+
await logger.log(res);
|
|
36
34
|
}
|
|
37
35
|
catch (err) {
|
|
38
36
|
// The API returns a 404 when no templates are created on the site collection
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _SpoSiteAdminAddCommand_instances, _SpoSiteAdminAddCommand_initTelemetry, _SpoSiteAdminAddCommand_initOptions, _SpoSiteAdminAddCommand_initValidators, _SpoSiteAdminAddCommand_initOptionSets, _SpoSiteAdminAddCommand_initTypes;
|
|
7
|
+
import config from '../../../../config.js';
|
|
8
|
+
import request from '../../../../request.js';
|
|
9
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
10
|
+
import { entraUser } from '../../../../utils/entraUser.js';
|
|
11
|
+
import { formatting } from '../../../../utils/formatting.js';
|
|
12
|
+
import { spo } from '../../../../utils/spo.js';
|
|
13
|
+
import { validation } from '../../../../utils/validation.js';
|
|
14
|
+
import SpoCommand from '../../../base/SpoCommand.js';
|
|
15
|
+
import commands from '../../commands.js';
|
|
16
|
+
class SpoSiteAdminAddCommand extends SpoCommand {
|
|
17
|
+
get name() {
|
|
18
|
+
return commands.SITE_ADMIN_ADD;
|
|
19
|
+
}
|
|
20
|
+
get description() {
|
|
21
|
+
return 'Adds a user or group as a site collection administrator';
|
|
22
|
+
}
|
|
23
|
+
constructor() {
|
|
24
|
+
super();
|
|
25
|
+
_SpoSiteAdminAddCommand_instances.add(this);
|
|
26
|
+
__classPrivateFieldGet(this, _SpoSiteAdminAddCommand_instances, "m", _SpoSiteAdminAddCommand_initTelemetry).call(this);
|
|
27
|
+
__classPrivateFieldGet(this, _SpoSiteAdminAddCommand_instances, "m", _SpoSiteAdminAddCommand_initOptions).call(this);
|
|
28
|
+
__classPrivateFieldGet(this, _SpoSiteAdminAddCommand_instances, "m", _SpoSiteAdminAddCommand_initValidators).call(this);
|
|
29
|
+
__classPrivateFieldGet(this, _SpoSiteAdminAddCommand_instances, "m", _SpoSiteAdminAddCommand_initOptionSets).call(this);
|
|
30
|
+
__classPrivateFieldGet(this, _SpoSiteAdminAddCommand_instances, "m", _SpoSiteAdminAddCommand_initTypes).call(this);
|
|
31
|
+
}
|
|
32
|
+
async commandAction(logger, args) {
|
|
33
|
+
try {
|
|
34
|
+
const loginNameToAdd = await this.getCorrectLoginName(args.options);
|
|
35
|
+
if (args.options.asAdmin) {
|
|
36
|
+
await this.callActionAsAdmin(logger, args, loginNameToAdd);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
await this.callAction(logger, args, loginNameToAdd);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
this.handleRejectedODataJsonPromise(err);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async callActionAsAdmin(logger, args, loginNameToAdd) {
|
|
46
|
+
if (this.verbose) {
|
|
47
|
+
await logger.logToStderr('Adding site administrator as an administrator...');
|
|
48
|
+
}
|
|
49
|
+
const adminUrl = await spo.getSpoAdminUrl(logger, this.debug);
|
|
50
|
+
const siteId = await this.getSiteIdBasedOnUrl(args.options.siteUrl, logger);
|
|
51
|
+
const siteAdmins = (await this.getSiteAdmins(adminUrl, siteId)).map(u => u.loginName);
|
|
52
|
+
siteAdmins.push(loginNameToAdd);
|
|
53
|
+
await this.setSiteAdminsAsAdmin(adminUrl, siteId, siteAdmins);
|
|
54
|
+
if (args.options.primary) {
|
|
55
|
+
await this.setPrimaryAdminAsAdmin(adminUrl, siteId, loginNameToAdd);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async getSiteIdBasedOnUrl(siteUrl, logger) {
|
|
59
|
+
const siteGraphId = await spo.getSiteId(siteUrl, logger, this.verbose);
|
|
60
|
+
const match = siteGraphId.match(/,([a-f0-9\-]{36}),/i);
|
|
61
|
+
if (!match) {
|
|
62
|
+
throw `Site with URL ${siteUrl} not found`;
|
|
63
|
+
}
|
|
64
|
+
return match[1];
|
|
65
|
+
}
|
|
66
|
+
async getSiteAdmins(adminUrl, siteId) {
|
|
67
|
+
const requestOptions = {
|
|
68
|
+
url: `${adminUrl}/_api/SPO.Tenant/GetSiteAdministrators?siteId='${siteId}'`,
|
|
69
|
+
headers: {
|
|
70
|
+
accept: 'application/json;odata=nometadata',
|
|
71
|
+
'content-type': 'application/json;charset=utf-8'
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const response = await request.post(requestOptions);
|
|
75
|
+
const responseContent = JSON.parse(response);
|
|
76
|
+
return responseContent.value;
|
|
77
|
+
}
|
|
78
|
+
async getCorrectLoginName(options) {
|
|
79
|
+
if (options.userId || options.userName) {
|
|
80
|
+
const userPrincipalName = options.userName ? options.userName : await entraUser.getUpnByUserId(options.userId);
|
|
81
|
+
if (userPrincipalName) {
|
|
82
|
+
return `i:0#.f|membership|${userPrincipalName}`;
|
|
83
|
+
}
|
|
84
|
+
throw 'User not found.';
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const group = options.groupId ? await entraGroup.getGroupById(options.groupId) : await entraGroup.getGroupByDisplayName(options.groupName);
|
|
88
|
+
//for entra groups, M365 groups have an associated email and security groups don't
|
|
89
|
+
if (group?.mail) {
|
|
90
|
+
//M365 group is prefixed with c:0o.c|federateddirectoryclaimprovider
|
|
91
|
+
return `c:0o.c|federateddirectoryclaimprovider|${group.id}`;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
//security group is prefixed with c:0t.c|tenant
|
|
95
|
+
return `c:0t.c|tenant|${group?.id}`;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async setSiteAdminsAsAdmin(adminUrl, siteId, admins) {
|
|
100
|
+
const requestOptions = {
|
|
101
|
+
url: `${adminUrl}/_api/SPOInternalUseOnly.Tenant/SetSiteSecondaryAdministrators`,
|
|
102
|
+
headers: {
|
|
103
|
+
accept: 'application/json;odata=nometadata',
|
|
104
|
+
'content-type': 'application/json;charset=utf-8'
|
|
105
|
+
},
|
|
106
|
+
data: {
|
|
107
|
+
secondaryAdministratorsFieldsData: {
|
|
108
|
+
siteId: siteId,
|
|
109
|
+
secondaryAdministratorLoginNames: admins
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
return request.post(requestOptions);
|
|
114
|
+
}
|
|
115
|
+
async setPrimaryAdminAsAdmin(adminUrl, siteId, adminLogin) {
|
|
116
|
+
const requestOptions = {
|
|
117
|
+
url: `${adminUrl}/_api/SPO.Tenant/sites('${siteId}')`,
|
|
118
|
+
headers: {
|
|
119
|
+
accept: 'application/json;odata=nometadata',
|
|
120
|
+
'content-type': 'application/json;charset=utf-8'
|
|
121
|
+
},
|
|
122
|
+
data: {
|
|
123
|
+
Owner: adminLogin,
|
|
124
|
+
SetOwnerWithoutUpdatingSecondaryAdmin: true
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
return request.patch(requestOptions);
|
|
128
|
+
}
|
|
129
|
+
async callAction(logger, args, loginNameToAdd) {
|
|
130
|
+
if (this.verbose) {
|
|
131
|
+
await logger.logToStderr('Adding site administrator...');
|
|
132
|
+
}
|
|
133
|
+
const ensuredUserData = await this.ensureUser(args, loginNameToAdd);
|
|
134
|
+
await this.setSiteAdmin(args.options.siteUrl, loginNameToAdd);
|
|
135
|
+
if (args.options.primary) {
|
|
136
|
+
const siteId = await this.getSiteId(args.options.siteUrl);
|
|
137
|
+
const previousPrimaryOwner = await this.getSiteOwnerLoginName(args.options.siteUrl);
|
|
138
|
+
await this.setPrimaryOwnerLoginFromSite(logger, args.options.siteUrl, siteId, ensuredUserData);
|
|
139
|
+
await this.setSiteAdmin(args.options.siteUrl, previousPrimaryOwner);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
async ensureUser(args, loginName) {
|
|
143
|
+
const requestOptions = {
|
|
144
|
+
url: `${args.options.siteUrl}/_api/web/ensureuser`,
|
|
145
|
+
headers: {
|
|
146
|
+
accept: 'application/json;odata=nometadata'
|
|
147
|
+
},
|
|
148
|
+
data: {
|
|
149
|
+
logonName: loginName
|
|
150
|
+
},
|
|
151
|
+
responseType: 'json'
|
|
152
|
+
};
|
|
153
|
+
return request.post(requestOptions);
|
|
154
|
+
}
|
|
155
|
+
async setSiteAdmin(siteUrl, loginName) {
|
|
156
|
+
const requestOptions = {
|
|
157
|
+
url: `${siteUrl}/_api/web/siteusers('${formatting.encodeQueryParameter(loginName)}')`,
|
|
158
|
+
headers: {
|
|
159
|
+
'accept': 'application/json',
|
|
160
|
+
'X-Http-Method': 'MERGE',
|
|
161
|
+
'If-Match': '*'
|
|
162
|
+
},
|
|
163
|
+
data: { IsSiteAdmin: true },
|
|
164
|
+
responseType: 'json'
|
|
165
|
+
};
|
|
166
|
+
return request.post(requestOptions);
|
|
167
|
+
}
|
|
168
|
+
async getSiteId(siteUrl) {
|
|
169
|
+
const requestOptions = {
|
|
170
|
+
url: `${siteUrl}/_api/site?$select=Id`,
|
|
171
|
+
headers: {
|
|
172
|
+
accept: 'application/json;odata=nometadata'
|
|
173
|
+
},
|
|
174
|
+
responseType: 'json'
|
|
175
|
+
};
|
|
176
|
+
const response = await request.get(requestOptions);
|
|
177
|
+
return response.Id;
|
|
178
|
+
}
|
|
179
|
+
async getSiteOwnerLoginName(siteUrl) {
|
|
180
|
+
const requestOptions = {
|
|
181
|
+
url: `${siteUrl}/_api/site/owner?$select=LoginName`,
|
|
182
|
+
headers: {
|
|
183
|
+
accept: 'application/json;odata=nometadata'
|
|
184
|
+
},
|
|
185
|
+
responseType: 'json'
|
|
186
|
+
};
|
|
187
|
+
const response = await request.get(requestOptions);
|
|
188
|
+
return response.LoginName;
|
|
189
|
+
}
|
|
190
|
+
async setPrimaryOwnerLoginFromSite(logger, siteUrl, siteId, loginName) {
|
|
191
|
+
const res = await spo.ensureFormDigest(siteUrl, logger, undefined, this.debug);
|
|
192
|
+
const body = `<Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}"><Actions><SetProperty Id="10" ObjectPathId="2" Name="Owner"><Parameter ObjectPathId="3" /></SetProperty></Actions><ObjectPaths><Property Id="2" ParentId="0" Name="Site" /><Identity Id="3" Name="6d452ba1-40a8-8000-e00d-46e1adaa12bf|740c6a0b-85e2-48a0-a494-e0f1759d4aa7:site:${siteId}:u:${loginName.Id}" /><StaticProperty Id="0" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" /></ObjectPaths></Request>`;
|
|
193
|
+
const requestOptions = {
|
|
194
|
+
url: `${siteUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
195
|
+
headers: {
|
|
196
|
+
'X-RequestDigest': res.FormDigestValue
|
|
197
|
+
},
|
|
198
|
+
data: body
|
|
199
|
+
};
|
|
200
|
+
return request.post(requestOptions);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
_SpoSiteAdminAddCommand_instances = new WeakSet(), _SpoSiteAdminAddCommand_initTelemetry = function _SpoSiteAdminAddCommand_initTelemetry() {
|
|
204
|
+
this.telemetry.push((args) => {
|
|
205
|
+
Object.assign(this.telemetryProperties, {
|
|
206
|
+
userId: typeof args.options.userId !== 'undefined',
|
|
207
|
+
userName: typeof args.options.userName !== 'undefined',
|
|
208
|
+
groupId: typeof args.options.groupId !== 'undefined',
|
|
209
|
+
groupName: typeof args.options.groupName !== 'undefined',
|
|
210
|
+
primary: !!args.options.primary,
|
|
211
|
+
asAdmin: !!args.options.asAdmin
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
}, _SpoSiteAdminAddCommand_initOptions = function _SpoSiteAdminAddCommand_initOptions() {
|
|
215
|
+
this.options.unshift({
|
|
216
|
+
option: '-u, --siteUrl <siteUrl>'
|
|
217
|
+
}, {
|
|
218
|
+
option: '--userId [userId]'
|
|
219
|
+
}, {
|
|
220
|
+
option: '--userName [userName]'
|
|
221
|
+
}, {
|
|
222
|
+
option: '--groupId [groupId]'
|
|
223
|
+
}, {
|
|
224
|
+
option: '--groupName [groupName]'
|
|
225
|
+
}, {
|
|
226
|
+
option: '--primary'
|
|
227
|
+
}, {
|
|
228
|
+
option: '--asAdmin'
|
|
229
|
+
});
|
|
230
|
+
}, _SpoSiteAdminAddCommand_initValidators = function _SpoSiteAdminAddCommand_initValidators() {
|
|
231
|
+
this.validators.push(async (args) => {
|
|
232
|
+
if (args.options.userId &&
|
|
233
|
+
!validation.isValidGuid(args.options.userId)) {
|
|
234
|
+
return `'${args.options.userId}' is not a valid GUID for option 'userId'`;
|
|
235
|
+
}
|
|
236
|
+
if (args.options.userName && !validation.isValidUserPrincipalName(args.options.userName)) {
|
|
237
|
+
return `'${args.options.userName}' is not a valid 'userName'`;
|
|
238
|
+
}
|
|
239
|
+
if (args.options.groupId &&
|
|
240
|
+
!validation.isValidGuid(args.options.groupId)) {
|
|
241
|
+
return `'${args.options.groupId}' is not a valid GUID for option 'groupId'`;
|
|
242
|
+
}
|
|
243
|
+
return validation.isValidSharePointUrl(args.options.siteUrl);
|
|
244
|
+
});
|
|
245
|
+
}, _SpoSiteAdminAddCommand_initOptionSets = function _SpoSiteAdminAddCommand_initOptionSets() {
|
|
246
|
+
this.optionSets.push({ options: ['userId', 'userName', 'groupId', 'groupName'] });
|
|
247
|
+
}, _SpoSiteAdminAddCommand_initTypes = function _SpoSiteAdminAddCommand_initTypes() {
|
|
248
|
+
this.types.string.push('siteUrl', 'userId', 'userName', 'groupId', 'groupName');
|
|
249
|
+
this.types.boolean.push('primary', 'asAdmin');
|
|
250
|
+
};
|
|
251
|
+
export default new SpoSiteAdminAddCommand();
|
|
252
|
+
//# sourceMappingURL=site-admin-add.js.map
|