@pnp/cli-microsoft365 7.5.0-beta.494c631 → 7.5.0-beta.4f8e5bf
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 +2 -2
- package/.eslintrc.cjs +6 -2
- package/.mocharc.json +3 -5
- package/Dockerfile +2 -5
- package/README.md +2 -2
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/Auth.js +171 -69
- package/dist/AuthServer.js +3 -3
- package/dist/Command.js +8 -5
- package/dist/auth/FileTokenStorage.js +4 -1
- package/dist/m365/app/commands/app-get.js +2 -2
- package/dist/m365/base/AppCommand.js +2 -2
- package/dist/m365/base/PowerAppsCommand.js +2 -2
- package/dist/m365/base/PowerAutomateCommand.js +2 -2
- package/dist/m365/base/PowerPlatformCommand.js +2 -2
- package/dist/m365/base/SpoCommand.js +3 -3
- package/dist/m365/base/{YammerCommand.js → VivaEngageCommand.js} +2 -2
- package/dist/m365/cli/commands/cli-consent.js +5 -3
- package/dist/m365/cli/commands/cli-doctor.js +5 -5
- package/dist/m365/commands/ConnectionDetails.js +2 -0
- package/dist/m365/commands/login.js +26 -48
- package/dist/m365/commands/logout.js +2 -2
- package/dist/m365/commands/request.js +2 -2
- package/dist/m365/commands/status.js +15 -23
- package/dist/m365/connection/commands/connection-list.js +47 -0
- package/dist/m365/connection/commands/connection-remove.js +67 -0
- package/dist/m365/connection/commands/connection-set.js +56 -0
- package/dist/m365/connection/commands/connection-use.js +51 -0
- package/dist/m365/connection/commands.js +8 -0
- package/dist/m365/entra/aadCommands.js +3 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-get.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-add.js +8 -8
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-get.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-list.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-member-remove.js +153 -0
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-remove.js +2 -2
- package/dist/m365/entra/commands/administrativeunit/administrativeunit-roleassignment-add.js +4 -4
- package/dist/m365/entra/commands/app/app-add.js +2 -2
- package/dist/m365/entra/commands/app/app-get.js +1 -1
- package/dist/m365/entra/commands/app/app-list.js +1 -1
- package/dist/m365/entra/commands/app/app-permission-add.js +4 -8
- package/dist/m365/entra/commands/app/app-permission-list.js +182 -0
- package/dist/m365/entra/commands/app/app-remove.js +1 -1
- package/dist/m365/entra/commands/app/app-role-add.js +1 -1
- package/dist/m365/entra/commands/app/app-role-list.js +1 -1
- package/dist/m365/entra/commands/app/app-role-remove.js +1 -1
- package/dist/m365/entra/commands/app/app-set.js +1 -1
- package/dist/m365/entra/commands/{sp/sp-add.js → enterpriseapp/enterpriseapp-add.js} +18 -18
- package/dist/m365/entra/commands/{sp/sp-get.js → enterpriseapp/enterpriseapp-get.js} +19 -19
- package/dist/m365/entra/commands/{sp/sp-list.js → enterpriseapp/enterpriseapp-list.js} +13 -13
- package/dist/m365/entra/commands/group/group-add.js +224 -0
- package/dist/m365/entra/commands/group/group-get.js +3 -3
- package/dist/m365/entra/commands/group/group-remove.js +2 -2
- package/dist/m365/entra/commands/group/group-user-add.js +145 -0
- package/dist/m365/entra/commands/group/group-user-list.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-conversation-list.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-conversation-post-list.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-get.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-remove.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-renew.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-report-activitygroupcounts.js +1 -1
- package/dist/m365/entra/commands/m365group/m365group-set.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-teamify.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-user-add.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-user-list.js +3 -3
- package/dist/m365/entra/commands/m365group/m365group-user-remove.js +2 -2
- package/dist/m365/entra/commands/m365group/m365group-user-set.js +2 -2
- package/dist/m365/entra/commands/user/user-get.js +38 -38
- package/dist/m365/entra/commands/user/user-license-list.js +1 -1
- package/dist/m365/entra/commands/user/user-registrationdetails-list.js +224 -0
- package/dist/m365/entra/commands/user/user-set.js +2 -2
- package/dist/m365/entra/commands.js +17 -0
- package/dist/m365/external/commands/connection/connection-doctor.js +2 -1
- package/dist/m365/file/commands/convert/convert-pdf.js +1 -1
- package/dist/m365/file/commands/file-copy.js +151 -0
- package/dist/m365/file/commands.js +1 -0
- package/dist/m365/flow/commands/owner/owner-ensure.js +4 -4
- package/dist/m365/flow/commands/owner/owner-remove.js +4 -4
- package/dist/m365/onenote/commands/notebook/notebook-list.js +2 -2
- package/dist/m365/onenote/commands/page/page-list.js +2 -2
- package/dist/m365/outlook/commands/mail/mail-send.js +1 -1
- package/dist/m365/outlook/commands/message/message-get.js +1 -1
- package/dist/m365/pa/commands/app/app-owner-set.js +2 -2
- package/dist/m365/pa/commands/app/app-permission-ensure.js +5 -5
- package/dist/m365/pa/commands/app/app-permission-remove.js +5 -5
- package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-get.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-list.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-set.js +2 -2
- package/dist/m365/planner/commands/plan/plan-add.js +2 -2
- package/dist/m365/planner/commands/plan/plan-get.js +2 -2
- package/dist/m365/planner/commands/plan/plan-list.js +2 -2
- package/dist/m365/planner/commands/plan/plan-remove.js +2 -2
- package/dist/m365/planner/commands/plan/plan-set.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-add.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-get.js +2 -2
- package/dist/m365/planner/commands/roster/roster-member-remove.js +2 -2
- package/dist/m365/planner/commands/roster/roster-plan-list.js +1 -1
- package/dist/m365/planner/commands/task/task-add.js +2 -2
- package/dist/m365/planner/commands/task/task-get.js +2 -2
- package/dist/m365/planner/commands/task/task-list.js +2 -2
- package/dist/m365/planner/commands/task/task-remove.js +2 -2
- package/dist/m365/planner/commands/task/task-set.js +2 -2
- package/dist/m365/purview/commands/auditlog/auditlog-list.js +1 -1
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-get.js +1 -1
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-list.js +1 -1
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-policysettings-list.js +1 -1
- package/dist/m365/spfx/commands/project/DeployWorkflow.js +4 -3
- package/dist/m365/spfx/commands/project/project-github-workflow-add.js +1 -1
- package/dist/m365/spo/commands/group/group-member-add.js +4 -4
- package/dist/m365/spo/commands/group/group-member-remove.js +2 -2
- package/dist/m365/spo/commands/group/group-set.js +2 -2
- package/dist/m365/spo/commands/site/site-remove.js +2 -2
- package/dist/m365/spo/commands/site/site-set.js +2 -2
- package/dist/m365/spo/commands/spo-get.js +1 -1
- package/dist/m365/spo/commands/spo-search.js +52 -22
- package/dist/m365/spo/commands/spo-set.js +1 -1
- package/dist/m365/spo/commands/user/user-ensure.js +2 -2
- package/dist/m365/teams/commands/app/app-install.js +2 -2
- package/dist/m365/teams/commands/channel/channel-get.js +2 -2
- package/dist/m365/teams/commands/channel/channel-list.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-add.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-list.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-remove.js +2 -2
- package/dist/m365/teams/commands/channel/channel-member-set.js +2 -2
- package/dist/m365/teams/commands/channel/channel-remove.js +2 -2
- package/dist/m365/teams/commands/channel/channel-set.js +2 -2
- package/dist/m365/teams/commands/chat/chat-get.js +1 -1
- package/dist/m365/teams/commands/chat/chat-list.js +1 -1
- package/dist/m365/teams/commands/chat/chat-message-send.js +1 -1
- package/dist/m365/teams/commands/meeting/meeting-add.js +3 -3
- package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +3 -3
- package/dist/m365/teams/commands/meeting/meeting-get.js +4 -4
- package/dist/m365/teams/commands/meeting/meeting-list.js +4 -4
- package/dist/m365/teams/commands/meeting/meeting-transcript-list.js +3 -3
- package/dist/m365/teams/commands/tab/tab-get.js +2 -2
- package/dist/m365/teams/commands/team/team-add.js +6 -6
- package/dist/m365/teams/commands/team/team-archive.js +2 -2
- package/dist/m365/teams/commands/team/team-get.js +2 -2
- package/dist/m365/teams/commands/team/team-remove.js +2 -2
- package/dist/m365/teams/commands/team/team-unarchive.js +2 -2
- package/dist/m365/tenant/commands/id/id-get.js +1 -1
- package/dist/m365/tenant/commands/info/info-get.js +1 -1
- package/dist/m365/util/commands/accesstoken/accesstoken-get.js +3 -3
- package/dist/m365/{yammer/commands/group/group-list.js → viva/commands/engage/engage-group-list.js} +19 -14
- package/dist/m365/{yammer/commands/group/group-user-add.js → viva/commands/engage/engage-group-user-add.js} +19 -14
- package/dist/m365/{yammer/commands/group/group-user-remove.js → viva/commands/engage/engage-group-user-remove.js} +19 -14
- package/dist/m365/{yammer/commands/message/message-add.js → viva/commands/engage/engage-message-add.js} +19 -14
- package/dist/m365/{yammer/commands/message/message-get.js → viva/commands/engage/engage-message-get.js} +17 -12
- package/dist/m365/{yammer/commands/message/message-like-set.js → viva/commands/engage/engage-message-like-set.js} +21 -16
- package/dist/m365/{yammer/commands/message/message-list.js → viva/commands/engage/engage-message-list.js} +21 -16
- package/dist/m365/{yammer/commands/message/message-remove.js → viva/commands/engage/engage-message-remove.js} +20 -15
- package/dist/m365/{yammer/commands/network/network-list.js → viva/commands/engage/engage-network-list.js} +16 -11
- package/dist/m365/viva/commands/engage/engage-report-activitycounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-activityusercounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-activityuserdetail.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-deviceusagedistributionusercounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-deviceusageusercounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-deviceusageuserdetail.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitycounts.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitydetail.js +23 -0
- package/dist/m365/viva/commands/engage/engage-report-groupsactivitygroupcounts.js +23 -0
- package/dist/m365/{yammer/commands/yammer-search.js → viva/commands/engage/engage-search.js} +23 -18
- package/dist/m365/{yammer/commands/user/user-get.js → viva/commands/engage/engage-user-get.js} +18 -13
- package/dist/m365/{yammer/commands/user/user-list.js → viva/commands/engage/engage-user-list.js} +18 -13
- package/dist/m365/{yammer/commands.js → viva/commands/engage/yammerCommands.js} +1 -1
- package/dist/m365/viva/commands.js +22 -1
- package/dist/request.js +1 -1
- package/dist/utils/{aadAdministrativeUnit.js → entraAdministrativeUnit.js} +2 -2
- package/dist/utils/{aadDevice.js → entraDevice.js} +2 -2
- package/dist/utils/{aadGroup.js → entraGroup.js} +2 -2
- package/dist/utils/{aadUser.js → entraUser.js} +38 -2
- package/dist/utils/spo.js +38 -16
- package/dist/utils/urlUtil.js +31 -0
- package/dist/utils/validation.js +8 -0
- package/docs/docs/cmd/cli/cli-consent.mdx +9 -9
- package/docs/docs/cmd/connection/connection-list.mdx +100 -0
- package/docs/docs/cmd/connection/connection-remove.mdx +45 -0
- package/docs/docs/cmd/connection/connection-set.mdx +39 -0
- package/docs/docs/cmd/connection/connection-use.mdx +98 -0
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-add.mdx +5 -3
- package/docs/docs/cmd/entra/administrativeunit/administrativeunit-member-remove.mdx +107 -0
- package/docs/docs/cmd/entra/app/app-add.mdx +2 -1
- package/docs/docs/cmd/entra/app/app-get.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-list.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-permission-add.mdx +3 -2
- package/docs/docs/cmd/entra/app/app-permission-list.mdx +105 -0
- package/docs/docs/cmd/entra/app/app-remove.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-role-add.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-role-list.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-role-remove.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-set.mdx +1 -0
- package/docs/docs/cmd/entra/{sp/sp-add.mdx → enterpriseapp/enterpriseapp-add.mdx} +16 -15
- package/docs/docs/cmd/entra/{sp/sp-get.mdx → enterpriseapp/enterpriseapp-get.mdx} +15 -14
- package/docs/docs/cmd/entra/{sp/sp-list.mdx → enterpriseapp/enterpriseapp-list.mdx} +22 -21
- package/docs/docs/cmd/entra/group/group-add.mdx +231 -0
- package/docs/docs/cmd/entra/group/group-user-add.mdx +62 -0
- package/docs/docs/cmd/entra/m365group/m365group-report-activitygroupcounts.mdx +1 -1
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-add.mdx +3 -3
- package/docs/docs/cmd/entra/oauth2grant/oauth2grant-list.mdx +1 -1
- package/docs/docs/cmd/entra/user/user-registrationdetails-list.mdx +246 -0
- package/docs/docs/cmd/external/item/item-add.mdx +1 -1
- package/docs/docs/cmd/file/convert/convert-pdf.mdx +4 -0
- package/docs/docs/cmd/file/file-add.mdx +4 -0
- package/docs/docs/cmd/file/file-copy.mdx +68 -0
- package/docs/docs/cmd/file/file-list.mdx +100 -0
- package/docs/docs/cmd/login.mdx +15 -0
- package/docs/docs/cmd/setup.mdx +4 -0
- package/docs/docs/cmd/spo/list/list-webhook-set.mdx +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-list.mdx +1 -1
- package/docs/docs/cmd/spo/spo-search.mdx +6 -2
- package/docs/docs/cmd/spo/theme/theme-set.mdx +14 -2
- package/docs/docs/cmd/{yammer/group/group-list.mdx → viva/engage/engage-group-list.mdx} +13 -13
- package/docs/docs/cmd/{yammer/group/group-user-add.mdx → viva/engage/engage-group-user-add.mdx} +7 -7
- package/docs/docs/cmd/{yammer/group/group-user-remove.mdx → viva/engage/engage-group-user-remove.mdx} +10 -10
- package/docs/docs/cmd/{yammer/message/message-add.mdx → viva/engage/engage-message-add.mdx} +12 -13
- package/docs/docs/cmd/{yammer/message/message-get.mdx → viva/engage/engage-message-get.mdx} +10 -10
- package/docs/docs/cmd/{yammer/message/message-like-set.mdx → viva/engage/engage-message-like-set.mdx} +10 -10
- package/docs/docs/cmd/{yammer/message/message-list.mdx → viva/engage/engage-message-list.mdx} +21 -21
- package/docs/docs/cmd/{yammer/message/message-remove.mdx → viva/engage/engage-message-remove.mdx} +10 -10
- package/docs/docs/cmd/{yammer/network/network-list.mdx → viva/engage/engage-network-list.mdx} +6 -6
- package/docs/docs/cmd/{yammer/report/report-activitycounts.mdx → viva/engage/engage-report-activitycounts.mdx} +9 -9
- package/docs/docs/cmd/{yammer/report/report-activityusercounts.mdx → viva/engage/engage-report-activityusercounts.mdx} +9 -9
- package/docs/docs/cmd/{yammer/report/report-activityuserdetail.mdx → viva/engage/engage-report-activityuserdetail.mdx} +11 -12
- package/docs/docs/cmd/{yammer/report/report-deviceusagedistributionusercounts.mdx → viva/engage/engage-report-deviceusagedistributionusercounts.mdx} +5 -5
- package/docs/docs/cmd/{yammer/report/report-deviceusageusercounts.mdx → viva/engage/engage-report-deviceusageusercounts.mdx} +5 -5
- package/docs/docs/cmd/{yammer/report/report-deviceusageuserdetail.mdx → viva/engage/engage-report-deviceusageuserdetail.mdx} +11 -11
- package/docs/docs/cmd/{yammer/report/report-groupsactivitycounts.mdx → viva/engage/engage-report-groupsactivitycounts.mdx} +9 -9
- package/docs/docs/cmd/{yammer/report/report-groupsactivitydetail.mdx → viva/engage/engage-report-groupsactivitydetail.mdx} +11 -11
- package/docs/docs/cmd/{yammer/report/report-groupsactivitygroupcounts.mdx → viva/engage/engage-report-groupsactivitygroupcounts.mdx} +5 -5
- package/docs/docs/cmd/{yammer/yammer-search.mdx → viva/engage/engage-search.mdx} +10 -10
- package/docs/docs/cmd/{yammer/user/user-get.mdx → viva/engage/engage-user-get.mdx} +8 -8
- package/docs/docs/cmd/{yammer/user/user-list.mdx → viva/engage/engage-user-list.mdx} +11 -11
- package/npm-shrinkwrap.json +228 -166
- package/package.json +20 -19
- package/dist/m365/base/AzmgmtCommand.js +0 -18
- package/dist/m365/base/AzmgmtItemsListCommand.js +0 -41
- package/dist/m365/yammer/commands/report/report-activitycounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-activityusercounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-activityuserdetail.js +0 -15
- package/dist/m365/yammer/commands/report/report-deviceusagedistributionusercounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-deviceusageusercounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-deviceusageuserdetail.js +0 -15
- package/dist/m365/yammer/commands/report/report-groupsactivitycounts.js +0 -15
- package/dist/m365/yammer/commands/report/report-groupsactivitydetail.js +0 -15
- package/dist/m365/yammer/commands/report/report-groupsactivitygroupcounts.js +0 -15
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _PlannerTaskAddCommand_instances, _PlannerTaskAddCommand_initTelemetry, _PlannerTaskAddCommand_initOptions, _PlannerTaskAddCommand_initValidators, _PlannerTaskAddCommand_initOptionSets, _PlannerTaskAddCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { planner } from '../../../../utils/planner.js';
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -156,7 +156,7 @@ class PlannerTaskAddCommand extends GraphCommand {
|
|
|
156
156
|
if (args.options.ownerGroupId) {
|
|
157
157
|
return args.options.ownerGroupId;
|
|
158
158
|
}
|
|
159
|
-
const group = await
|
|
159
|
+
const group = await entraGroup.getGroupByDisplayName(args.options.ownerGroupName);
|
|
160
160
|
return group.id;
|
|
161
161
|
}
|
|
162
162
|
async getUserIds(options) {
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _PlannerTaskGetCommand_instances, _PlannerTaskGetCommand_initTelemetry, _PlannerTaskGetCommand_initOptions, _PlannerTaskGetCommand_initValidators, _PlannerTaskGetCommand_initOptionSets, _PlannerTaskGetCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { planner } from '../../../../utils/planner.js';
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -129,7 +129,7 @@ class PlannerTaskGetCommand extends GraphCommand {
|
|
|
129
129
|
if (options.ownerGroupId) {
|
|
130
130
|
return options.ownerGroupId;
|
|
131
131
|
}
|
|
132
|
-
const group = await
|
|
132
|
+
const group = await entraGroup.getGroupByDisplayName(options.ownerGroupName);
|
|
133
133
|
return group.id;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _PlannerTaskListCommand_instances, _PlannerTaskListCommand_initTelemetry, _PlannerTaskListCommand_initOptions, _PlannerTaskListCommand_initValidators, _PlannerTaskListCommand_initOptionSets, _PlannerTaskListCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { odata } from '../../../../utils/odata.js';
|
|
11
11
|
import { planner } from '../../../../utils/planner.js';
|
|
@@ -107,7 +107,7 @@ class PlannerTaskListCommand extends GraphCommand {
|
|
|
107
107
|
if (args.options.ownerGroupId) {
|
|
108
108
|
return formatting.encodeQueryParameter(args.options.ownerGroupId);
|
|
109
109
|
}
|
|
110
|
-
const group = await
|
|
110
|
+
const group = await entraGroup.getGroupByDisplayName(args.options.ownerGroupName);
|
|
111
111
|
return group.id;
|
|
112
112
|
}
|
|
113
113
|
mergeTaskPriority(taskItems, betaTaskItems) {
|
|
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
var _PlannerTaskRemoveCommand_instances, _PlannerTaskRemoveCommand_initTelemetry, _PlannerTaskRemoveCommand_initOptions, _PlannerTaskRemoveCommand_initValidators, _PlannerTaskRemoveCommand_initOptionSets, _PlannerTaskRemoveCommand_initTypes;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
|
-
import {
|
|
9
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
10
10
|
import { odata } from '../../../../utils/odata.js';
|
|
11
11
|
import { planner } from '../../../../utils/planner.js';
|
|
12
12
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -127,7 +127,7 @@ class PlannerTaskRemoveCommand extends GraphCommand {
|
|
|
127
127
|
if (ownerGroupId) {
|
|
128
128
|
return ownerGroupId;
|
|
129
129
|
}
|
|
130
|
-
const group = await
|
|
130
|
+
const group = await entraGroup.getGroupByDisplayName(ownerGroupName);
|
|
131
131
|
return group.id;
|
|
132
132
|
}
|
|
133
133
|
}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _PlannerTaskSetCommand_instances, _PlannerTaskSetCommand_initTelemetry, _PlannerTaskSetCommand_initOptions, _PlannerTaskSetCommand_initValidators, _PlannerTaskSetCommand_initOptionSets, _PlannerTaskSetCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { planner } from '../../../../utils/planner.js';
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -186,7 +186,7 @@ class PlannerTaskSetCommand extends GraphCommand {
|
|
|
186
186
|
if (options.ownerGroupId) {
|
|
187
187
|
return options.ownerGroupId;
|
|
188
188
|
}
|
|
189
|
-
const group = await
|
|
189
|
+
const group = await entraGroup.getGroupByDisplayName(options.ownerGroupName);
|
|
190
190
|
return group.id;
|
|
191
191
|
}
|
|
192
192
|
mapRequestBody(options, appliedCategories) {
|
|
@@ -44,7 +44,7 @@ class PurviewAuditLogListCommand extends O365MgmtCommand {
|
|
|
44
44
|
if (this.verbose) {
|
|
45
45
|
await logger.logToStderr(`Getting audit logs for content type '${args.options.contentType}' within a time frame from '${startTime.toISOString()}' to '${endTime.toISOString()}'.`);
|
|
46
46
|
}
|
|
47
|
-
const tenantId = accessToken.getTenantIdFromAccessToken(Auth.
|
|
47
|
+
const tenantId = accessToken.getTenantIdFromAccessToken(Auth.connection.accessTokens[Auth.defaultResource].accessToken);
|
|
48
48
|
const contentTypeValue = args.options.contentType === 'DLP' ? 'DLP.All' : 'Audit.' + args.options.contentType;
|
|
49
49
|
await this.ensureSubscription(tenantId, contentTypeValue);
|
|
50
50
|
if (this.verbose) {
|
|
@@ -25,7 +25,7 @@ class PurviewSensitivityLabelGetCommand extends GraphCommand {
|
|
|
25
25
|
__classPrivateFieldGet(this, _PurviewSensitivityLabelGetCommand_instances, "m", _PurviewSensitivityLabelGetCommand_initValidators).call(this);
|
|
26
26
|
}
|
|
27
27
|
async commandAction(logger, args) {
|
|
28
|
-
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.
|
|
28
|
+
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.connection.accessTokens[this.resource].accessToken);
|
|
29
29
|
if (isAppOnlyAccessToken && !args.options.userId && !args.options.userName) {
|
|
30
30
|
this.handleError(`Specify at least 'userId' or 'userName' when using application permissions.`);
|
|
31
31
|
}
|
|
@@ -28,7 +28,7 @@ class PurviewSensitivityLabelListCommand extends GraphCommand {
|
|
|
28
28
|
return ['id', 'name', 'isActive'];
|
|
29
29
|
}
|
|
30
30
|
async commandAction(logger, args) {
|
|
31
|
-
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.
|
|
31
|
+
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.connection.accessTokens[this.resource].accessToken);
|
|
32
32
|
if (isAppOnlyAccessToken && !args.options.userId && !args.options.userName) {
|
|
33
33
|
this.handleError(`Specify at least 'userId' or 'userName' when using application permissions.`);
|
|
34
34
|
}
|
|
@@ -25,7 +25,7 @@ class PurviewSensitivityLabelPolicySettingsListCommand extends GraphCommand {
|
|
|
25
25
|
__classPrivateFieldGet(this, _PurviewSensitivityLabelPolicySettingsListCommand_instances, "m", _PurviewSensitivityLabelPolicySettingsListCommand_initValidators).call(this);
|
|
26
26
|
}
|
|
27
27
|
async commandAction(logger, args) {
|
|
28
|
-
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.
|
|
28
|
+
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.connection.accessTokens[this.resource].accessToken);
|
|
29
29
|
if (isAppOnlyAccessToken && !args.options.userId && !args.options.userName) {
|
|
30
30
|
this.handleError(`Specify at least 'userId' or 'userName' when using application permissions.`);
|
|
31
31
|
}
|
|
@@ -13,11 +13,11 @@ export const workflow = {
|
|
|
13
13
|
steps: [
|
|
14
14
|
{
|
|
15
15
|
name: "Checkout",
|
|
16
|
-
uses: "actions/checkout@
|
|
16
|
+
uses: "actions/checkout@v4"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
name: "Use Node.js",
|
|
20
|
-
uses: "actions/setup-node@
|
|
20
|
+
uses: "actions/setup-node@v4",
|
|
21
21
|
with: {
|
|
22
22
|
"node-version": "18.x"
|
|
23
23
|
}
|
|
@@ -36,7 +36,8 @@ export const workflow = {
|
|
|
36
36
|
with: {
|
|
37
37
|
"CERTIFICATE_ENCODED": "${{ secrets.CERTIFICATE_ENCODED }}",
|
|
38
38
|
"CERTIFICATE_PASSWORD": "${{ secrets.CERTIFICATE_PASSWORD }}",
|
|
39
|
-
"APP_ID": "${{ secrets.APP_ID }}"
|
|
39
|
+
"APP_ID": "${{ secrets.APP_ID }}",
|
|
40
|
+
"TENANT": "${{ secrets.TENANT_ID }}"
|
|
40
41
|
}
|
|
41
42
|
},
|
|
42
43
|
{
|
|
@@ -55,7 +55,7 @@ class SpfxProjectGithubWorkflowAddCommand extends BaseProjectCommand {
|
|
|
55
55
|
fs.writeFileSync(path.resolve(workflowFile), yaml.stringify(workflow), 'utf-8');
|
|
56
56
|
}
|
|
57
57
|
updateWorkflow(solutionName, workflow, options) {
|
|
58
|
-
workflow.name = workflow.name.replace('{{ name }}',
|
|
58
|
+
workflow.name = options.name ? options.name : workflow.name.replace('{{ name }}', solutionName);
|
|
59
59
|
if (options.branchName) {
|
|
60
60
|
workflow.on.push.branches[0] = options.branchName;
|
|
61
61
|
}
|
|
@@ -5,8 +5,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _SpoGroupMemberAddCommand_instances, _SpoGroupMemberAddCommand_initTelemetry, _SpoGroupMemberAddCommand_initOptions, _SpoGroupMemberAddCommand_initValidators, _SpoGroupMemberAddCommand_initOptionSets;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
|
+
import { entraUser } from '../../../../utils/entraUser.js';
|
|
10
10
|
import { formatting } from '../../../../utils/formatting.js';
|
|
11
11
|
import { spo } from '../../../../utils/spo.js';
|
|
12
12
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -111,14 +111,14 @@ class SpoGroupMemberAddCommand extends SpoCommand {
|
|
|
111
111
|
if (this.verbose) {
|
|
112
112
|
await logger.logToStderr(`Getting ID of Azure AD group ${trimmedIdentifier}`);
|
|
113
113
|
}
|
|
114
|
-
const groupId = await
|
|
114
|
+
const groupId = await entraGroup.getGroupIdByDisplayName(trimmedIdentifier);
|
|
115
115
|
validUserNames.push(groupId);
|
|
116
116
|
}
|
|
117
117
|
else {
|
|
118
118
|
if (this.verbose) {
|
|
119
119
|
await logger.logToStderr(`Getting Azure AD ID for user ${trimmedIdentifier}`);
|
|
120
120
|
}
|
|
121
|
-
const upn = await
|
|
121
|
+
const upn = await entraUser.getUserIdByEmail(trimmedIdentifier);
|
|
122
122
|
validUserNames.push(upn);
|
|
123
123
|
}
|
|
124
124
|
}
|
|
@@ -8,7 +8,7 @@ import { cli } from '../../../../cli/cli.js';
|
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
|
-
import
|
|
11
|
+
import entraUserGetCommand from '../../../entra/commands/user/user-get.js';
|
|
12
12
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
13
13
|
import commands from '../../commands.js';
|
|
14
14
|
import SpoGroupMemberListCommand from './group-member-list.js';
|
|
@@ -40,7 +40,7 @@ class SpoGroupMemberRemoveCommand extends SpoCommand {
|
|
|
40
40
|
debug: args.options.debug,
|
|
41
41
|
verbose: args.options.verbose
|
|
42
42
|
};
|
|
43
|
-
const userGetOutput = await cli.executeCommandWithOutput(
|
|
43
|
+
const userGetOutput = await cli.executeCommandWithOutput(entraUserGetCommand, { options: { ...options, _: [] } });
|
|
44
44
|
const userOutput = JSON.parse(userGetOutput.stdout);
|
|
45
45
|
return userOutput.userPrincipalName;
|
|
46
46
|
}
|
|
@@ -7,7 +7,7 @@ var _SpoGroupSetCommand_instances, _SpoGroupSetCommand_initTelemetry, _SpoGroupS
|
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
|
-
import
|
|
10
|
+
import entraUserGetCommand from '../../../entra/commands/user/user-get.js';
|
|
11
11
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
12
12
|
import commands from '../../commands.js';
|
|
13
13
|
class SpoGroupSetCommand extends SpoCommand {
|
|
@@ -77,7 +77,7 @@ class SpoGroupSetCommand extends SpoCommand {
|
|
|
77
77
|
debug: options.debug,
|
|
78
78
|
verbose: options.verbose
|
|
79
79
|
};
|
|
80
|
-
const output = await cli.executeCommandWithOutput(
|
|
80
|
+
const output = await cli.executeCommandWithOutput(entraUserGetCommand, { options: { ...cmdOptions, _: [] } });
|
|
81
81
|
const getUserOutput = JSON.parse(output.stdout);
|
|
82
82
|
const requestOptions = {
|
|
83
83
|
url: `${options.webUrl}/_api/web/ensureUser('${getUserOutput.userPrincipalName}')?$select=Id`,
|
|
@@ -8,7 +8,7 @@ import chalk from 'chalk';
|
|
|
8
8
|
import { cli } from '../../../../cli/cli.js';
|
|
9
9
|
import config from '../../../../config.js';
|
|
10
10
|
import request from '../../../../request.js';
|
|
11
|
-
import {
|
|
11
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
12
12
|
import { formatting } from '../../../../utils/formatting.js';
|
|
13
13
|
import { spo } from '../../../../utils/spo.js';
|
|
14
14
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -57,7 +57,7 @@ class SpoSiteRemoveCommand extends SpoCommand {
|
|
|
57
57
|
await logger.logToStderr(`Site attached to group ${groupId}. Initiating group delete operation via Graph API`);
|
|
58
58
|
}
|
|
59
59
|
try {
|
|
60
|
-
const group = await
|
|
60
|
+
const group = await entraGroup.getGroupById(groupId);
|
|
61
61
|
if (args.options.skipRecycleBin || args.options.wait) {
|
|
62
62
|
await logger.logToStderr(chalk.yellow(`Entered site is a groupified site. Hence, the parameters 'skipRecycleBin' and 'wait' will not be applicable.`));
|
|
63
63
|
}
|
|
@@ -12,7 +12,7 @@ import { formatting } from '../../../../utils/formatting.js';
|
|
|
12
12
|
import { spo } from '../../../../utils/spo.js';
|
|
13
13
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
14
14
|
import { validation } from '../../../../utils/validation.js';
|
|
15
|
-
import
|
|
15
|
+
import entraM365GroupSetCommand from '../../../entra/commands/m365group/m365group-set.js';
|
|
16
16
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
17
17
|
import commands from '../../commands.js';
|
|
18
18
|
import { SharingCapabilities } from '../site/SharingCapabilities.js';
|
|
@@ -243,7 +243,7 @@ class SpoSiteSetCommand extends SpoCommand {
|
|
|
243
243
|
debug: this.debug,
|
|
244
244
|
verbose: this.verbose
|
|
245
245
|
};
|
|
246
|
-
promises.push(cli.executeCommand(
|
|
246
|
+
promises.push(cli.executeCommand(entraM365GroupSetCommand, { options: { ...commandOptions, _: [] } }));
|
|
247
247
|
}
|
|
248
248
|
if (args.options.description) {
|
|
249
249
|
promises.push(this.setGroupifiedSiteDescription(args.options.description));
|
|
@@ -10,7 +10,7 @@ class SpoGetCommand extends SpoCommand {
|
|
|
10
10
|
}
|
|
11
11
|
async commandAction(logger) {
|
|
12
12
|
const spoContext = {
|
|
13
|
-
SpoUrl: auth.
|
|
13
|
+
SpoUrl: auth.connection.spoUrl ? auth.connection.spoUrl : ''
|
|
14
14
|
};
|
|
15
15
|
await logger.log(spoContext);
|
|
16
16
|
}
|
|
@@ -38,16 +38,15 @@ class SpoSearchCommand extends SpoCommand {
|
|
|
38
38
|
if (this.verbose) {
|
|
39
39
|
await logger.logToStderr(`Executing search query '${args.options.queryText}' on site at ${webUrl}...`);
|
|
40
40
|
}
|
|
41
|
-
const
|
|
42
|
-
const results = await this.executeSearchQuery(logger, args, webUrl, [], startRow);
|
|
41
|
+
const results = await this.executeSearchQuery(logger, args, webUrl, []);
|
|
43
42
|
this.printResults(logger, args, results);
|
|
44
43
|
}
|
|
45
44
|
catch (err) {
|
|
46
45
|
this.handleRejectedODataJsonPromise(err);
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
|
-
async executeSearchQuery(logger, args, webUrl, resultSet,
|
|
50
|
-
const requestUrl = await this.getRequestUrl(webUrl, logger, args,
|
|
48
|
+
async executeSearchQuery(logger, args, webUrl, resultSet, lastDocId = '0') {
|
|
49
|
+
const requestUrl = await this.getRequestUrl(webUrl, logger, args, lastDocId);
|
|
51
50
|
const requestOptions = {
|
|
52
51
|
url: requestUrl,
|
|
53
52
|
headers: {
|
|
@@ -57,26 +56,36 @@ class SpoSearchCommand extends SpoCommand {
|
|
|
57
56
|
};
|
|
58
57
|
const searchResult = await request.get(requestOptions);
|
|
59
58
|
resultSet.push(searchResult);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
const rowLimit = args.options.rowLimit ? args.options.rowLimit : 500;
|
|
60
|
+
if (args.options.allResults && searchResult.PrimaryQueryResult.RelevantResults.RowCount === rowLimit) {
|
|
61
|
+
if (this.verbose) {
|
|
62
|
+
await logger.logToStderr(`Processing search query, retrieved ${resultSet.length * searchResult.PrimaryQueryResult.RelevantResults.RowCount} of ${resultSet[0].PrimaryQueryResult.RelevantResults.TotalRows} items...`);
|
|
63
|
+
}
|
|
64
|
+
// When running in allResults mode, paging is done using the DocId property
|
|
65
|
+
// This is a more stable way than using the StartRow property.
|
|
66
|
+
// Explanation: https://learn.microsoft.com/sharepoint/dev/general-development/pagination-for-large-result-sets
|
|
67
|
+
const lastRow = searchResult.PrimaryQueryResult.RelevantResults.Table.Rows[searchResult.PrimaryQueryResult.RelevantResults.RowCount - 1];
|
|
68
|
+
const newLastDocId = lastRow.Cells.filter(cell => cell.Key === 'DocId')[0].Value;
|
|
69
|
+
return this.executeSearchQuery(logger, args, webUrl, resultSet, newLastDocId);
|
|
63
70
|
}
|
|
64
71
|
return resultSet;
|
|
65
72
|
}
|
|
66
|
-
async getRequestUrl(webUrl, logger, args,
|
|
73
|
+
async getRequestUrl(webUrl, logger, args, lastDocId) {
|
|
67
74
|
// get the list of selected properties
|
|
68
75
|
const selectPropertiesArray = this.getSelectPropertiesArray(args);
|
|
76
|
+
// get the sort list
|
|
77
|
+
const sortList = this.getSortList(args);
|
|
69
78
|
// transform arg data to query string parameters
|
|
70
|
-
const propertySelectRequestString = `&selectproperties='${formatting.encodeQueryParameter(selectPropertiesArray.join(
|
|
71
|
-
const startRowRequestString = `&startrow=${startRow ? startRow : 0}`;
|
|
72
|
-
const rowLimitRequestString = args.options.rowLimit ? `&rowlimit=${args.options.rowLimit}` :
|
|
79
|
+
const propertySelectRequestString = `&selectproperties='${formatting.encodeQueryParameter(selectPropertiesArray.join(','))}'`;
|
|
80
|
+
const startRowRequestString = `&startrow=${args.options.startRow ? args.options.startRow : 0}`;
|
|
81
|
+
const rowLimitRequestString = args.options.rowLimit ? `&rowlimit=${args.options.rowLimit}` : (args.options.allResults ? `&rowlimit=500` : '');
|
|
73
82
|
const sourceIdRequestString = args.options.sourceId ? `&sourceid='${args.options.sourceId}'` : ``;
|
|
74
|
-
const trimDuplicatesRequestString = `&trimduplicates=${args.options.trimDuplicates ? args.options.trimDuplicates :
|
|
75
|
-
const enableStemmingRequestString = `&enablestemming=${typeof (args.options.enableStemming) === 'undefined' ?
|
|
83
|
+
const trimDuplicatesRequestString = `&trimduplicates=${args.options.trimDuplicates ? args.options.trimDuplicates : 'false'}`;
|
|
84
|
+
const enableStemmingRequestString = `&enablestemming=${typeof (args.options.enableStemming) === 'undefined' ? 'true' : args.options.enableStemming}`;
|
|
76
85
|
const cultureRequestString = args.options.culture ? `&culture=${args.options.culture}` : ``;
|
|
77
86
|
const refinementFiltersRequestString = args.options.refinementFilters ? `&refinementfilters='${args.options.refinementFilters}'` : ``;
|
|
78
87
|
const queryTemplateRequestString = args.options.queryTemplate ? `&querytemplate='${args.options.queryTemplate}'` : ``;
|
|
79
|
-
const sortListRequestString =
|
|
88
|
+
const sortListRequestString = sortList ? `&sortList='${sortList}'` : ``;
|
|
80
89
|
const rankingModelIdRequestString = args.options.rankingModelId ? `&rankingmodelid='${args.options.rankingModelId}'` : ``;
|
|
81
90
|
const propertiesRequestString = this.getPropertiesRequestString(args);
|
|
82
91
|
const refinersRequestString = args.options.refiners ? `&refiners='${args.options.refiners}'` : ``;
|
|
@@ -86,8 +95,9 @@ class SpoSearchCommand extends SpoCommand {
|
|
|
86
95
|
const processBestBetsRequestString = typeof (args.options.processBestBets) === 'undefined' ? `` : `&processbestbets=${args.options.processBestBets}`;
|
|
87
96
|
const enableQueryRulesRequestString = typeof (args.options.enableQueryRules) === 'undefined' ? `` : `&enablequeryrules=${args.options.enableQueryRules}`;
|
|
88
97
|
const processPersonalFavoritesRequestString = typeof (args.options.processPersonalFavorites) === 'undefined' ? `` : `&processpersonalfavorites=${args.options.processPersonalFavorites}`;
|
|
98
|
+
const indexDocIdQueryText = args.options.allResults ? ` IndexDocId>${lastDocId}` : '';
|
|
89
99
|
// construct single requestUrl
|
|
90
|
-
const requestUrl = `${webUrl}/_api/search/query?querytext='${args.options.queryText}'`.concat(propertySelectRequestString, startRowRequestString, rowLimitRequestString, sourceIdRequestString, trimDuplicatesRequestString, enableStemmingRequestString, cultureRequestString, refinementFiltersRequestString, queryTemplateRequestString, sortListRequestString, rankingModelIdRequestString, propertiesRequestString, refinersRequestString, hiddenConstraintsRequestString, clientTypeRequestString, enablePhoneticRequestString, processBestBetsRequestString, enableQueryRulesRequestString, processPersonalFavoritesRequestString);
|
|
100
|
+
const requestUrl = `${webUrl}/_api/search/query?querytext='${args.options.queryText}${indexDocIdQueryText}'`.concat(propertySelectRequestString, startRowRequestString, rowLimitRequestString, sourceIdRequestString, trimDuplicatesRequestString, enableStemmingRequestString, cultureRequestString, refinementFiltersRequestString, queryTemplateRequestString, sortListRequestString, rankingModelIdRequestString, propertiesRequestString, refinersRequestString, hiddenConstraintsRequestString, clientTypeRequestString, enablePhoneticRequestString, processBestBetsRequestString, enableQueryRulesRequestString, processPersonalFavoritesRequestString);
|
|
91
101
|
if (this.debug) {
|
|
92
102
|
await logger.logToStderr(`RequestURL: ${requestUrl}`);
|
|
93
103
|
}
|
|
@@ -96,7 +106,7 @@ class SpoSearchCommand extends SpoCommand {
|
|
|
96
106
|
getPropertiesRequestString(args) {
|
|
97
107
|
let properties = args.options.properties ? args.options.properties : '';
|
|
98
108
|
if (args.options.sourceName) {
|
|
99
|
-
if (properties && !properties.endsWith(
|
|
109
|
+
if (properties && !properties.endsWith(',')) {
|
|
100
110
|
properties += `,`;
|
|
101
111
|
}
|
|
102
112
|
properties += `SourceName:${args.options.sourceName},SourceLevel:SPSite`;
|
|
@@ -104,9 +114,26 @@ class SpoSearchCommand extends SpoCommand {
|
|
|
104
114
|
return properties ? `&properties='${properties}'` : ``;
|
|
105
115
|
}
|
|
106
116
|
getSelectPropertiesArray(args) {
|
|
107
|
-
|
|
108
|
-
? args.options.selectProperties.split(
|
|
109
|
-
: [
|
|
117
|
+
const selectProperties = args.options.selectProperties
|
|
118
|
+
? args.options.selectProperties.split(',')
|
|
119
|
+
: ['Title', 'OriginalPath'];
|
|
120
|
+
if (args.options.allResults) {
|
|
121
|
+
selectProperties.filter(p => p.toLowerCase() !== 'docid').push('DocId');
|
|
122
|
+
}
|
|
123
|
+
return selectProperties;
|
|
124
|
+
}
|
|
125
|
+
getSortList(args) {
|
|
126
|
+
const sortList = [];
|
|
127
|
+
if (args.options.allResults) {
|
|
128
|
+
sortList.push(formatting.encodeQueryParameter('[DocId]:ascending'));
|
|
129
|
+
}
|
|
130
|
+
if (args.options.sortList) {
|
|
131
|
+
const sortListArray = args.options.sortList.split(',');
|
|
132
|
+
sortListArray.forEach(sortItem => {
|
|
133
|
+
sortList.push(formatting.encodeQueryParameter(sortItem));
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return sortList.join(',');
|
|
110
137
|
}
|
|
111
138
|
async printResults(logger, args, results) {
|
|
112
139
|
if (args.options.rawOutput) {
|
|
@@ -116,9 +143,9 @@ class SpoSearchCommand extends SpoCommand {
|
|
|
116
143
|
await logger.log(this.getParsedOutput(args, results));
|
|
117
144
|
}
|
|
118
145
|
if (!args.options.output || cli.shouldTrimOutput(args.options.output)) {
|
|
119
|
-
await logger.log(
|
|
120
|
-
await logger.log(
|
|
121
|
-
await logger.log(
|
|
146
|
+
await logger.log('# Rows: ' + results[results.length - 1].PrimaryQueryResult.RelevantResults.TotalRows);
|
|
147
|
+
await logger.log('# Rows (Including duplicates): ' + results[results.length - 1].PrimaryQueryResult.RelevantResults.TotalRowsIncludingDuplicates);
|
|
148
|
+
await logger.log('Elapsed Time: ' + this.getElapsedTime(results));
|
|
122
149
|
}
|
|
123
150
|
}
|
|
124
151
|
getElapsedTime(results) {
|
|
@@ -245,6 +272,9 @@ _SpoSearchCommand_instances = new WeakSet(), _SpoSearchCommand_initTelemetry = f
|
|
|
245
272
|
if (args.options.startRow && !isNumber(args.options.startRow)) {
|
|
246
273
|
return `${args.options.startRow} is not a valid number`;
|
|
247
274
|
}
|
|
275
|
+
if (args.options.startRow && args.options.allResults) {
|
|
276
|
+
return 'You cannot specify startRow when allResults is set';
|
|
277
|
+
}
|
|
248
278
|
if (args.options.culture && !isNumber(args.options.culture)) {
|
|
249
279
|
return `${args.options.culture} is not a valid number`;
|
|
250
280
|
}
|
|
@@ -22,7 +22,7 @@ class SpoSetCommand extends SpoCommand {
|
|
|
22
22
|
__classPrivateFieldGet(this, _SpoSetCommand_instances, "m", _SpoSetCommand_initValidators).call(this);
|
|
23
23
|
}
|
|
24
24
|
async commandAction(logger, args) {
|
|
25
|
-
auth.
|
|
25
|
+
auth.connection.spoUrl = args.options.url;
|
|
26
26
|
try {
|
|
27
27
|
await auth.storeConnectionInfo();
|
|
28
28
|
}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _SpoUserEnsureCommand_instances, _SpoUserEnsureCommand_initTelemetry, _SpoUserEnsureCommand_initOptions, _SpoUserEnsureCommand_initValidators, _SpoUserEnsureCommand_initOptionSets;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraUser } from '../../../../utils/entraUser.js';
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
11
11
|
import commands from '../../commands.js';
|
|
@@ -55,7 +55,7 @@ class SpoUserEnsureCommand extends SpoCommand {
|
|
|
55
55
|
if (this.verbose) {
|
|
56
56
|
await logger.logToStderr(`Retrieving user principal name for user with id ${entraId}`);
|
|
57
57
|
}
|
|
58
|
-
return await
|
|
58
|
+
return await entraUser.getUpnByUserId(entraId);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
_SpoUserEnsureCommand_instances = new WeakSet(), _SpoUserEnsureCommand_initTelemetry = function _SpoUserEnsureCommand_initTelemetry() {
|
|
@@ -8,7 +8,7 @@ import { cli } from '../../../../cli/cli.js';
|
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
|
-
import
|
|
11
|
+
import entraUserGetCommand from '../../../entra/commands/user/user-get.js';
|
|
12
12
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
13
13
|
import commands from '../../commands.js';
|
|
14
14
|
class TeamsAppInstallCommand extends GraphCommand {
|
|
@@ -70,7 +70,7 @@ class TeamsAppInstallCommand extends GraphCommand {
|
|
|
70
70
|
verbose: args.options.verbose
|
|
71
71
|
};
|
|
72
72
|
try {
|
|
73
|
-
const res = await cli.executeCommandWithOutput(
|
|
73
|
+
const res = await cli.executeCommandWithOutput(entraUserGetCommand, { options: { ...options, _: [] } });
|
|
74
74
|
if (this.verbose) {
|
|
75
75
|
await logger.logToStderr(res.stderr);
|
|
76
76
|
}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _TeamsChannelGetCommand_instances, _TeamsChannelGetCommand_initTelemetry, _TeamsChannelGetCommand_initOptions, _TeamsChannelGetCommand_initValidators, _TeamsChannelGetCommand_initOptionSets;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
11
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
@@ -30,7 +30,7 @@ class TeamsChannelGetCommand extends GraphCommand {
|
|
|
30
30
|
if (args.options.teamId) {
|
|
31
31
|
return args.options.teamId;
|
|
32
32
|
}
|
|
33
|
-
const group = await
|
|
33
|
+
const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
|
|
34
34
|
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
35
35
|
throw `The specified team does not exist in the Microsoft Teams`;
|
|
36
36
|
}
|
|
@@ -4,7 +4,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
6
|
var _TeamsChannelListCommand_instances, _TeamsChannelListCommand_initTelemetry, _TeamsChannelListCommand_initOptions, _TeamsChannelListCommand_initValidators, _TeamsChannelListCommand_initOptionSets;
|
|
7
|
-
import {
|
|
7
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
8
8
|
import { odata } from '../../../../utils/odata.js';
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
@@ -31,7 +31,7 @@ class TeamsChannelListCommand extends GraphCommand {
|
|
|
31
31
|
if (args.options.teamId) {
|
|
32
32
|
return args.options.teamId;
|
|
33
33
|
}
|
|
34
|
-
const group = await
|
|
34
|
+
const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
|
|
35
35
|
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
36
36
|
throw 'The specified team does not exist in the Microsoft Teams';
|
|
37
37
|
}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _TeamsChannelMemberAddCommand_instances, _TeamsChannelMemberAddCommand_initTelemetry, _TeamsChannelMemberAddCommand_initOptions, _TeamsChannelMemberAddCommand_initValidators, _TeamsChannelMemberAddCommand_initOptionSets;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
11
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
@@ -63,7 +63,7 @@ class TeamsChannelMemberAddCommand extends GraphCommand {
|
|
|
63
63
|
if (args.options.teamId) {
|
|
64
64
|
return args.options.teamId;
|
|
65
65
|
}
|
|
66
|
-
const group = await
|
|
66
|
+
const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
|
|
67
67
|
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
68
68
|
throw 'The specified team does not exist in the Microsoft Teams';
|
|
69
69
|
}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _TeamsChannelMemberListCommand_instances, _TeamsChannelMemberListCommand_initTelemetry, _TeamsChannelMemberListCommand_initOptions, _TeamsChannelMemberListCommand_initValidators, _TeamsChannelMemberListCommand_initOptionSets;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { odata } from '../../../../utils/odata.js';
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -55,7 +55,7 @@ class TeamsChannelMemberListCommand extends GraphCommand {
|
|
|
55
55
|
if (args.options.teamId) {
|
|
56
56
|
return args.options.teamId;
|
|
57
57
|
}
|
|
58
|
-
const group = await
|
|
58
|
+
const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
|
|
59
59
|
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
60
60
|
throw 'The specified team does not exist in the Microsoft Teams';
|
|
61
61
|
}
|
|
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
var _TeamsChannelMemberRemoveCommand_instances, _TeamsChannelMemberRemoveCommand_initTelemetry, _TeamsChannelMemberRemoveCommand_initOptions, _TeamsChannelMemberRemoveCommand_initValidators, _TeamsChannelMemberRemoveCommand_initOptionSets;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
|
-
import {
|
|
9
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
10
10
|
import { formatting } from '../../../../utils/formatting.js';
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
12
12
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
@@ -72,7 +72,7 @@ class TeamsChannelMemberRemoveCommand extends GraphCommand {
|
|
|
72
72
|
if (args.options.teamId) {
|
|
73
73
|
return args.options.teamId;
|
|
74
74
|
}
|
|
75
|
-
const group = await
|
|
75
|
+
const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
|
|
76
76
|
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
77
77
|
throw 'The specified team does not exist in the Microsoft Teams';
|
|
78
78
|
}
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _TeamsChannelMemberSetCommand_instances, _TeamsChannelMemberSetCommand_initTelemetry, _TeamsChannelMemberSetCommand_initOptions, _TeamsChannelMemberSetCommand_initValidators, _TeamsChannelMemberSetCommand_initOptionSets;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
9
9
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
11
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
@@ -56,7 +56,7 @@ class TeamsChannelMemberSetCommand extends GraphCommand {
|
|
|
56
56
|
if (args.options.teamId) {
|
|
57
57
|
return args.options.teamId;
|
|
58
58
|
}
|
|
59
|
-
const group = await
|
|
59
|
+
const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
|
|
60
60
|
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
61
61
|
throw `The specified team does not exist in the Microsoft Teams`;
|
|
62
62
|
}
|
|
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
var _TeamsChannelRemoveCommand_instances, _TeamsChannelRemoveCommand_initTelemetry, _TeamsChannelRemoveCommand_initOptions, _TeamsChannelRemoveCommand_initValidators, _TeamsChannelRemoveCommand_initOptionSets;
|
|
7
7
|
import { cli } from '../../../../cli/cli.js';
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
|
-
import {
|
|
9
|
+
import { entraGroup } from '../../../../utils/entraGroup.js';
|
|
10
10
|
import { formatting } from '../../../../utils/formatting.js';
|
|
11
11
|
import { validation } from '../../../../utils/validation.js';
|
|
12
12
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
@@ -63,7 +63,7 @@ class TeamsChannelRemoveCommand extends GraphCommand {
|
|
|
63
63
|
if (args.options.teamId) {
|
|
64
64
|
return args.options.teamId;
|
|
65
65
|
}
|
|
66
|
-
const group = await
|
|
66
|
+
const group = await entraGroup.getGroupByDisplayName(args.options.teamName);
|
|
67
67
|
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
68
68
|
throw 'The specified team does not exist';
|
|
69
69
|
}
|