@pnp/cli-microsoft365 10.0.0-beta.0b765ef → 10.0.0-beta.303b62c
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/appInsights.js +6 -4
- package/dist/m365/commands/login.js +122 -69
- package/dist/m365/commands/setup.js +1 -1
- 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 +0 -5
- 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-member-list.js +0 -5
- 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 +138 -73
- package/dist/m365/entra/commands/m365group/m365group-teamify.js +0 -5
- package/dist/m365/entra/commands/m365group/m365group-user-add.js +0 -6
- 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 +0 -5
- 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/file/commands/file-move.js +4 -4
- package/dist/m365/spo/commands/file/file-copy.js +6 -6
- package/dist/m365/spo/commands/file/file-move.js +6 -6
- package/dist/m365/spo/commands/file/file-remove.js +7 -1
- 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/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-remove.js +14 -4
- package/dist/m365/spo/commands/page/page-publish.js +54 -0
- package/dist/m365/spo/commands/tenant/tenant-site-membership-list.js +118 -0
- package/dist/m365/spo/commands/user/user-ensure.js +1 -11
- package/dist/m365/spo/commands/userprofile/userprofile-get.js +1 -1
- package/dist/m365/spo/commands.js +2 -0
- package/dist/m365/spp/commands/model/model-list.js +57 -0
- package/dist/m365/spp/commands.js +2 -1
- package/dist/m365/teams/commands/channel/channel-get.js +15 -50
- package/dist/m365/teams/commands/team/team-get.js +16 -21
- package/dist/telemetryRunner.js +2 -2
- package/dist/utils/spo.js +90 -21
- package/dist/utils/spp.js +22 -0
- package/dist/utils/teams.js +47 -5
- package/dist/utils/timersUtil.js +2 -1
- package/dist/utils/zod.js +11 -2
- 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-list.mdx +0 -6
- 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 +2 -8
- package/docs/docs/cmd/entra/m365group/m365group-set.mdx +34 -22
- package/docs/docs/cmd/entra/m365group/m365group-teamify.mdx +5 -11
- package/docs/docs/cmd/entra/m365group/m365group-user-add.mdx +5 -11
- 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/login.mdx +9 -0
- package/docs/docs/cmd/spo/file/file-move.mdx +1 -3
- 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/group/group-member-add.mdx +8 -14
- package/docs/docs/cmd/spo/group/group-member-remove.mdx +5 -11
- package/docs/docs/cmd/spo/list/list-remove.mdx +10 -1
- package/docs/docs/cmd/spo/page/page-publish.mdx +41 -0
- package/docs/docs/cmd/spo/site/site-sharingpermission-set.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-site-membership-list.mdx +122 -0
- package/docs/docs/cmd/spo/user/user-ensure.mdx +2 -5
- package/docs/docs/cmd/spp/model/model-list.mdx +140 -0
- package/npm-shrinkwrap.json +2059 -389
- package/package.json +15 -15
- package/dist/m365/entra/aadCommands.js +0 -89
- package/dist/utils/driveUtil.js +0 -51
|
@@ -10,7 +10,6 @@ import { validation } from '../../../../utils/validation.js';
|
|
|
10
10
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
11
|
import commands from '../../commands.js';
|
|
12
12
|
import auth from '../../../../Auth.js';
|
|
13
|
-
import aadCommands from '../../aadCommands.js';
|
|
14
13
|
class EntraUserLicenseListCommand extends GraphCommand {
|
|
15
14
|
get name() {
|
|
16
15
|
return commands.USER_LICENSE_LIST;
|
|
@@ -18,9 +17,6 @@ class EntraUserLicenseListCommand extends GraphCommand {
|
|
|
18
17
|
get description() {
|
|
19
18
|
return 'Lists the license details for a given user';
|
|
20
19
|
}
|
|
21
|
-
alias() {
|
|
22
|
-
return [aadCommands.USER_LICENSE_LIST];
|
|
23
|
-
}
|
|
24
20
|
defaultProperties() {
|
|
25
21
|
return ['id', 'skuId', 'skuPartNumber'];
|
|
26
22
|
}
|
|
@@ -34,7 +30,6 @@ class EntraUserLicenseListCommand extends GraphCommand {
|
|
|
34
30
|
}
|
|
35
31
|
async commandAction(logger, args) {
|
|
36
32
|
const isAppOnlyAccessToken = accessToken.isAppOnlyAccessToken(auth.connection.accessTokens[this.resource].accessToken);
|
|
37
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_LICENSE_LIST, commands.USER_LICENSE_LIST);
|
|
38
33
|
if (isAppOnlyAccessToken && !args.options.userId && !args.options.userName) {
|
|
39
34
|
this.handleError(`Specify at least 'userId' or 'userName' when using application permissions.`);
|
|
40
35
|
}
|
|
@@ -9,7 +9,6 @@ import request from '../../../../request.js';
|
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import { cli } from '../../../../cli/cli.js';
|
|
11
11
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
12
|
-
import aadCommands from '../../aadCommands.js';
|
|
13
12
|
class EntraUserLicenseRemoveCommand extends GraphCommand {
|
|
14
13
|
get name() {
|
|
15
14
|
return commands.USER_LICENSE_REMOVE;
|
|
@@ -17,9 +16,6 @@ class EntraUserLicenseRemoveCommand extends GraphCommand {
|
|
|
17
16
|
get description() {
|
|
18
17
|
return 'Removes a license from a user';
|
|
19
18
|
}
|
|
20
|
-
alias() {
|
|
21
|
-
return [aadCommands.USER_LICENSE_REMOVE];
|
|
22
|
-
}
|
|
23
19
|
constructor() {
|
|
24
20
|
super();
|
|
25
21
|
_EntraUserLicenseRemoveCommand_instances.add(this);
|
|
@@ -29,7 +25,6 @@ class EntraUserLicenseRemoveCommand extends GraphCommand {
|
|
|
29
25
|
__classPrivateFieldGet(this, _EntraUserLicenseRemoveCommand_instances, "m", _EntraUserLicenseRemoveCommand_initOptionSets).call(this);
|
|
30
26
|
}
|
|
31
27
|
async commandAction(logger, args) {
|
|
32
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_LICENSE_REMOVE, commands.USER_LICENSE_REMOVE);
|
|
33
28
|
if (this.verbose) {
|
|
34
29
|
await logger.logToStderr(`Removing the licenses for the user '${args.options.userId || args.options.userName}'...`);
|
|
35
30
|
}
|
|
@@ -8,7 +8,6 @@ import { formatting } from '../../../../utils/formatting.js';
|
|
|
8
8
|
import { odata } from '../../../../utils/odata.js';
|
|
9
9
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
10
10
|
import commands from '../../commands.js';
|
|
11
|
-
import aadCommands from '../../aadCommands.js';
|
|
12
11
|
class EntraUserListCommand extends GraphCommand {
|
|
13
12
|
get name() {
|
|
14
13
|
return commands.USER_LIST;
|
|
@@ -16,9 +15,6 @@ class EntraUserListCommand extends GraphCommand {
|
|
|
16
15
|
get description() {
|
|
17
16
|
return 'Lists users matching specified criteria';
|
|
18
17
|
}
|
|
19
|
-
alias() {
|
|
20
|
-
return [aadCommands.USER_LIST];
|
|
21
|
-
}
|
|
22
18
|
allowUnknownOptions() {
|
|
23
19
|
return true;
|
|
24
20
|
}
|
|
@@ -34,7 +30,6 @@ class EntraUserListCommand extends GraphCommand {
|
|
|
34
30
|
__classPrivateFieldGet(this, _EntraUserListCommand_instances, "m", _EntraUserListCommand_initTypes).call(this);
|
|
35
31
|
}
|
|
36
32
|
async commandAction(logger, args) {
|
|
37
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_LIST, commands.USER_LIST);
|
|
38
33
|
try {
|
|
39
34
|
let url = `${this.resource}/v1.0/users`;
|
|
40
35
|
if (args.options.properties) {
|
|
@@ -6,7 +6,6 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
var _EntraUserPasswordValidateCommand_instances, _EntraUserPasswordValidateCommand_initOptions;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
8
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
9
|
-
import aadCommands from '../../aadCommands.js';
|
|
10
9
|
import commands from '../../commands.js';
|
|
11
10
|
class EntraUserPasswordValidateCommand extends GraphCommand {
|
|
12
11
|
get name() {
|
|
@@ -15,16 +14,12 @@ class EntraUserPasswordValidateCommand extends GraphCommand {
|
|
|
15
14
|
get description() {
|
|
16
15
|
return "Check a user's password against the organization's password validation policy";
|
|
17
16
|
}
|
|
18
|
-
alias() {
|
|
19
|
-
return [aadCommands.USER_PASSWORD_VALIDATE];
|
|
20
|
-
}
|
|
21
17
|
constructor() {
|
|
22
18
|
super();
|
|
23
19
|
_EntraUserPasswordValidateCommand_instances.add(this);
|
|
24
20
|
__classPrivateFieldGet(this, _EntraUserPasswordValidateCommand_instances, "m", _EntraUserPasswordValidateCommand_initOptions).call(this);
|
|
25
21
|
}
|
|
26
22
|
async commandAction(logger, args) {
|
|
27
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_PASSWORD_VALIDATE, commands.USER_PASSWORD_VALIDATE);
|
|
28
23
|
try {
|
|
29
24
|
const requestOptions = {
|
|
30
25
|
url: `${this.resource}/beta/users/validatePassword`,
|
|
@@ -9,7 +9,6 @@ import request from '../../../../request.js';
|
|
|
9
9
|
import { odata } from '../../../../utils/odata.js';
|
|
10
10
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
11
|
import commands from '../../commands.js';
|
|
12
|
-
import aadCommands from '../../aadCommands.js';
|
|
13
12
|
class EntraUserRecycleBinItemClearCommand extends GraphCommand {
|
|
14
13
|
get name() {
|
|
15
14
|
return commands.USER_RECYCLEBINITEM_CLEAR;
|
|
@@ -17,9 +16,6 @@ class EntraUserRecycleBinItemClearCommand extends GraphCommand {
|
|
|
17
16
|
get description() {
|
|
18
17
|
return 'Removes all users from the tenant recycle bin';
|
|
19
18
|
}
|
|
20
|
-
alias() {
|
|
21
|
-
return [aadCommands.USER_RECYCLEBINITEM_CLEAR];
|
|
22
|
-
}
|
|
23
19
|
constructor() {
|
|
24
20
|
super();
|
|
25
21
|
_EntraUserRecycleBinItemClearCommand_instances.add(this);
|
|
@@ -27,7 +23,6 @@ class EntraUserRecycleBinItemClearCommand extends GraphCommand {
|
|
|
27
23
|
__classPrivateFieldGet(this, _EntraUserRecycleBinItemClearCommand_instances, "m", _EntraUserRecycleBinItemClearCommand_initOptions).call(this);
|
|
28
24
|
}
|
|
29
25
|
async commandAction(logger, args) {
|
|
30
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_RECYCLEBINITEM_CLEAR, commands.USER_RECYCLEBINITEM_CLEAR);
|
|
31
26
|
const clearRecycleBinUsers = async () => {
|
|
32
27
|
try {
|
|
33
28
|
const users = await odata.getAllItems(`${this.resource}/v1.0/directory/deletedItems/microsoft.graph.user?$select=id`);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { odata } from '../../../../utils/odata.js';
|
|
2
2
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
3
3
|
import commands from '../../commands.js';
|
|
4
|
-
import aadCommands from '../../aadCommands.js';
|
|
5
4
|
class EntraUserRecycleBinItemListCommand extends GraphCommand {
|
|
6
5
|
get name() {
|
|
7
6
|
return commands.USER_RECYCLEBINITEM_LIST;
|
|
@@ -9,14 +8,10 @@ class EntraUserRecycleBinItemListCommand extends GraphCommand {
|
|
|
9
8
|
get description() {
|
|
10
9
|
return 'Lists users from the recycle bin in the current tenant';
|
|
11
10
|
}
|
|
12
|
-
alias() {
|
|
13
|
-
return [aadCommands.USER_RECYCLEBINITEM_LIST];
|
|
14
|
-
}
|
|
15
11
|
defaultProperties() {
|
|
16
12
|
return ['id', 'displayName', 'userPrincipalName'];
|
|
17
13
|
}
|
|
18
14
|
async commandAction(logger) {
|
|
19
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_RECYCLEBINITEM_LIST, commands.USER_RECYCLEBINITEM_LIST);
|
|
20
15
|
if (this.verbose) {
|
|
21
16
|
await logger.logToStderr('Retrieving users from the recycle bin...');
|
|
22
17
|
}
|
|
@@ -8,7 +8,6 @@ import { cli } from '../../../../cli/cli.js';
|
|
|
8
8
|
import request from '../../../../request.js';
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
|
-
import aadCommands from '../../aadCommands.js';
|
|
12
11
|
import commands from '../../commands.js';
|
|
13
12
|
class EntraUserRecycleBinItemRemoveCommand extends GraphCommand {
|
|
14
13
|
get name() {
|
|
@@ -17,9 +16,6 @@ class EntraUserRecycleBinItemRemoveCommand extends GraphCommand {
|
|
|
17
16
|
get description() {
|
|
18
17
|
return 'Removes a user from the recycle bin in the current tenant';
|
|
19
18
|
}
|
|
20
|
-
alias() {
|
|
21
|
-
return [aadCommands.USER_RECYCLEBINITEM_REMOVE];
|
|
22
|
-
}
|
|
23
19
|
constructor() {
|
|
24
20
|
super();
|
|
25
21
|
_EntraUserRecycleBinItemRemoveCommand_instances.add(this);
|
|
@@ -28,7 +24,6 @@ class EntraUserRecycleBinItemRemoveCommand extends GraphCommand {
|
|
|
28
24
|
__classPrivateFieldGet(this, _EntraUserRecycleBinItemRemoveCommand_instances, "m", _EntraUserRecycleBinItemRemoveCommand_initValidators).call(this);
|
|
29
25
|
}
|
|
30
26
|
async commandAction(logger, args) {
|
|
31
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_RECYCLEBINITEM_REMOVE, commands.USER_RECYCLEBINITEM_REMOVE);
|
|
32
27
|
const clearRecycleBinItem = async () => {
|
|
33
28
|
if (this.verbose) {
|
|
34
29
|
await logger.logToStderr(`Permanently deleting user with id ${args.options.id} from Microsoft Entra ID`);
|
|
@@ -8,7 +8,6 @@ import request from '../../../../request.js';
|
|
|
8
8
|
import { validation } from '../../../../utils/validation.js';
|
|
9
9
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
10
10
|
import commands from '../../commands.js';
|
|
11
|
-
import aadCommands from '../../aadCommands.js';
|
|
12
11
|
class EntraUserRecycleBinItemRestoreCommand extends GraphCommand {
|
|
13
12
|
get name() {
|
|
14
13
|
return commands.USER_RECYCLEBINITEM_RESTORE;
|
|
@@ -16,9 +15,6 @@ class EntraUserRecycleBinItemRestoreCommand extends GraphCommand {
|
|
|
16
15
|
get description() {
|
|
17
16
|
return 'Restores a user from the tenant recycle bin';
|
|
18
17
|
}
|
|
19
|
-
alias() {
|
|
20
|
-
return [aadCommands.USER_RECYCLEBINITEM_RESTORE];
|
|
21
|
-
}
|
|
22
18
|
constructor() {
|
|
23
19
|
super();
|
|
24
20
|
_EntraUserRecycleBinItemRestoreCommand_instances.add(this);
|
|
@@ -26,7 +22,6 @@ class EntraUserRecycleBinItemRestoreCommand extends GraphCommand {
|
|
|
26
22
|
__classPrivateFieldGet(this, _EntraUserRecycleBinItemRestoreCommand_instances, "m", _EntraUserRecycleBinItemRestoreCommand_initValidators).call(this);
|
|
27
23
|
}
|
|
28
24
|
async commandAction(logger, args) {
|
|
29
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_RECYCLEBINITEM_RESTORE, commands.USER_RECYCLEBINITEM_RESTORE);
|
|
30
25
|
if (this.verbose) {
|
|
31
26
|
await logger.logToStderr(`Restoring user with id ${args.options.id} from the recycle bin.`);
|
|
32
27
|
}
|
|
@@ -6,7 +6,6 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
var _EntraUserRegistrationDetailsListCommand_instances, _EntraUserRegistrationDetailsListCommand_initTelemetry, _EntraUserRegistrationDetailsListCommand_initOptions, _EntraUserRegistrationDetailsListCommand_initValidators;
|
|
7
7
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
8
8
|
import commands from '../../commands.js';
|
|
9
|
-
import aadCommands from '../../aadCommands.js';
|
|
10
9
|
import { odata } from '../../../../utils/odata.js';
|
|
11
10
|
import { entraUser } from '../../../../utils/entraUser.js';
|
|
12
11
|
import { validation } from '../../../../utils/validation.js';
|
|
@@ -20,9 +19,6 @@ class EntraUserRegistrationDetailsListCommand extends GraphCommand {
|
|
|
20
19
|
get description() {
|
|
21
20
|
return 'Retrieves a list of the authentication methods registered for users';
|
|
22
21
|
}
|
|
23
|
-
alias() {
|
|
24
|
-
return [aadCommands.USER_REGISTRATIONDETAILS_LIST];
|
|
25
|
-
}
|
|
26
22
|
defaultProperties() {
|
|
27
23
|
return ['userPrincipalName', 'methodsRegistered', 'lastUpdatedDateTime'];
|
|
28
24
|
}
|
|
@@ -9,7 +9,6 @@ import request from '../../../../request.js';
|
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import { cli } from '../../../../cli/cli.js';
|
|
11
11
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
12
|
-
import aadCommands from '../../aadCommands.js';
|
|
13
12
|
class EntraUserRemoveCommand extends GraphCommand {
|
|
14
13
|
get name() {
|
|
15
14
|
return commands.USER_REMOVE;
|
|
@@ -17,9 +16,6 @@ class EntraUserRemoveCommand extends GraphCommand {
|
|
|
17
16
|
get description() {
|
|
18
17
|
return 'Removes a specific user';
|
|
19
18
|
}
|
|
20
|
-
alias() {
|
|
21
|
-
return [aadCommands.USER_REMOVE];
|
|
22
|
-
}
|
|
23
19
|
constructor() {
|
|
24
20
|
super();
|
|
25
21
|
_EntraUserRemoveCommand_instances.add(this);
|
|
@@ -29,7 +25,6 @@ class EntraUserRemoveCommand extends GraphCommand {
|
|
|
29
25
|
__classPrivateFieldGet(this, _EntraUserRemoveCommand_instances, "m", _EntraUserRemoveCommand_initOptionSets).call(this);
|
|
30
26
|
}
|
|
31
27
|
async commandAction(logger, args) {
|
|
32
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_REMOVE, commands.USER_REMOVE);
|
|
33
28
|
if (this.verbose) {
|
|
34
29
|
await logger.logToStderr(`Removing user '${args.options.id || args.options.userName}'...`);
|
|
35
30
|
}
|
|
@@ -10,7 +10,6 @@ import { accessToken } from '../../../../utils/accessToken.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';
|
|
13
|
-
import aadCommands from '../../aadCommands.js';
|
|
14
13
|
import commands from '../../commands.js';
|
|
15
14
|
class EntraUserSetCommand extends GraphCommand {
|
|
16
15
|
get name() {
|
|
@@ -19,9 +18,6 @@ class EntraUserSetCommand extends GraphCommand {
|
|
|
19
18
|
get description() {
|
|
20
19
|
return 'Updates information about the specified user';
|
|
21
20
|
}
|
|
22
|
-
alias() {
|
|
23
|
-
return [aadCommands.USER_SET];
|
|
24
|
-
}
|
|
25
21
|
allowUnknownOptions() {
|
|
26
22
|
return true;
|
|
27
23
|
}
|
|
@@ -35,7 +31,6 @@ class EntraUserSetCommand extends GraphCommand {
|
|
|
35
31
|
__classPrivateFieldGet(this, _EntraUserSetCommand_instances, "m", _EntraUserSetCommand_initOptionSets).call(this);
|
|
36
32
|
}
|
|
37
33
|
async commandAction(logger, args) {
|
|
38
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_SET, commands.USER_SET);
|
|
39
34
|
try {
|
|
40
35
|
if (args.options.currentPassword) {
|
|
41
36
|
if (args.options.id && args.options.id !== accessToken.getUserIdFromAccessToken(auth.connection.accessTokens[auth.defaultResource].accessToken)) {
|
|
@@ -9,7 +9,6 @@ import { odata } from '../../../../utils/odata.js';
|
|
|
9
9
|
import { validation } from '../../../../utils/validation.js';
|
|
10
10
|
import GraphCommand from '../../../base/GraphCommand.js';
|
|
11
11
|
import commands from '../../commands.js';
|
|
12
|
-
import aadCommands from '../../aadCommands.js';
|
|
13
12
|
class EntraUserSigninListCommand extends GraphCommand {
|
|
14
13
|
get name() {
|
|
15
14
|
return commands.USER_SIGNIN_LIST;
|
|
@@ -17,9 +16,6 @@ class EntraUserSigninListCommand extends GraphCommand {
|
|
|
17
16
|
get description() {
|
|
18
17
|
return 'Retrieves the Entra ID user sign-ins for the tenant';
|
|
19
18
|
}
|
|
20
|
-
alias() {
|
|
21
|
-
return [aadCommands.USER_SIGNIN_LIST];
|
|
22
|
-
}
|
|
23
19
|
constructor() {
|
|
24
20
|
super();
|
|
25
21
|
_EntraUserSigninListCommand_instances.add(this);
|
|
@@ -31,7 +27,6 @@ class EntraUserSigninListCommand extends GraphCommand {
|
|
|
31
27
|
return ['id', 'userPrincipalName', 'appId', 'appDisplayName', 'createdDateTime'];
|
|
32
28
|
}
|
|
33
29
|
async commandAction(logger, args) {
|
|
34
|
-
await this.showDeprecationWarning(logger, aadCommands.USER_SIGNIN_LIST, commands.USER_SIGNIN_LIST);
|
|
35
30
|
try {
|
|
36
31
|
let endpoint = `${this.resource}/v1.0/auditLogs/signIns`;
|
|
37
32
|
let filter = "";
|
|
@@ -10,7 +10,7 @@ import commands from '../commands.js';
|
|
|
10
10
|
import request from '../../../request.js';
|
|
11
11
|
import { spo } from '../../../utils/spo.js';
|
|
12
12
|
import { urlUtil } from '../../../utils/urlUtil.js';
|
|
13
|
-
import {
|
|
13
|
+
import { drive } from '../../../utils/drive.js';
|
|
14
14
|
import { validation } from '../../../utils/validation.js';
|
|
15
15
|
class FileMoveCommand extends GraphCommand {
|
|
16
16
|
get name() {
|
|
@@ -60,9 +60,9 @@ class FileMoveCommand extends GraphCommand {
|
|
|
60
60
|
}
|
|
61
61
|
async getDriveIdAndItemId(webUrl, folderUrl, sourceUrl, logger, verbose) {
|
|
62
62
|
const siteId = await spo.getSiteId(webUrl, logger, verbose);
|
|
63
|
-
const
|
|
64
|
-
const itemId = await
|
|
65
|
-
return { driveId:
|
|
63
|
+
const driveDetails = await drive.getDriveByUrl(siteId, new URL(folderUrl), logger, verbose);
|
|
64
|
+
const itemId = await drive.getDriveItemId(driveDetails, new URL(folderUrl), logger, verbose);
|
|
65
|
+
return { driveId: driveDetails.id, itemId };
|
|
66
66
|
}
|
|
67
67
|
getRequestOptions(sourceDriveId, sourceItemId, targetDriveId, targetItemId, newName, sourcePath, nameConflictBehavior) {
|
|
68
68
|
const apiUrl = sourceDriveId === targetDriveId
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _SpoFileCopyCommand_instances, _SpoFileCopyCommand_initTelemetry, _SpoFileCopyCommand_initOptions, _SpoFileCopyCommand_initValidators, _SpoFileCopyCommand_initOptionSets, _SpoFileCopyCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { CreateFileCopyJobsNameConflictBehavior, spo } from '../../../../utils/spo.js';
|
|
9
9
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
11
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
@@ -43,7 +43,7 @@ class SpoFileCopyCommand extends SpoCommand {
|
|
|
43
43
|
if (newName && !newName.includes('.')) {
|
|
44
44
|
newName += sourceServerRelativePath.substring(sourceServerRelativePath.lastIndexOf('.'));
|
|
45
45
|
}
|
|
46
|
-
const copyJobResponse = await spo.
|
|
46
|
+
const copyJobResponse = await spo.createFileCopyJob(args.options.webUrl, sourcePath, destinationPath, {
|
|
47
47
|
nameConflictBehavior: this.getNameConflictBehaviorValue(args.options.nameConflictBehavior),
|
|
48
48
|
bypassSharedLock: !!args.options.bypassSharedLock,
|
|
49
49
|
ignoreVersionHistory: !!args.options.ignoreVersionHistory,
|
|
@@ -97,13 +97,13 @@ class SpoFileCopyCommand extends SpoCommand {
|
|
|
97
97
|
getNameConflictBehaviorValue(nameConflictBehavior) {
|
|
98
98
|
switch (nameConflictBehavior?.toLowerCase()) {
|
|
99
99
|
case 'fail':
|
|
100
|
-
return
|
|
100
|
+
return CreateFileCopyJobsNameConflictBehavior.Fail;
|
|
101
101
|
case 'replace':
|
|
102
|
-
return
|
|
102
|
+
return CreateFileCopyJobsNameConflictBehavior.Replace;
|
|
103
103
|
case 'rename':
|
|
104
|
-
return
|
|
104
|
+
return CreateFileCopyJobsNameConflictBehavior.Rename;
|
|
105
105
|
default:
|
|
106
|
-
return
|
|
106
|
+
return CreateFileCopyJobsNameConflictBehavior.Fail;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
getAbsoluteUrl(webUrl, url) {
|
|
@@ -5,7 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _SpoFileMoveCommand_instances, _SpoFileMoveCommand_initTelemetry, _SpoFileMoveCommand_initOptions, _SpoFileMoveCommand_initValidators, _SpoFileMoveCommand_initOptionSets, _SpoFileMoveCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
-
import {
|
|
8
|
+
import { CreateFileCopyJobsNameConflictBehavior, spo } from '../../../../utils/spo.js';
|
|
9
9
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
10
10
|
import { validation } from '../../../../utils/validation.js';
|
|
11
11
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
@@ -43,7 +43,7 @@ class SpoFileMoveCommand extends SpoCommand {
|
|
|
43
43
|
if (newName && !newName.includes('.')) {
|
|
44
44
|
newName += sourceServerRelativePath.substring(sourceServerRelativePath.lastIndexOf('.'));
|
|
45
45
|
}
|
|
46
|
-
const copyJobResponse = await spo.
|
|
46
|
+
const copyJobResponse = await spo.createFileCopyJob(args.options.webUrl, sourcePath, destinationPath, {
|
|
47
47
|
nameConflictBehavior: this.getNameConflictBehaviorValue(args.options.nameConflictBehavior),
|
|
48
48
|
bypassSharedLock: !!args.options.bypassSharedLock,
|
|
49
49
|
includeItemPermissions: !!args.options.includeItemPermissions,
|
|
@@ -97,13 +97,13 @@ class SpoFileMoveCommand extends SpoCommand {
|
|
|
97
97
|
getNameConflictBehaviorValue(nameConflictBehavior) {
|
|
98
98
|
switch (nameConflictBehavior?.toLowerCase()) {
|
|
99
99
|
case 'fail':
|
|
100
|
-
return
|
|
100
|
+
return CreateFileCopyJobsNameConflictBehavior.Fail;
|
|
101
101
|
case 'replace':
|
|
102
|
-
return
|
|
102
|
+
return CreateFileCopyJobsNameConflictBehavior.Replace;
|
|
103
103
|
case 'rename':
|
|
104
|
-
return
|
|
104
|
+
return CreateFileCopyJobsNameConflictBehavior.Rename;
|
|
105
105
|
default:
|
|
106
|
-
return
|
|
106
|
+
return CreateFileCopyJobsNameConflictBehavior.Fail;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
getAbsoluteUrl(webUrl, url) {
|
|
@@ -59,6 +59,9 @@ class SpoFileRemoveCommand extends SpoCommand {
|
|
|
59
59
|
},
|
|
60
60
|
responseType: 'json'
|
|
61
61
|
};
|
|
62
|
+
if (args.options.bypassSharedLock) {
|
|
63
|
+
requestOptions.headers.Prefer = 'bypass-shared-lock';
|
|
64
|
+
}
|
|
62
65
|
try {
|
|
63
66
|
await request.post(requestOptions);
|
|
64
67
|
}
|
|
@@ -83,6 +86,7 @@ _SpoFileRemoveCommand_instances = new WeakSet(), _SpoFileRemoveCommand_initTelem
|
|
|
83
86
|
id: typeof args.options.id !== 'undefined',
|
|
84
87
|
url: typeof args.options.url !== 'undefined',
|
|
85
88
|
recycle: !!args.options.recycle,
|
|
89
|
+
bypassSharedLock: !!args.options.bypassSharedLock,
|
|
86
90
|
force: !!args.options.force
|
|
87
91
|
});
|
|
88
92
|
});
|
|
@@ -95,6 +99,8 @@ _SpoFileRemoveCommand_instances = new WeakSet(), _SpoFileRemoveCommand_initTelem
|
|
|
95
99
|
option: '--url [url]'
|
|
96
100
|
}, {
|
|
97
101
|
option: '--recycle'
|
|
102
|
+
}, {
|
|
103
|
+
option: '--bypassSharedLock'
|
|
98
104
|
}, {
|
|
99
105
|
option: '-f, --force'
|
|
100
106
|
});
|
|
@@ -114,7 +120,7 @@ _SpoFileRemoveCommand_instances = new WeakSet(), _SpoFileRemoveCommand_initTelem
|
|
|
114
120
|
this.optionSets.push({ options: ['id', 'url'] });
|
|
115
121
|
}, _SpoFileRemoveCommand_initTypes = function _SpoFileRemoveCommand_initTypes() {
|
|
116
122
|
this.types.string.push('webUrl', 'id', 'url');
|
|
117
|
-
this.types.boolean.push('recycle', 'force');
|
|
123
|
+
this.types.boolean.push('recycle', 'bypassSharedLock', 'force');
|
|
118
124
|
};
|
|
119
125
|
export default new SpoFileRemoveCommand();
|
|
120
126
|
//# sourceMappingURL=file-remove.js.map
|
|
@@ -5,6 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _SpoFolderCopyCommand_instances, _SpoFolderCopyCommand_initTelemetry, _SpoFolderCopyCommand_initOptions, _SpoFolderCopyCommand_initValidators, _SpoFolderCopyCommand_initOptionSets, _SpoFolderCopyCommand_initTypes;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
+
import { CreateFolderCopyJobsNameConflictBehavior, spo } from '../../../../utils/spo.js';
|
|
8
9
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
9
10
|
import { validation } from '../../../../utils/validation.js';
|
|
10
11
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
@@ -31,45 +32,54 @@ class SpoFolderCopyCommand extends SpoCommand {
|
|
|
31
32
|
}
|
|
32
33
|
async commandAction(logger, args) {
|
|
33
34
|
try {
|
|
34
|
-
const
|
|
35
|
+
const sourceServerRelativePath = await this.getSourcePath(logger, args.options);
|
|
36
|
+
const sourcePath = this.getAbsoluteUrl(args.options.webUrl, sourceServerRelativePath);
|
|
37
|
+
const destinationPath = this.getAbsoluteUrl(args.options.webUrl, args.options.targetUrl);
|
|
35
38
|
if (this.verbose) {
|
|
36
|
-
await logger.logToStderr(`Copying folder ${sourcePath} to ${
|
|
39
|
+
await logger.logToStderr(`Copying folder '${sourcePath}' to '${destinationPath}'...`);
|
|
37
40
|
}
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
const copyJobResponse = await spo.createFolderCopyJob(args.options.webUrl, sourcePath, destinationPath, {
|
|
42
|
+
nameConflictBehavior: this.getNameConflictBehaviorValue(args.options.nameConflictBehavior),
|
|
43
|
+
newName: args.options.newName,
|
|
44
|
+
operation: 'copy'
|
|
45
|
+
});
|
|
46
|
+
if (args.options.skipWait) {
|
|
47
|
+
return;
|
|
42
48
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
49
|
+
if (this.verbose) {
|
|
50
|
+
await logger.logToStderr('Waiting for the copy job to complete...');
|
|
51
|
+
}
|
|
52
|
+
const copyJobResult = await spo.getCopyJobResult(args.options.webUrl, copyJobResponse);
|
|
53
|
+
if (this.verbose) {
|
|
54
|
+
await logger.logToStderr('Getting information about the destination folder...');
|
|
46
55
|
}
|
|
56
|
+
// Get destination folder data
|
|
57
|
+
const siteRelativeDestinationFolder = '/' + copyJobResult.TargetObjectSiteRelativeUrl.substring(0, copyJobResult.TargetObjectSiteRelativeUrl.lastIndexOf('/'));
|
|
58
|
+
const absoluteWebUrl = destinationPath.substring(0, destinationPath.toLowerCase().lastIndexOf(siteRelativeDestinationFolder.toLowerCase()));
|
|
47
59
|
const requestOptions = {
|
|
48
|
-
url: `${
|
|
60
|
+
url: `${absoluteWebUrl}/_api/Web/GetFolderById('${copyJobResult.TargetObjectUniqueId}')`,
|
|
49
61
|
headers: {
|
|
50
62
|
accept: 'application/json;odata=nometadata'
|
|
51
63
|
},
|
|
52
|
-
responseType: 'json'
|
|
53
|
-
data: {
|
|
54
|
-
srcPath: {
|
|
55
|
-
DecodedUrl: absoluteSourcePath
|
|
56
|
-
},
|
|
57
|
-
destPath: {
|
|
58
|
-
DecodedUrl: absoluteTargetPath
|
|
59
|
-
},
|
|
60
|
-
options: {
|
|
61
|
-
KeepBoth: args.options.nameConflictBehavior === 'rename',
|
|
62
|
-
ShouldBypassSharedLocks: !!args.options.bypassSharedLock,
|
|
63
|
-
ResetAuthorAndCreatedOnCopy: !!args.options.resetAuthorAndCreated
|
|
64
|
-
}
|
|
65
|
-
}
|
|
64
|
+
responseType: 'json'
|
|
66
65
|
};
|
|
67
|
-
await request.
|
|
66
|
+
const destinationFile = await request.get(requestOptions);
|
|
67
|
+
await logger.log(destinationFile);
|
|
68
68
|
}
|
|
69
69
|
catch (err) {
|
|
70
70
|
this.handleRejectedODataJsonPromise(err);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
+
getNameConflictBehaviorValue(nameConflictBehavior) {
|
|
74
|
+
switch (nameConflictBehavior?.toLowerCase()) {
|
|
75
|
+
case 'fail':
|
|
76
|
+
return CreateFolderCopyJobsNameConflictBehavior.Fail;
|
|
77
|
+
case 'rename':
|
|
78
|
+
return CreateFolderCopyJobsNameConflictBehavior.Rename;
|
|
79
|
+
default:
|
|
80
|
+
return CreateFolderCopyJobsNameConflictBehavior.Fail;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
73
83
|
async getSourcePath(logger, options) {
|
|
74
84
|
if (options.sourceUrl) {
|
|
75
85
|
return urlUtil.getServerRelativePath(options.webUrl, options.sourceUrl);
|
|
@@ -78,17 +88,18 @@ class SpoFolderCopyCommand extends SpoCommand {
|
|
|
78
88
|
await logger.logToStderr(`Retrieving server-relative path for folder with ID '${options.sourceId}'...`);
|
|
79
89
|
}
|
|
80
90
|
const requestOptions = {
|
|
81
|
-
url: `${options.webUrl}/_api/Web/GetFolderById('${options.sourceId}')
|
|
91
|
+
url: `${options.webUrl}/_api/Web/GetFolderById('${options.sourceId}')/ServerRelativePath`,
|
|
82
92
|
headers: {
|
|
83
93
|
accept: 'application/json;odata=nometadata'
|
|
84
94
|
},
|
|
85
95
|
responseType: 'json'
|
|
86
96
|
};
|
|
87
|
-
const
|
|
88
|
-
return
|
|
97
|
+
const path = await request.get(requestOptions);
|
|
98
|
+
return path.DecodedUrl;
|
|
89
99
|
}
|
|
90
100
|
getAbsoluteUrl(webUrl, url) {
|
|
91
|
-
|
|
101
|
+
const result = url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
|
|
102
|
+
return urlUtil.removeTrailingSlashes(result);
|
|
92
103
|
}
|
|
93
104
|
}
|
|
94
105
|
_SpoFolderCopyCommand_instances = new WeakSet(), _SpoFolderCopyCommand_initTelemetry = function _SpoFolderCopyCommand_initTelemetry() {
|
|
@@ -98,8 +109,7 @@ _SpoFolderCopyCommand_instances = new WeakSet(), _SpoFolderCopyCommand_initTelem
|
|
|
98
109
|
sourceId: typeof args.options.sourceId !== 'undefined',
|
|
99
110
|
newName: typeof args.options.newName !== 'undefined',
|
|
100
111
|
nameConflictBehavior: typeof args.options.nameConflictBehavior !== 'undefined',
|
|
101
|
-
|
|
102
|
-
bypassSharedLock: !!args.options.bypassSharedLock
|
|
112
|
+
skipWait: !!args.options.skipWait
|
|
103
113
|
});
|
|
104
114
|
});
|
|
105
115
|
}, _SpoFolderCopyCommand_initOptions = function _SpoFolderCopyCommand_initOptions() {
|
|
@@ -117,9 +127,7 @@ _SpoFolderCopyCommand_instances = new WeakSet(), _SpoFolderCopyCommand_initTelem
|
|
|
117
127
|
option: '--nameConflictBehavior [nameConflictBehavior]',
|
|
118
128
|
autocomplete: this.nameConflictBehaviorOptions
|
|
119
129
|
}, {
|
|
120
|
-
option: '--
|
|
121
|
-
}, {
|
|
122
|
-
option: '--bypassSharedLock'
|
|
130
|
+
option: '--skipWait'
|
|
123
131
|
});
|
|
124
132
|
}, _SpoFolderCopyCommand_initValidators = function _SpoFolderCopyCommand_initValidators() {
|
|
125
133
|
this.validators.push(async (args) => {
|
|
@@ -139,7 +147,7 @@ _SpoFolderCopyCommand_instances = new WeakSet(), _SpoFolderCopyCommand_initTelem
|
|
|
139
147
|
this.optionSets.push({ options: ['sourceUrl', 'sourceId'] });
|
|
140
148
|
}, _SpoFolderCopyCommand_initTypes = function _SpoFolderCopyCommand_initTypes() {
|
|
141
149
|
this.types.string.push('webUrl', 'sourceUrl', 'sourceId', 'targetUrl', 'newName', 'nameConflictBehavior');
|
|
142
|
-
this.types.boolean.push('
|
|
150
|
+
this.types.boolean.push('skipWait');
|
|
143
151
|
};
|
|
144
152
|
export default new SpoFolderCopyCommand();
|
|
145
153
|
//# sourceMappingURL=folder-copy.js.map
|