@pnp/cli-microsoft365 7.0.0-beta.4ebf3ad → 7.0.0-beta.5fdb9e3
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 -1
- package/dist/Auth.js +2 -1
- package/dist/Command.js +1 -1
- package/dist/cli/Cli.js +19 -2
- package/dist/m365/aad/commands/{o365group/o365group-add.js → m365group/m365group-add.js} +17 -17
- package/dist/m365/aad/commands/{o365group/o365group-conversation-list.js → m365group/m365group-conversation-list.js} +10 -10
- package/dist/m365/aad/commands/{o365group/o365group-conversation-post-list.js → m365group/m365group-conversation-post-list.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-get.js → m365group/m365group-get.js} +13 -10
- package/dist/m365/aad/commands/{o365group/o365group-list.js → m365group/m365group-list.js} +13 -28
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-clear.js → m365group/m365group-recyclebinitem-clear.js} +15 -15
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-list.js → m365group/m365group-recyclebinitem-list.js} +10 -10
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-remove.js → m365group/m365group-recyclebinitem-remove.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-restore.js → m365group/m365group-recyclebinitem-restore.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-remove.js → m365group/m365group-remove.js} +12 -12
- package/dist/m365/aad/commands/{o365group/o365group-renew.js → m365group/m365group-renew.js} +10 -10
- package/dist/m365/aad/commands/{o365group/o365group-report-activitycounts.js → m365group/m365group-report-activitycounts.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activitydetail.js → m365group/m365group-report-activitydetail.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activityfilecounts.js → m365group/m365group-report-activityfilecounts.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activitygroupcounts.js → m365group/m365group-report-activitygroupcounts.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-report-activitystorage.js → m365group/m365group-report-activitystorage.js} +4 -4
- package/dist/m365/aad/commands/{o365group/o365group-set.js → m365group/m365group-set.js} +17 -17
- package/dist/m365/aad/commands/{o365group/o365group-teamify.js → m365group/m365group-teamify.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-user-add.js → m365group/m365group-user-add.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-user-list.js → m365group/m365group-user-list.js} +12 -12
- package/dist/m365/aad/commands/{o365group/o365group-user-remove.js → m365group/m365group-user-remove.js} +14 -14
- package/dist/m365/aad/commands/{o365group/o365group-user-set.js → m365group/m365group-user-set.js} +15 -15
- package/dist/m365/aad/commands.js +22 -22
- package/dist/m365/cli/commands/config/config-list.js +16 -0
- package/dist/m365/cli/commands.js +1 -0
- package/dist/m365/pa/commands/app/app-permission-ensure.js +162 -0
- package/dist/m365/pa/commands/app/app-permission-list.js +2 -2
- package/dist/m365/pa/commands/app/app-permission-remove.js +153 -0
- package/dist/m365/pa/commands.js +2 -0
- 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-get.js +1 -2
- package/dist/m365/planner/commands/plan/plan-list.js +4 -5
- package/dist/m365/planner/commands/plan/plan-set.js +2 -2
- package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0-beta.5.js} +1 -1
- package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
- package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +2 -2
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0-beta.5.js} +26 -26
- package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
- package/dist/m365/spfx/commands/spfx-doctor.js +76 -106
- package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +27 -26
- package/dist/m365/spo/commands/app/app-add.js +9 -9
- package/dist/m365/spo/commands/file/file-add.js +13 -13
- package/dist/m365/spo/commands/file/file-checkin.js +1 -1
- package/dist/m365/spo/commands/file/file-checkout.js +1 -1
- package/dist/m365/spo/commands/file/file-copy.js +36 -4
- package/dist/m365/spo/commands/file/file-list.js +4 -4
- package/dist/m365/spo/commands/file/file-move.js +74 -98
- package/dist/m365/spo/commands/file/file-remove.js +6 -6
- package/dist/m365/spo/commands/file/file-rename.js +2 -2
- package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
- package/dist/m365/spo/commands/file/file-version-get.js +1 -1
- package/dist/m365/spo/commands/file/file-version-list.js +1 -1
- package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
- package/dist/m365/spo/commands/folder/folder-add.js +2 -4
- package/dist/m365/spo/commands/folder/folder-copy.js +89 -45
- package/dist/m365/spo/commands/folder/folder-get.js +1 -1
- package/dist/m365/spo/commands/folder/folder-list.js +2 -2
- package/dist/m365/spo/commands/folder/folder-move.js +89 -47
- package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
- package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
- package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/group/group-list.js +0 -1
- package/dist/m365/spo/commands/navigation/navigation-node-set.js +2 -2
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +32 -3
- package/dist/m365/spo/commands/propertybag/propertybag-base.js +63 -59
- package/dist/m365/spo/commands/propertybag/propertybag-remove.js +28 -31
- package/dist/m365/spo/commands/site/FlowsPolicy.js +7 -0
- package/dist/m365/spo/commands/site/site-ensure.js +3 -3
- package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +22 -22
- package/dist/m365/spo/commands/site/site-list.js +29 -39
- package/dist/m365/spo/commands/site/site-set.js +60 -49
- package/dist/m365/spo/commands/theme/theme-list.js +1 -9
- package/dist/m365/spo/commands/theme/theme-remove.js +24 -24
- package/dist/m365/spo/commands/theme/theme-set.js +0 -1
- package/dist/m365/spo/commands/user/user-remove.js +27 -27
- package/dist/m365/spo/commands/web/web-reindex.js +35 -42
- package/dist/m365/spo/commands/web/web-remove.js +21 -21
- package/dist/m365/spo/commands/web/web-roleassignment-add.js +16 -31
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +33 -44
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +18 -18
- package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +19 -19
- package/dist/m365/yammer/commands/message/message-like-set.js +27 -28
- package/dist/m365/yammer/commands/message/message-list.js +62 -81
- package/dist/m365/yammer/commands/message/message-remove.js +18 -18
- package/dist/m365/yammer/commands/yammer-search.js +53 -69
- package/dist/utils/planner.js +4 -3
- package/dist/utils/spo.js +13 -54
- package/docs/docs/cmd/aad/{o365group/o365group-add.mdx → m365group/m365group-add.mdx} +13 -13
- package/docs/docs/cmd/aad/{o365group/o365group-conversation-list.mdx → m365group/m365group-conversation-list.mdx} +4 -4
- package/docs/docs/cmd/aad/{o365group/o365group-conversation-post-list.mdx → m365group/m365group-conversation-post-list.mdx} +8 -8
- package/docs/docs/cmd/aad/{o365group/o365group-get.mdx → m365group/m365group-get.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-list.mdx → m365group/m365group-list.mdx} +12 -29
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-clear.mdx → m365group/m365group-recyclebinitem-clear.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-list.mdx → m365group/m365group-recyclebinitem-list.mdx} +8 -8
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-remove.mdx → m365group/m365group-recyclebinitem-remove.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-restore.mdx → m365group/m365group-recyclebinitem-restore.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-remove.mdx → m365group/m365group-remove.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-renew.mdx → m365group/m365group-renew.mdx} +4 -4
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitycounts.mdx → m365group/m365group-report-activitycounts.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitydetail.mdx → m365group/m365group-report-activitydetail.mdx} +7 -7
- package/docs/docs/cmd/aad/{o365group/o365group-report-activityfilecounts.mdx → m365group/m365group-report-activityfilecounts.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitygroupcounts.mdx → m365group/m365group-report-activitygroupcounts.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-report-activitystorage.mdx → m365group/m365group-report-activitystorage.mdx} +6 -6
- package/docs/docs/cmd/aad/{o365group/o365group-set.mdx → m365group/m365group-set.mdx} +8 -8
- package/docs/docs/cmd/aad/{o365group/o365group-teamify.mdx → m365group/m365group-teamify.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-user-add.mdx → m365group/m365group-user-add.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-user-list.mdx → m365group/m365group-user-list.mdx} +7 -7
- package/docs/docs/cmd/aad/{o365group/o365group-user-remove.mdx → m365group/m365group-user-remove.mdx} +5 -5
- package/docs/docs/cmd/aad/{o365group/o365group-user-set.mdx → m365group/m365group-user-set.mdx} +5 -5
- package/docs/docs/cmd/aad/user/user-set.mdx +1 -1
- package/docs/docs/cmd/cli/config/config-list.mdx +78 -0
- package/docs/docs/cmd/flow/flow-enable.mdx +2 -2
- package/docs/docs/cmd/login.mdx +6 -0
- package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
- package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
- package/docs/docs/cmd/planner/plan/plan-add.mdx +1 -1
- package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +2 -2
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +2 -2
- package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
- package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
- package/docs/docs/cmd/spo/file/file-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-move.mdx +36 -18
- package/docs/docs/cmd/spo/file/file-remove.mdx +8 -8
- package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
- package/docs/docs/cmd/spo/folder/folder-copy.mdx +39 -12
- package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-move.mdx +40 -13
- package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
- package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +1 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
- package/docs/docs/cmd/spo/site/site-add.mdx +1 -1
- package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
- package/docs/docs/cmd/teams/team/team-add.mdx +1 -1
- package/docs/docs/cmd/yammer/network/network-list.mdx +1 -1
- package/npm-shrinkwrap.json +143 -89
- package/package.json +13 -13
- /package/dist/m365/aad/commands/{o365group → m365group}/GroupExtended.js +0 -0
|
@@ -54,7 +54,7 @@ class SpoFileVersionClearCommand extends SpoCommand {
|
|
|
54
54
|
let requestUrl = `${args.options.webUrl}/_api/web/`;
|
|
55
55
|
if (args.options.fileUrl) {
|
|
56
56
|
const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.fileUrl);
|
|
57
|
-
requestUrl += `
|
|
57
|
+
requestUrl += `GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')/versions/DeleteAll()`;
|
|
58
58
|
}
|
|
59
59
|
else {
|
|
60
60
|
requestUrl += `GetFileById('${args.options.fileId}')/versions/DeleteAll()`;
|
|
@@ -42,7 +42,7 @@ class SpoFileVersionGetCommand extends SpoCommand {
|
|
|
42
42
|
let requestUrl = `${args.options.webUrl}/_api/web/`;
|
|
43
43
|
if (args.options.fileUrl) {
|
|
44
44
|
const serverRelUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.fileUrl);
|
|
45
|
-
requestUrl += `
|
|
45
|
+
requestUrl += `GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelUrl)}')/versions/?$filter=VersionLabel eq '${args.options.label}'`;
|
|
46
46
|
}
|
|
47
47
|
else {
|
|
48
48
|
requestUrl += `GetFileById('${args.options.fileId}')/versions/?$filter=VersionLabel eq '${args.options.label}'`;
|
|
@@ -36,7 +36,7 @@ class SpoFileVersionListCommand extends SpoCommand {
|
|
|
36
36
|
let requestUrl = `${args.options.webUrl}/_api/web`;
|
|
37
37
|
if (args.options.fileUrl) {
|
|
38
38
|
const serverRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.fileUrl);
|
|
39
|
-
requestUrl += `/
|
|
39
|
+
requestUrl += `/GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
requestUrl += `/GetFileById('${args.options.fileId}')`;
|
|
@@ -55,7 +55,7 @@ class SpoFileVersionRemoveCommand extends SpoCommand {
|
|
|
55
55
|
let requestUrl = `${args.options.webUrl}/_api/web/`;
|
|
56
56
|
if (args.options.fileUrl) {
|
|
57
57
|
const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.fileUrl);
|
|
58
|
-
requestUrl += `
|
|
58
|
+
requestUrl += `GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')/versions/DeleteByLabel('${args.options.label}')`;
|
|
59
59
|
}
|
|
60
60
|
else {
|
|
61
61
|
requestUrl += `GetFileById('${args.options.fileId}')/versions/DeleteByLabel('${args.options.label}')`;
|
|
@@ -55,7 +55,7 @@ class SpoFileVersionRestoreCommand extends SpoCommand {
|
|
|
55
55
|
let requestUrl = `${args.options.webUrl}/_api/web/`;
|
|
56
56
|
if (args.options.fileUrl) {
|
|
57
57
|
const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.fileUrl);
|
|
58
|
-
requestUrl += `
|
|
58
|
+
requestUrl += `GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')/versions/RestoreByLabel('${args.options.label}')`;
|
|
59
59
|
}
|
|
60
60
|
else {
|
|
61
61
|
requestUrl += `GetFileById('${args.options.fileId}')/versions/RestoreByLabel('${args.options.label}')`;
|
|
@@ -5,6 +5,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _SpoFolderAddCommand_instances, _SpoFolderAddCommand_initOptions, _SpoFolderAddCommand_initValidators;
|
|
7
7
|
import request from '../../../../request.js';
|
|
8
|
+
import { formatting } from '../../../../utils/formatting.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';
|
|
@@ -28,15 +29,12 @@ class SpoFolderAddCommand extends SpoCommand {
|
|
|
28
29
|
}
|
|
29
30
|
const parentFolderServerRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.parentFolderUrl);
|
|
30
31
|
const serverRelativeUrl = `${parentFolderServerRelativeUrl}/${args.options.name}`;
|
|
31
|
-
const requestUrl = `${args.options.webUrl}/_api/web/folders`;
|
|
32
|
+
const requestUrl = `${args.options.webUrl}/_api/web/folders/addUsingPath(decodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
32
33
|
const requestOptions = {
|
|
33
34
|
url: requestUrl,
|
|
34
35
|
headers: {
|
|
35
36
|
'accept': 'application/json;odata=nometadata'
|
|
36
37
|
},
|
|
37
|
-
data: {
|
|
38
|
-
'ServerRelativeUrl': serverRelativeUrl
|
|
39
|
-
},
|
|
40
38
|
responseType: 'json'
|
|
41
39
|
};
|
|
42
40
|
try {
|
|
@@ -3,10 +3,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
var _SpoFolderCopyCommand_instances, _SpoFolderCopyCommand_initTelemetry, _SpoFolderCopyCommand_initOptions, _SpoFolderCopyCommand_initValidators;
|
|
7
|
-
import url from 'url';
|
|
6
|
+
var _SpoFolderCopyCommand_instances, _SpoFolderCopyCommand_initTelemetry, _SpoFolderCopyCommand_initOptions, _SpoFolderCopyCommand_initValidators, _SpoFolderCopyCommand_initOptionSets;
|
|
8
7
|
import request from '../../../../request.js';
|
|
9
|
-
import { spo } from '../../../../utils/spo.js';
|
|
10
8
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
11
9
|
import { validation } from '../../../../utils/validation.js';
|
|
12
10
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
@@ -21,77 +19,123 @@ class SpoFolderCopyCommand extends SpoCommand {
|
|
|
21
19
|
constructor() {
|
|
22
20
|
super();
|
|
23
21
|
_SpoFolderCopyCommand_instances.add(this);
|
|
22
|
+
this.nameConflictBehaviorOptions = ['fail', 'rename'];
|
|
24
23
|
__classPrivateFieldGet(this, _SpoFolderCopyCommand_instances, "m", _SpoFolderCopyCommand_initTelemetry).call(this);
|
|
25
24
|
__classPrivateFieldGet(this, _SpoFolderCopyCommand_instances, "m", _SpoFolderCopyCommand_initOptions).call(this);
|
|
26
25
|
__classPrivateFieldGet(this, _SpoFolderCopyCommand_instances, "m", _SpoFolderCopyCommand_initValidators).call(this);
|
|
26
|
+
__classPrivateFieldGet(this, _SpoFolderCopyCommand_instances, "m", _SpoFolderCopyCommand_initOptionSets).call(this);
|
|
27
27
|
}
|
|
28
28
|
getExcludedOptionsWithUrls() {
|
|
29
29
|
return ['targetUrl', 'sourceUrl'];
|
|
30
30
|
}
|
|
31
31
|
async commandAction(logger, args) {
|
|
32
|
-
const webUrl = args.options.webUrl;
|
|
33
|
-
const parsedUrl = url.parse(webUrl);
|
|
34
|
-
const tenantUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}`;
|
|
35
|
-
const serverRelativePath = urlUtil.getServerRelativePath(webUrl, args.options.sourceUrl);
|
|
36
|
-
const sourceAbsoluteUrl = urlUtil.urlCombine(tenantUrl, serverRelativePath);
|
|
37
|
-
const allowSchemaMismatch = args.options.allowSchemaMismatch || false;
|
|
38
|
-
const requestOptions = {
|
|
39
|
-
url: urlUtil.urlCombine(webUrl, '/_api/site/CreateCopyJobs'),
|
|
40
|
-
headers: {
|
|
41
|
-
'accept': 'application/json;odata=nometadata'
|
|
42
|
-
},
|
|
43
|
-
data: {
|
|
44
|
-
exportObjectUris: [sourceAbsoluteUrl],
|
|
45
|
-
destinationUri: urlUtil.urlCombine(tenantUrl, args.options.targetUrl),
|
|
46
|
-
options: {
|
|
47
|
-
"AllowSchemaMismatch": allowSchemaMismatch,
|
|
48
|
-
"IgnoreVersionHistory": true
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
responseType: 'json'
|
|
52
|
-
};
|
|
53
32
|
try {
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
33
|
+
const sourcePath = await this.getSourcePath(logger, args.options);
|
|
34
|
+
if (this.verbose) {
|
|
35
|
+
await logger.logToStderr(`Copying folder ${sourcePath} to ${args.options.targetUrl}...`);
|
|
36
|
+
}
|
|
37
|
+
const absoluteSourcePath = this.getAbsoluteUrl(args.options.webUrl, sourcePath);
|
|
38
|
+
let absoluteTargetPath = this.getAbsoluteUrl(args.options.webUrl, args.options.targetUrl) + '/';
|
|
39
|
+
if (args.options.newName) {
|
|
40
|
+
absoluteTargetPath += args.options.newName;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// Keep the original folder name
|
|
44
|
+
absoluteTargetPath += sourcePath.substring(sourcePath.lastIndexOf('/') + 1);
|
|
45
|
+
}
|
|
46
|
+
const requestOptions = {
|
|
47
|
+
url: `${args.options.webUrl}/_api/SP.MoveCopyUtil.CopyFolderByPath`,
|
|
48
|
+
headers: {
|
|
49
|
+
accept: 'application/json;odata=nometadata'
|
|
50
|
+
},
|
|
51
|
+
responseType: 'json',
|
|
52
|
+
data: {
|
|
53
|
+
srcPath: {
|
|
54
|
+
DecodedUrl: absoluteSourcePath
|
|
55
|
+
},
|
|
56
|
+
destPath: {
|
|
57
|
+
DecodedUrl: absoluteTargetPath
|
|
58
|
+
},
|
|
59
|
+
options: {
|
|
60
|
+
KeepBoth: args.options.nameConflictBehavior === 'rename',
|
|
61
|
+
ShouldBypassSharedLocks: !!args.options.bypassSharedLock,
|
|
62
|
+
ResetAuthorAndCreatedOnCopy: !!args.options.resetAuthorAndCreated
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
await request.post(requestOptions);
|
|
71
67
|
}
|
|
72
68
|
catch (err) {
|
|
73
69
|
this.handleRejectedODataJsonPromise(err);
|
|
74
70
|
}
|
|
75
71
|
}
|
|
72
|
+
async getSourcePath(logger, options) {
|
|
73
|
+
if (options.sourceUrl) {
|
|
74
|
+
return urlUtil.getServerRelativePath(options.webUrl, options.sourceUrl);
|
|
75
|
+
}
|
|
76
|
+
if (this.verbose) {
|
|
77
|
+
await logger.logToStderr(`Retrieving server-relative path for folder with ID '${options.sourceId}'...`);
|
|
78
|
+
}
|
|
79
|
+
const requestOptions = {
|
|
80
|
+
url: `${options.webUrl}/_api/Web/GetFolderById('${options.sourceId}')?$select=ServerRelativePath`,
|
|
81
|
+
headers: {
|
|
82
|
+
accept: 'application/json;odata=nometadata'
|
|
83
|
+
},
|
|
84
|
+
responseType: 'json'
|
|
85
|
+
};
|
|
86
|
+
const file = await request.get(requestOptions);
|
|
87
|
+
return file.ServerRelativePath.DecodedUrl;
|
|
88
|
+
}
|
|
89
|
+
getAbsoluteUrl(webUrl, url) {
|
|
90
|
+
return url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
|
|
91
|
+
}
|
|
76
92
|
}
|
|
77
93
|
_SpoFolderCopyCommand_instances = new WeakSet(), _SpoFolderCopyCommand_initTelemetry = function _SpoFolderCopyCommand_initTelemetry() {
|
|
78
94
|
this.telemetry.push((args) => {
|
|
79
95
|
Object.assign(this.telemetryProperties, {
|
|
80
|
-
|
|
96
|
+
sourceUrl: typeof args.options.sourceUrl !== 'undefined',
|
|
97
|
+
sourceId: typeof args.options.sourceId !== 'undefined',
|
|
98
|
+
newName: typeof args.options.newName !== 'undefined',
|
|
99
|
+
nameConflictBehavior: typeof args.options.nameConflictBehavior !== 'undefined',
|
|
100
|
+
resetAuthorAndCreated: !!args.options.resetAuthorAndCreated,
|
|
101
|
+
bypassSharedLock: !!args.options.bypassSharedLock
|
|
81
102
|
});
|
|
82
103
|
});
|
|
83
104
|
}, _SpoFolderCopyCommand_initOptions = function _SpoFolderCopyCommand_initOptions() {
|
|
84
105
|
this.options.unshift({
|
|
85
106
|
option: '-u, --webUrl <webUrl>'
|
|
86
107
|
}, {
|
|
87
|
-
option: '-s, --sourceUrl
|
|
108
|
+
option: '-s, --sourceUrl [sourceUrl]'
|
|
109
|
+
}, {
|
|
110
|
+
option: '-i, --sourceId [sourceId]'
|
|
88
111
|
}, {
|
|
89
112
|
option: '-t, --targetUrl <targetUrl>'
|
|
90
113
|
}, {
|
|
91
|
-
option: '--
|
|
114
|
+
option: '--newName [newName]'
|
|
115
|
+
}, {
|
|
116
|
+
option: '--nameConflictBehavior [nameConflictBehavior]',
|
|
117
|
+
autocomplete: this.nameConflictBehaviorOptions
|
|
118
|
+
}, {
|
|
119
|
+
option: '--resetAuthorAndCreated'
|
|
120
|
+
}, {
|
|
121
|
+
option: '--bypassSharedLock'
|
|
92
122
|
});
|
|
93
123
|
}, _SpoFolderCopyCommand_initValidators = function _SpoFolderCopyCommand_initValidators() {
|
|
94
|
-
this.validators.push(async (args) =>
|
|
124
|
+
this.validators.push(async (args) => {
|
|
125
|
+
const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
|
|
126
|
+
if (isValidSharePointUrl !== true) {
|
|
127
|
+
return isValidSharePointUrl;
|
|
128
|
+
}
|
|
129
|
+
if (args.options.sourceId && !validation.isValidGuid(args.options.sourceId)) {
|
|
130
|
+
return `'${args.options.sourceId}' is not a valid GUID for sourceId.`;
|
|
131
|
+
}
|
|
132
|
+
if (args.options.nameConflictBehavior && this.nameConflictBehaviorOptions.indexOf(args.options.nameConflictBehavior) === -1) {
|
|
133
|
+
return `'${args.options.nameConflictBehavior}' is not a valid value for nameConflictBehavior. Allowed values are: ${this.nameConflictBehaviorOptions.join(', ')}.`;
|
|
134
|
+
}
|
|
135
|
+
return true;
|
|
136
|
+
});
|
|
137
|
+
}, _SpoFolderCopyCommand_initOptionSets = function _SpoFolderCopyCommand_initOptionSets() {
|
|
138
|
+
this.optionSets.push({ options: ['sourceUrl', 'sourceId'] });
|
|
95
139
|
};
|
|
96
140
|
export default new SpoFolderCopyCommand();
|
|
97
141
|
//# sourceMappingURL=folder-copy.js.map
|
|
@@ -40,7 +40,7 @@ class SpoFolderGetCommand extends SpoCommand {
|
|
|
40
40
|
}
|
|
41
41
|
else if (args.options.url) {
|
|
42
42
|
const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
|
|
43
|
-
requestUrl += `/
|
|
43
|
+
requestUrl += `/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')`;
|
|
44
44
|
}
|
|
45
45
|
if (args.options.withPermissions) {
|
|
46
46
|
requestUrl += `?$expand=ListItemAllFields/HasUniqueRoleAssignments,ListItemAllFields/RoleAssignments/Member,ListItemAllFields/RoleAssignments/RoleDefinitionBindings`;
|
|
@@ -52,7 +52,7 @@ class SpoFolderListCommand extends SpoCommand {
|
|
|
52
52
|
}
|
|
53
53
|
const allFolders = [];
|
|
54
54
|
const serverRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, parentFolderUrl);
|
|
55
|
-
const requestUrl = `${args.options.webUrl}/_api/web/
|
|
55
|
+
const requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')/Folders`;
|
|
56
56
|
const queryParams = [`$skip=${skip}`, `$top=${SpoFolderListCommand.pageSize}`];
|
|
57
57
|
if (fieldProperties.expandProperties.length > 0) {
|
|
58
58
|
queryParams.push(`$expand=${fieldProperties.expandProperties.join(',')}`);
|
|
@@ -64,7 +64,7 @@ class SpoFolderListCommand extends SpoCommand {
|
|
|
64
64
|
queryParams.push(`$filter=${args.options.filter}`);
|
|
65
65
|
}
|
|
66
66
|
const requestOptions = {
|
|
67
|
-
url: `${requestUrl}
|
|
67
|
+
url: `${requestUrl}?${queryParams.join('&')}`,
|
|
68
68
|
method: 'GET',
|
|
69
69
|
headers: {
|
|
70
70
|
'accept': 'application/json;odata=nometadata'
|
|
@@ -3,10 +3,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
var _SpoFolderMoveCommand_instances, _SpoFolderMoveCommand_initTelemetry, _SpoFolderMoveCommand_initOptions, _SpoFolderMoveCommand_initValidators;
|
|
7
|
-
import url from 'url';
|
|
6
|
+
var _SpoFolderMoveCommand_instances, _SpoFolderMoveCommand_initTelemetry, _SpoFolderMoveCommand_initOptions, _SpoFolderMoveCommand_initValidators, _SpoFolderMoveCommand_initOptionSets;
|
|
8
7
|
import request from '../../../../request.js';
|
|
9
|
-
import { spo } from '../../../../utils/spo.js';
|
|
10
8
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
11
9
|
import { validation } from '../../../../utils/validation.js';
|
|
12
10
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
@@ -21,79 +19,123 @@ class SpoFolderMoveCommand extends SpoCommand {
|
|
|
21
19
|
constructor() {
|
|
22
20
|
super();
|
|
23
21
|
_SpoFolderMoveCommand_instances.add(this);
|
|
22
|
+
this.nameConflictBehaviorOptions = ['fail', 'rename'];
|
|
24
23
|
__classPrivateFieldGet(this, _SpoFolderMoveCommand_instances, "m", _SpoFolderMoveCommand_initTelemetry).call(this);
|
|
25
24
|
__classPrivateFieldGet(this, _SpoFolderMoveCommand_instances, "m", _SpoFolderMoveCommand_initOptions).call(this);
|
|
26
25
|
__classPrivateFieldGet(this, _SpoFolderMoveCommand_instances, "m", _SpoFolderMoveCommand_initValidators).call(this);
|
|
26
|
+
__classPrivateFieldGet(this, _SpoFolderMoveCommand_instances, "m", _SpoFolderMoveCommand_initOptionSets).call(this);
|
|
27
27
|
}
|
|
28
28
|
getExcludedOptionsWithUrls() {
|
|
29
29
|
return ['targetUrl', 'sourceUrl'];
|
|
30
30
|
}
|
|
31
31
|
async commandAction(logger, args) {
|
|
32
|
-
const webUrl = args.options.webUrl;
|
|
33
|
-
const parsedUrl = url.parse(webUrl);
|
|
34
|
-
const tenantUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}`;
|
|
35
|
-
const sourceRelUrl = urlUtil.getServerRelativePath(webUrl, args.options.sourceUrl);
|
|
36
|
-
const sourceAbsoluteUrl = urlUtil.urlCombine(tenantUrl, sourceRelUrl);
|
|
37
|
-
const allowSchemaMismatch = args.options.allowSchemaMismatch || false;
|
|
38
|
-
const requestUrl = urlUtil.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
|
|
39
|
-
const requestOptions = {
|
|
40
|
-
url: requestUrl,
|
|
41
|
-
headers: {
|
|
42
|
-
'accept': 'application/json;odata=nometadata'
|
|
43
|
-
},
|
|
44
|
-
data: {
|
|
45
|
-
exportObjectUris: [sourceAbsoluteUrl],
|
|
46
|
-
destinationUri: urlUtil.urlCombine(tenantUrl, args.options.targetUrl),
|
|
47
|
-
options: {
|
|
48
|
-
"AllowSchemaMismatch": allowSchemaMismatch,
|
|
49
|
-
"IgnoreVersionHistory": true,
|
|
50
|
-
"IsMoveMode": true
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
responseType: 'json'
|
|
54
|
-
};
|
|
55
32
|
try {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
33
|
+
const sourcePath = await this.getSourcePath(logger, args.options);
|
|
34
|
+
if (this.verbose) {
|
|
35
|
+
await logger.logToStderr(`Moving folder '${sourcePath}' to '${args.options.targetUrl}'...`);
|
|
36
|
+
}
|
|
37
|
+
const absoluteSourcePath = this.getAbsoluteUrl(args.options.webUrl, sourcePath);
|
|
38
|
+
let absoluteTargetPath = this.getAbsoluteUrl(args.options.webUrl, args.options.targetUrl) + '/';
|
|
39
|
+
if (args.options.newName) {
|
|
40
|
+
absoluteTargetPath += args.options.newName;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// Keep the original file name
|
|
44
|
+
absoluteTargetPath += sourcePath.substring(sourcePath.lastIndexOf('/') + 1);
|
|
45
|
+
}
|
|
46
|
+
const requestOptions = {
|
|
47
|
+
url: `${args.options.webUrl}/_api/SP.MoveCopyUtil.MoveFolderByPath`,
|
|
48
|
+
headers: {
|
|
49
|
+
accept: 'application/json;odata=nometadata'
|
|
50
|
+
},
|
|
51
|
+
responseType: 'json',
|
|
52
|
+
data: {
|
|
53
|
+
srcPath: {
|
|
54
|
+
DecodedUrl: absoluteSourcePath
|
|
55
|
+
},
|
|
56
|
+
destPath: {
|
|
57
|
+
DecodedUrl: absoluteTargetPath
|
|
58
|
+
},
|
|
59
|
+
options: {
|
|
60
|
+
KeepBoth: args.options.nameConflictBehavior === 'rename',
|
|
61
|
+
ShouldBypassSharedLocks: !!args.options.bypassSharedLock,
|
|
62
|
+
RetainEditorAndModifiedOnMove: !!args.options.retainEditorAndModified
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
await request.post(requestOptions);
|
|
73
67
|
}
|
|
74
68
|
catch (err) {
|
|
75
69
|
this.handleRejectedODataJsonPromise(err);
|
|
76
70
|
}
|
|
77
71
|
}
|
|
72
|
+
async getSourcePath(logger, options) {
|
|
73
|
+
if (options.sourceUrl) {
|
|
74
|
+
return urlUtil.getServerRelativePath(options.webUrl, options.sourceUrl);
|
|
75
|
+
}
|
|
76
|
+
if (this.verbose) {
|
|
77
|
+
await logger.logToStderr(`Retrieving server-relative path for folder with ID '${options.sourceId}'...`);
|
|
78
|
+
}
|
|
79
|
+
const requestOptions = {
|
|
80
|
+
url: `${options.webUrl}/_api/Web/GetFolderById('${options.sourceId}')?$select=ServerRelativePath`,
|
|
81
|
+
headers: {
|
|
82
|
+
accept: 'application/json;odata=nometadata'
|
|
83
|
+
},
|
|
84
|
+
responseType: 'json'
|
|
85
|
+
};
|
|
86
|
+
const file = await request.get(requestOptions);
|
|
87
|
+
return file.ServerRelativePath.DecodedUrl;
|
|
88
|
+
}
|
|
89
|
+
getAbsoluteUrl(webUrl, url) {
|
|
90
|
+
return url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
|
|
91
|
+
}
|
|
78
92
|
}
|
|
79
93
|
_SpoFolderMoveCommand_instances = new WeakSet(), _SpoFolderMoveCommand_initTelemetry = function _SpoFolderMoveCommand_initTelemetry() {
|
|
80
94
|
this.telemetry.push((args) => {
|
|
81
95
|
Object.assign(this.telemetryProperties, {
|
|
82
|
-
|
|
96
|
+
sourceUrl: typeof args.options.sourceUrl !== 'undefined',
|
|
97
|
+
sourceId: typeof args.options.sourceId !== 'undefined',
|
|
98
|
+
newName: typeof args.options.newName !== 'undefined',
|
|
99
|
+
nameConflictBehavior: typeof args.options.nameConflictBehavior !== 'undefined',
|
|
100
|
+
retainEditorAndModified: !!args.options.retainEditorAndModified,
|
|
101
|
+
bypassSharedLock: !!args.options.bypassSharedLock
|
|
83
102
|
});
|
|
84
103
|
});
|
|
85
104
|
}, _SpoFolderMoveCommand_initOptions = function _SpoFolderMoveCommand_initOptions() {
|
|
86
105
|
this.options.unshift({
|
|
87
106
|
option: '-u, --webUrl <webUrl>'
|
|
88
107
|
}, {
|
|
89
|
-
option: '-s, --sourceUrl
|
|
108
|
+
option: '-s, --sourceUrl [sourceUrl]'
|
|
109
|
+
}, {
|
|
110
|
+
option: '-i, --sourceId [sourceId]'
|
|
90
111
|
}, {
|
|
91
112
|
option: '-t, --targetUrl <targetUrl>'
|
|
92
113
|
}, {
|
|
93
|
-
option: '--
|
|
114
|
+
option: '--newName [newName]'
|
|
115
|
+
}, {
|
|
116
|
+
option: '--nameConflictBehavior [nameConflictBehavior]',
|
|
117
|
+
autocomplete: this.nameConflictBehaviorOptions
|
|
118
|
+
}, {
|
|
119
|
+
option: '--retainEditorAndModified'
|
|
120
|
+
}, {
|
|
121
|
+
option: '--bypassSharedLock'
|
|
94
122
|
});
|
|
95
123
|
}, _SpoFolderMoveCommand_initValidators = function _SpoFolderMoveCommand_initValidators() {
|
|
96
|
-
this.validators.push(async (args) =>
|
|
124
|
+
this.validators.push(async (args) => {
|
|
125
|
+
const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
|
|
126
|
+
if (isValidSharePointUrl !== true) {
|
|
127
|
+
return isValidSharePointUrl;
|
|
128
|
+
}
|
|
129
|
+
if (args.options.sourceId && !validation.isValidGuid(args.options.sourceId)) {
|
|
130
|
+
return `'${args.options.sourceId}' is not a valid GUID for sourceId.`;
|
|
131
|
+
}
|
|
132
|
+
if (args.options.nameConflictBehavior && this.nameConflictBehaviorOptions.indexOf(args.options.nameConflictBehavior) === -1) {
|
|
133
|
+
return `'${args.options.nameConflictBehavior}' is not a valid value for nameConflictBehavior. Allowed values are: ${this.nameConflictBehaviorOptions.join(', ')}.`;
|
|
134
|
+
}
|
|
135
|
+
return true;
|
|
136
|
+
});
|
|
137
|
+
}, _SpoFolderMoveCommand_initOptionSets = function _SpoFolderMoveCommand_initOptionSets() {
|
|
138
|
+
this.optionSets.push({ options: ['sourceUrl', 'sourceId'] });
|
|
97
139
|
};
|
|
98
140
|
export default new SpoFolderMoveCommand();
|
|
99
141
|
//# sourceMappingURL=folder-move.js.map
|
|
@@ -25,6 +25,9 @@ class SpoFolderRemoveCommand extends SpoCommand {
|
|
|
25
25
|
__classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initOptions).call(this);
|
|
26
26
|
__classPrivateFieldGet(this, _SpoFolderRemoveCommand_instances, "m", _SpoFolderRemoveCommand_initValidators).call(this);
|
|
27
27
|
}
|
|
28
|
+
getExcludedOptionsWithUrls() {
|
|
29
|
+
return ['url'];
|
|
30
|
+
}
|
|
28
31
|
async commandAction(logger, args) {
|
|
29
32
|
if (args.options.force) {
|
|
30
33
|
await this.removeFolder(logger, args.options);
|
|
@@ -45,8 +48,8 @@ class SpoFolderRemoveCommand extends SpoCommand {
|
|
|
45
48
|
if (this.verbose) {
|
|
46
49
|
await logger.logToStderr(`Removing folder in site at ${options.webUrl}...`);
|
|
47
50
|
}
|
|
48
|
-
const
|
|
49
|
-
let requestUrl = `${options.webUrl}/_api/web/
|
|
51
|
+
const serverRelativePath = urlUtil.getServerRelativePath(options.webUrl, options.url);
|
|
52
|
+
let requestUrl = `${options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')`;
|
|
50
53
|
if (options.recycle) {
|
|
51
54
|
requestUrl += `/recycle()`;
|
|
52
55
|
}
|
|
@@ -71,8 +74,8 @@ class SpoFolderRemoveCommand extends SpoCommand {
|
|
|
71
74
|
_SpoFolderRemoveCommand_instances = new WeakSet(), _SpoFolderRemoveCommand_initTelemetry = function _SpoFolderRemoveCommand_initTelemetry() {
|
|
72
75
|
this.telemetry.push((args) => {
|
|
73
76
|
Object.assign(this.telemetryProperties, {
|
|
74
|
-
recycle:
|
|
75
|
-
force:
|
|
77
|
+
recycle: !!args.options.recycle,
|
|
78
|
+
force: !!args.options.force
|
|
76
79
|
});
|
|
77
80
|
});
|
|
78
81
|
}, _SpoFolderRemoveCommand_initOptions = function _SpoFolderRemoveCommand_initOptions() {
|
|
@@ -4,9 +4,8 @@ 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 _SpoFolderRenameCommand_instances, _SpoFolderRenameCommand_initOptions, _SpoFolderRenameCommand_initValidators;
|
|
7
|
-
import config from '../../../../config.js';
|
|
8
7
|
import request from '../../../../request.js';
|
|
9
|
-
import {
|
|
8
|
+
import { formatting } from '../../../../utils/formatting.js';
|
|
10
9
|
import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
11
10
|
import { validation } from '../../../../utils/validation.js';
|
|
12
11
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
@@ -29,32 +28,29 @@ class SpoFolderRenameCommand extends SpoCommand {
|
|
|
29
28
|
}
|
|
30
29
|
async commandAction(logger, args) {
|
|
31
30
|
try {
|
|
32
|
-
const contextResponse = await spo.getRequestDigest(args.options.webUrl);
|
|
33
|
-
const formDigestValue = contextResponse.FormDigestValue;
|
|
34
|
-
const webIdentityResp = await spo.getCurrentWebIdentity(args.options.webUrl, formDigestValue);
|
|
35
|
-
const folderObjectIdentity = await spo.getFolderIdentity(webIdentityResp.objectIdentity, args.options.webUrl, args.options.url, formDigestValue);
|
|
36
31
|
if (this.verbose) {
|
|
37
32
|
await logger.logToStderr(`Renaming folder ${args.options.url} to ${args.options.name}`);
|
|
38
33
|
}
|
|
39
34
|
const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
|
|
40
|
-
const serverRelativeUrlWithoutOldFolder = serverRelativePath.substring(0, serverRelativePath.lastIndexOf('/'));
|
|
41
|
-
const renamedServerRelativeUrl = `${serverRelativeUrlWithoutOldFolder}/${args.options.name}`;
|
|
42
35
|
const requestOptions = {
|
|
43
|
-
url: `${args.options.webUrl}/
|
|
36
|
+
url: `${args.options.webUrl}/_api/Web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')/ListItemAllFields`,
|
|
44
37
|
headers: {
|
|
45
|
-
'
|
|
38
|
+
accept: 'application/json;odata=nometadata',
|
|
39
|
+
'if-match': '*'
|
|
46
40
|
},
|
|
47
|
-
data:
|
|
41
|
+
data: {
|
|
42
|
+
FileLeafRef: args.options.name,
|
|
43
|
+
Title: args.options.name
|
|
44
|
+
},
|
|
45
|
+
responseType: 'json'
|
|
48
46
|
};
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (contents && contents.ErrorInfo) {
|
|
53
|
-
throw contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error';
|
|
47
|
+
const response = await request.patch(requestOptions);
|
|
48
|
+
if (response && response['odata.null'] === true) {
|
|
49
|
+
throw 'Folder not found.';
|
|
54
50
|
}
|
|
55
51
|
}
|
|
56
52
|
catch (err) {
|
|
57
|
-
this.
|
|
53
|
+
this.handleRejectedODataJsonPromise(err);
|
|
58
54
|
}
|
|
59
55
|
}
|
|
60
56
|
}
|
|
@@ -75,7 +75,7 @@ class SpoFolderRetentionLabelEnsureCommand extends SpoCommand {
|
|
|
75
75
|
}
|
|
76
76
|
else {
|
|
77
77
|
const serverRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
|
|
78
|
-
requestUrl += `
|
|
78
|
+
requestUrl += `GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
79
79
|
}
|
|
80
80
|
const requestOptions = {
|
|
81
81
|
url: `${requestUrl}?$expand=ListItemAllFields,ListItemAllFields/ParentList&$select=ServerRelativeUrl,ListItemAllFields/ParentList/Id,ListItemAllFields/Id`,
|
|
@@ -91,7 +91,7 @@ class SpoFolderRetentionLabelRemoveCommand extends SpoCommand {
|
|
|
91
91
|
}
|
|
92
92
|
else {
|
|
93
93
|
const serverRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
|
|
94
|
-
requestUrl += `
|
|
94
|
+
requestUrl += `GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
95
95
|
}
|
|
96
96
|
const requestOptions = {
|
|
97
97
|
url: `${requestUrl}?$expand=ListItemAllFields,ListItemAllFields/ParentList&$select=ServerRelativeUrl,ListItemAllFields/ParentList/Id,ListItemAllFields/Id`,
|
|
@@ -41,7 +41,7 @@ class SpoFolderRoleAssignmentAddCommand extends SpoCommand {
|
|
|
41
41
|
requestUrl += `GetList('${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
requestUrl += `
|
|
44
|
+
requestUrl += `GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')/ListItemAllFields`;
|
|
45
45
|
}
|
|
46
46
|
const roleDefinitionId = await this.getRoleDefinitionId(args.options);
|
|
47
47
|
if (args.options.upn) {
|
|
@@ -33,7 +33,7 @@ class SpoFolderRoleAssignmentRemoveCommand extends SpoCommand {
|
|
|
33
33
|
await logger.logToStderr(`Removing role assignment from folder in site at ${args.options.webUrl}...`);
|
|
34
34
|
}
|
|
35
35
|
const serverRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.folderUrl);
|
|
36
|
-
const requestUrl = `${args.options.webUrl}/_api/web/
|
|
36
|
+
const requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')/ListItemAllFields`;
|
|
37
37
|
try {
|
|
38
38
|
if (args.options.upn) {
|
|
39
39
|
args.options.principalId = await this.getUserPrincipalId(args.options);
|
|
@@ -36,7 +36,7 @@ class SpoFolderRoleInheritanceBreakCommand extends SpoCommand {
|
|
|
36
36
|
requestUrl += `GetList('${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
|
-
requestUrl += `
|
|
39
|
+
requestUrl += `GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')/ListItemAllFields`;
|
|
40
40
|
}
|
|
41
41
|
const requestOptions = {
|
|
42
42
|
url: `${requestUrl}/breakroleinheritance(${keepExistingPermissions})`,
|
|
@@ -35,7 +35,7 @@ class SpoFolderRoleInheritanceResetCommand extends SpoCommand {
|
|
|
35
35
|
requestUrl += `GetList('${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
|
-
requestUrl += `
|
|
38
|
+
requestUrl += `GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')/ListItemAllFields`;
|
|
39
39
|
}
|
|
40
40
|
const requestOptions = {
|
|
41
41
|
url: `${requestUrl}/resetroleinheritance`,
|
|
@@ -57,7 +57,6 @@ class SpoGroupListCommand extends SpoCommand {
|
|
|
57
57
|
responseType: 'json'
|
|
58
58
|
};
|
|
59
59
|
const groupProperties = await request.get(requestOptions);
|
|
60
|
-
await logger.log(groupProperties);
|
|
61
60
|
if (!options.output || !Cli.shouldTrimOutput(options.output)) {
|
|
62
61
|
await logger.log(groupProperties);
|
|
63
62
|
}
|