@pnp/cli-microsoft365 7.0.0-beta.90ef876 → 7.0.0-beta.df9f285
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/dist/Command.js +1 -1
- package/dist/cli/Cli.js +23 -8
- package/dist/m365/aad/commands/user/user-get.js +7 -1
- package/dist/m365/aad/commands/user/user-list.js +3 -6
- package/dist/m365/aad/commands/user/user-set.js +20 -20
- package/dist/m365/booking/commands/business/business-get.js +14 -15
- package/dist/m365/cli/commands/config/config-set.js +1 -1
- package/dist/m365/pa/commands/app/app-consent-set.js +2 -2
- package/dist/m365/pa/commands/app/app-export.js +3 -3
- package/dist/m365/pa/commands/app/app-list.js +5 -5
- package/dist/m365/pa/commands/app/app-owner-set.js +115 -0
- package/dist/m365/pa/commands/app/app-permission-list.js +104 -0
- package/dist/m365/pa/commands.js +2 -0
- package/dist/m365/planner/commands/bucket/bucket-add.js +14 -10
- package/dist/m365/planner/commands/bucket/bucket-get.js +25 -19
- package/dist/m365/planner/commands/bucket/bucket-list.js +14 -10
- package/dist/m365/planner/commands/bucket/bucket-remove.js +26 -20
- package/dist/m365/planner/commands/bucket/bucket-set.js +26 -28
- package/dist/m365/planner/commands/roster/roster-member-add.js +3 -14
- package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-get.js +2 -2
- package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-list.js +2 -2
- package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-remove.js +3 -3
- package/dist/m365/pp/commands/card/card-clone.js +3 -3
- package/dist/m365/pp/commands/card/card-get.js +2 -2
- package/dist/m365/pp/commands/card/card-list.js +2 -2
- package/dist/m365/pp/commands/card/card-remove.js +3 -3
- package/dist/m365/pp/commands/chatbot/chatbot-get.js +2 -2
- package/dist/m365/pp/commands/chatbot/chatbot-list.js +3 -3
- package/dist/m365/pp/commands/chatbot/chatbot-remove.js +3 -3
- package/dist/m365/pp/commands/dataverse/dataverse-table-get.js +2 -2
- package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +2 -2
- package/dist/m365/pp/commands/dataverse/dataverse-table-remove.js +2 -2
- package/dist/m365/pp/commands/dataverse/dataverse-table-row-list.js +2 -2
- package/dist/m365/pp/commands/dataverse/dataverse-table-row-remove.js +2 -2
- package/dist/m365/pp/commands/solution/solution-get.js +2 -2
- package/dist/m365/pp/commands/solution/solution-list.js +2 -2
- package/dist/m365/pp/commands/solution/solution-publish.js +3 -3
- package/dist/m365/pp/commands/solution/solution-publisher-add.js +2 -2
- package/dist/m365/pp/commands/solution/solution-publisher-get.js +2 -2
- package/dist/m365/pp/commands/solution/solution-publisher-list.js +2 -2
- package/dist/m365/pp/commands/solution/solution-publisher-remove.js +3 -3
- package/dist/m365/pp/commands/solution/solution-remove.js +3 -3
- package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +19 -17
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +19 -17
- package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +35 -34
- package/dist/m365/spfx/commands/project/project-externalize/rules/DynamicRule.js +59 -51
- package/dist/m365/spo/commands/file/file-list.js +3 -14
- package/dist/m365/spo/commands/folder/folder-remove.js +30 -28
- package/dist/m365/spo/commands/list/list-add.js +0 -9
- package/dist/m365/spo/commands/list/list-retentionlabel-ensure.js +0 -4
- package/dist/m365/spo/commands/list/list-retentionlabel-get.js +0 -4
- package/dist/m365/spo/commands/list/list-roleassignment-add.js +9 -47
- package/dist/m365/spo/commands/list/list-set.js +0 -9
- package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +4 -4
- package/dist/m365/spo/commands/page/page-remove.js +33 -31
- package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +25 -23
- package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -3
- package/dist/m365/spo/commands/site/site-commsite-enable.js +9 -18
- package/dist/m365/spo/commands/site/site-set.js +10 -2
- package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +13 -16
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +80 -2
- package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +107 -24
- package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +48 -48
- package/dist/m365/spo/commands/theme/theme-get.js +1 -2
- package/dist/m365/spo/commands/user/user-get.js +5 -5
- package/dist/m365/spo/commands.js +0 -2
- package/dist/m365/teams/commands/chat/chat-get.js +4 -4
- package/dist/m365/teams/commands/chat/chat-member-add.js +117 -0
- package/dist/m365/teams/commands/chat/chat-message-send.js +4 -4
- package/dist/m365/teams/commands/meeting/meeting-get.js +16 -24
- package/dist/m365/teams/commands/meeting/meeting-list.js +2 -15
- package/dist/m365/teams/commands/team/team-app-list.js +1 -1
- package/dist/m365/teams/commands.js +1 -0
- package/dist/utils/spo.js +74 -0
- package/docs/docs/_clisettings.mdx +1 -1
- package/docs/docs/cmd/_global.mdx +1 -1
- package/docs/docs/cmd/aad/user/user-get.mdx +118 -25
- package/docs/docs/cmd/aad/user/user-list.mdx +0 -9
- package/docs/docs/cmd/aad/user/user-set.mdx +11 -11
- package/docs/docs/cmd/pa/app/app-consent-set.mdx +3 -3
- package/docs/docs/cmd/pa/app/app-export.mdx +3 -3
- package/docs/docs/cmd/pa/app/app-list.mdx +2 -2
- package/docs/docs/cmd/pa/app/app-owner-set.mdx +60 -0
- package/docs/docs/cmd/pa/app/app-permission-list.mdx +132 -0
- package/docs/docs/cmd/planner/bucket/bucket-add.mdx +21 -4
- package/docs/docs/cmd/planner/bucket/bucket-get.mdx +22 -5
- package/docs/docs/cmd/planner/bucket/bucket-list.mdx +21 -4
- package/docs/docs/cmd/planner/bucket/bucket-remove.mdx +21 -4
- package/docs/docs/cmd/planner/bucket/bucket-set.mdx +22 -5
- package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.mdx +4 -4
- package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.mdx +4 -4
- package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-remove.mdx +4 -4
- package/docs/docs/cmd/pp/card/card-clone.mdx +6 -6
- package/docs/docs/cmd/pp/card/card-get.mdx +6 -6
- package/docs/docs/cmd/pp/card/card-list.mdx +4 -4
- package/docs/docs/cmd/pp/card/card-remove.mdx +9 -9
- package/docs/docs/cmd/pp/chatbot/chatbot-get.mdx +6 -6
- package/docs/docs/cmd/pp/chatbot/chatbot-list.mdx +4 -4
- package/docs/docs/cmd/pp/chatbot/chatbot-remove.mdx +4 -4
- 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 +1 -1
- package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.mdx +5 -5
- package/docs/docs/cmd/pp/dataverse/dataverse-table-row-remove.mdx +5 -5
- package/docs/docs/cmd/pp/solution/solution-get.mdx +6 -6
- package/docs/docs/cmd/pp/solution/solution-list.mdx +4 -4
- package/docs/docs/cmd/pp/solution/solution-publish.mdx +4 -4
- package/docs/docs/cmd/pp/solution/solution-publisher-add.mdx +3 -3
- package/docs/docs/cmd/pp/solution/solution-publisher-get.mdx +6 -6
- package/docs/docs/cmd/pp/solution/solution-publisher-list.mdx +4 -4
- package/docs/docs/cmd/pp/solution/solution-publisher-remove.mdx +5 -5
- package/docs/docs/cmd/pp/solution/solution-remove.mdx +9 -9
- package/docs/docs/cmd/spo/file/file-list.mdx +6 -10
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/list/list-add.mdx +0 -3
- package/docs/docs/cmd/spo/list/list-retentionlabel-ensure.mdx +0 -6
- package/docs/docs/cmd/spo/list/list-retentionlabel-get.mdx +0 -6
- package/docs/docs/cmd/spo/list/list-set.mdx +0 -3
- package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +7 -7
- package/docs/docs/cmd/spo/site/site-add.mdx +35 -0
- package/docs/docs/cmd/spo/site/site-appcatalog-add.mdx +5 -1
- package/docs/docs/cmd/spo/site/site-appcatalog-list.mdx +14 -0
- package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +68 -0
- package/docs/docs/cmd/spo/site/site-apppermission-get.mdx +55 -0
- package/docs/docs/cmd/spo/site/site-apppermission-list.mdx +55 -0
- package/docs/docs/cmd/spo/site/site-apppermission-remove.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-apppermission-set.mdx +66 -0
- package/docs/docs/cmd/spo/site/site-chrome-set.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +11 -1
- package/docs/docs/cmd/spo/site/site-ensure.mdx +70 -0
- package/docs/docs/cmd/spo/site/site-get.mdx +179 -0
- package/docs/docs/cmd/spo/site/site-groupify.mdx +54 -0
- package/docs/docs/cmd/spo/site/site-hubsite-connect.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-hubsite-disconnect.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-hubsite-theme-sync.mdx +5 -1
- package/docs/docs/cmd/spo/site/site-inplacerecordsmanagement-set.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-list.mdx +303 -0
- package/docs/docs/cmd/spo/site/site-recyclebinitem-list.mdx +80 -0
- package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-remove.mdx +4 -0
- package/docs/docs/cmd/spo/site/site-rename.mdx +92 -0
- package/docs/docs/cmd/spo/site/site-set.mdx +13 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-add.mdx +116 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-apply.mdx +125 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-get.mdx +117 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-list.mdx +94 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-remove.mdx +4 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.mdx +4 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.mdx +54 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.mdx +4 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-run-list.mdx +66 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-run-status-get.mdx +65 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-set.mdx +117 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.mdx +61 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-task-list.mdx +60 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.mdx +4 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-add.mdx +75 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +62 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-list.mdx +60 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-remove.mdx +4 -0
- package/docs/docs/cmd/spo/sitescript/sitescript-set.mdx +63 -0
- package/docs/docs/cmd/spo/storageentity/storageentity-get.mdx +53 -0
- package/docs/docs/cmd/spo/storageentity/storageentity-list.mdx +54 -0
- package/docs/docs/cmd/spo/storageentity/storageentity-remove.mdx +4 -0
- package/docs/docs/cmd/spo/storageentity/storageentity-set.mdx +4 -0
- package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.mdx +4 -0
- package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.mdx +35 -0
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +12 -3
- package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +23 -11
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.mdx +67 -0
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.mdx +4 -0
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.mdx +50 -0
- package/docs/docs/cmd/spo/tenant/tenant-settings-list.mdx +729 -0
- package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +5 -0
- package/docs/docs/cmd/spo/theme/theme-apply.mdx +35 -0
- package/docs/docs/cmd/spo/theme/theme-get.mdx +74 -0
- package/docs/docs/cmd/spo/theme/theme-list.mdx +52 -0
- package/docs/docs/cmd/spo/theme/theme-remove.mdx +4 -0
- package/docs/docs/cmd/spo/theme/theme-set.mdx +4 -0
- package/docs/docs/cmd/spo/user/user-get.mdx +6 -6
- package/docs/docs/cmd/teams/chat/chat-member-add.mdx +66 -0
- package/npm-shrinkwrap.json +212 -212
- package/package.json +10 -10
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.DynamicRule = void 0;
|
|
4
13
|
const fs = require("fs");
|
|
@@ -12,36 +21,32 @@ class DynamicRule extends BasicDependencyRule_1.BasicDependencyRule {
|
|
|
12
21
|
this.fileVariationSuffixes = ['.min', '.bundle', '-min', '.bundle.min'];
|
|
13
22
|
}
|
|
14
23
|
visit(project) {
|
|
15
|
-
|
|
16
|
-
!project.packageJson.dependencies) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
.all(validPackageNames.map((x) => this.getExternalEntryForPackage(x, project)))
|
|
24
|
-
.then((res) => {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
if (!project.packageJson || !project.packageJson.dependencies) {
|
|
26
|
+
return { entries: [], suggestions: [] };
|
|
27
|
+
}
|
|
28
|
+
const validPackageNames = Object.getOwnPropertyNames(project.packageJson.dependencies)
|
|
29
|
+
.filter(x => this.restrictedNamespaces.map(y => x.indexOf(y) === -1).reduce((y, z) => y && z))
|
|
30
|
+
.filter(x => this.restrictedModules.indexOf(x) === -1);
|
|
31
|
+
const res = yield Promise.all(validPackageNames.map((x) => this.getExternalEntryForPackage(x, project)));
|
|
25
32
|
return {
|
|
26
|
-
entries: res
|
|
27
|
-
.filter(x => x !== undefined)
|
|
28
|
-
.map(x => x),
|
|
33
|
+
entries: res.filter(x => x !== undefined),
|
|
29
34
|
suggestions: []
|
|
30
35
|
};
|
|
31
36
|
});
|
|
32
37
|
}
|
|
33
38
|
getExternalEntryForPackage(packageName, project) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
.
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const version = project.packageJson.dependencies[packageName];
|
|
41
|
+
const filesPaths = this.getFilePath(packageName).map(x => this.cleanFilePath(x));
|
|
42
|
+
if (!version || filesPaths.length === 0) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const filesPathsVariations = filesPaths
|
|
46
|
+
.map(x => this.fileVariationSuffixes.map(y => x.indexOf(y) === -1 ? x.replace('.js', `${y}.js`) : x))
|
|
47
|
+
.reduce((x, y) => [...x, ...y]);
|
|
48
|
+
const pathsAndVariations = [...filesPaths, ...filesPathsVariations];
|
|
49
|
+
const externalizeEntryCandidates = yield Promise.all(pathsAndVariations.map(x => this.getExternalEntryForFilePath(x, packageName, version)));
|
|
45
50
|
const dExternalizeEntryCandidates = externalizeEntryCandidates.filter(x => x !== undefined);
|
|
46
51
|
const minifiedModule = dExternalizeEntryCandidates.find(x => !x.globalName && this.pathContainsMinifySuffix(x.path));
|
|
47
52
|
const minifiedNonModule = dExternalizeEntryCandidates.find(x => x.globalName && this.pathContainsMinifySuffix(x.path));
|
|
@@ -57,31 +62,29 @@ class DynamicRule extends BasicDependencyRule_1.BasicDependencyRule {
|
|
|
57
62
|
.filter(y => y > -1).length > 0;
|
|
58
63
|
}
|
|
59
64
|
getExternalEntryForFilePath(filePath, packageName, version) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
.testUrl(url)
|
|
63
|
-
.then((testResult) => {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const url = this.getFileUrl(packageName, version, filePath);
|
|
67
|
+
const testResult = yield this.testUrl(url);
|
|
64
68
|
if (!testResult) {
|
|
65
|
-
return
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const moduleInfo = yield this.getModuleType(url);
|
|
72
|
+
if (moduleInfo.scriptType === 'CommonJs') {
|
|
73
|
+
return undefined; //browsers don't support those module types without an additional library
|
|
74
|
+
}
|
|
75
|
+
else if (moduleInfo.scriptType === 'ES2015' || moduleInfo.scriptType === 'AMD') {
|
|
76
|
+
return {
|
|
77
|
+
key: packageName,
|
|
78
|
+
path: url
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
else { //TODO for non-module and UMD we should technically add dependencies as well
|
|
82
|
+
return {
|
|
83
|
+
key: packageName,
|
|
84
|
+
path: url,
|
|
85
|
+
globalName: moduleInfo.exports && moduleInfo.exports.length > 0 ? moduleInfo.exports[0] : packageName // examples where this is not good https://unpkg.com/@pnp/polyfill-ie11@^1.0.2/dist/index.js https://unpkg.com/moment-timezone@^0.5.27/builds/moment-timezone-with-data.js
|
|
86
|
+
};
|
|
66
87
|
}
|
|
67
|
-
return this.getModuleType(url).then((moduleInfo) => {
|
|
68
|
-
if (moduleInfo.scriptType === 'CommonJs') {
|
|
69
|
-
return Promise.resolve(undefined); //browsers don't support those module types without an additional library
|
|
70
|
-
}
|
|
71
|
-
else if (moduleInfo.scriptType === 'ES2015' || moduleInfo.scriptType === 'AMD') {
|
|
72
|
-
return {
|
|
73
|
-
key: packageName,
|
|
74
|
-
path: url
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
else { //TODO for non-module and UMD we should technically add dependencies as well
|
|
78
|
-
return {
|
|
79
|
-
key: packageName,
|
|
80
|
-
path: url,
|
|
81
|
-
globalName: moduleInfo.exports && moduleInfo.exports.length > 0 ? moduleInfo.exports[0] : packageName // examples where this is not good https://unpkg.com/@pnp/polyfill-ie11@^1.0.2/dist/index.js https://unpkg.com/moment-timezone@^0.5.27/builds/moment-timezone-with-data.js
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
88
|
});
|
|
86
89
|
}
|
|
87
90
|
getModuleType(url) {
|
|
@@ -101,10 +104,15 @@ class DynamicRule extends BasicDependencyRule_1.BasicDependencyRule {
|
|
|
101
104
|
return `https://unpkg.com/${packageName}@${version}/${filePath}`;
|
|
102
105
|
}
|
|
103
106
|
testUrl(url) {
|
|
104
|
-
return
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
try {
|
|
109
|
+
yield request_1.default.head({ url: url, headers: { 'x-anonymous': 'true' } });
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
catch (_a) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
108
116
|
}
|
|
109
117
|
getFilePath(packageName) {
|
|
110
118
|
const packageJsonFilePath = `node_modules/${packageName}/package.json`;
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var _SpoFileListCommand_instances, _SpoFileListCommand_initTelemetry, _SpoFileListCommand_initOptions, _SpoFileListCommand_initValidators
|
|
16
|
+
var _SpoFileListCommand_instances, _SpoFileListCommand_initTelemetry, _SpoFileListCommand_initOptions, _SpoFileListCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
19
|
const formatting_1 = require("../../../../utils/formatting");
|
|
@@ -34,18 +34,13 @@ class SpoFileListCommand extends SpoCommand_1.default {
|
|
|
34
34
|
__classPrivateFieldGet(this, _SpoFileListCommand_instances, "m", _SpoFileListCommand_initTelemetry).call(this);
|
|
35
35
|
__classPrivateFieldGet(this, _SpoFileListCommand_instances, "m", _SpoFileListCommand_initOptions).call(this);
|
|
36
36
|
__classPrivateFieldGet(this, _SpoFileListCommand_instances, "m", _SpoFileListCommand_initValidators).call(this);
|
|
37
|
-
__classPrivateFieldGet(this, _SpoFileListCommand_instances, "m", _SpoFileListCommand_initOptionSets).call(this);
|
|
38
37
|
}
|
|
39
38
|
commandAction(logger, args) {
|
|
40
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
40
|
if (this.verbose) {
|
|
42
|
-
logger.logToStderr(`Retrieving all files in folder '${args.options.
|
|
41
|
+
logger.logToStderr(`Retrieving all files in folder '${args.options.folderUrl}' at site '${args.options.webUrl}'${args.options.recursive ? ' (recursive)' : ''}...`);
|
|
43
42
|
}
|
|
44
43
|
try {
|
|
45
|
-
if (args.options.folder) {
|
|
46
|
-
args.options.folderUrl = args.options.folder;
|
|
47
|
-
this.warn(logger, `Option 'folder' is deprecated. Please use 'folderUrl' instead`);
|
|
48
|
-
}
|
|
49
44
|
const fieldProperties = this.formatSelectProperties(args.options.fields, args.options.output);
|
|
50
45
|
const allFiles = [];
|
|
51
46
|
const allFolders = args.options.recursive
|
|
@@ -157,8 +152,6 @@ class SpoFileListCommand extends SpoCommand_1.default {
|
|
|
157
152
|
_SpoFileListCommand_instances = new WeakSet(), _SpoFileListCommand_initTelemetry = function _SpoFileListCommand_initTelemetry() {
|
|
158
153
|
this.telemetry.push((args) => {
|
|
159
154
|
Object.assign(this.telemetryProperties, {
|
|
160
|
-
folder: typeof args.options.folder !== 'undefined',
|
|
161
|
-
folderUrl: typeof args.options.folderUrl !== 'undefined',
|
|
162
155
|
recursive: args.options.recursive,
|
|
163
156
|
fields: typeof args.options.fields !== 'undefined',
|
|
164
157
|
filter: typeof args.options.filter !== 'undefined'
|
|
@@ -168,9 +161,7 @@ _SpoFileListCommand_instances = new WeakSet(), _SpoFileListCommand_initTelemetry
|
|
|
168
161
|
this.options.unshift({
|
|
169
162
|
option: '-u, --webUrl <webUrl>'
|
|
170
163
|
}, {
|
|
171
|
-
option: '--
|
|
172
|
-
}, {
|
|
173
|
-
option: '--folderUrl [folderUrl]'
|
|
164
|
+
option: '-f, --folderUrl <folderUrl>'
|
|
174
165
|
}, {
|
|
175
166
|
option: '--fields [fields]'
|
|
176
167
|
}, {
|
|
@@ -180,8 +171,6 @@ _SpoFileListCommand_instances = new WeakSet(), _SpoFileListCommand_initTelemetry
|
|
|
180
171
|
});
|
|
181
172
|
}, _SpoFileListCommand_initValidators = function _SpoFileListCommand_initValidators() {
|
|
182
173
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () { return validation_1.validation.isValidSharePointUrl(args.options.webUrl); }));
|
|
183
|
-
}, _SpoFileListCommand_initOptionSets = function _SpoFileListCommand_initOptionSets() {
|
|
184
|
-
this.optionSets.push({ options: ['folder', 'folderUrl'] });
|
|
185
174
|
};
|
|
186
175
|
SpoFileListCommand.pageSize = 5000;
|
|
187
176
|
module.exports = new SpoFileListCommand();
|
|
@@ -38,34 +38,8 @@ class SpoFolderRemoveCommand extends SpoCommand_1.default {
|
|
|
38
38
|
}
|
|
39
39
|
commandAction(logger, args) {
|
|
40
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const removeFolder = () => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
if (this.verbose) {
|
|
43
|
-
logger.logToStderr(`Removing folder in site at ${args.options.webUrl}...`);
|
|
44
|
-
}
|
|
45
|
-
const serverRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
|
|
46
|
-
let requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
47
|
-
if (args.options.recycle) {
|
|
48
|
-
requestUrl += `/recycle()`;
|
|
49
|
-
}
|
|
50
|
-
const requestOptions = {
|
|
51
|
-
url: requestUrl,
|
|
52
|
-
method: 'POST',
|
|
53
|
-
headers: {
|
|
54
|
-
'X-HTTP-Method': 'DELETE',
|
|
55
|
-
'If-Match': '*',
|
|
56
|
-
'accept': 'application/json;odata=nometadata'
|
|
57
|
-
},
|
|
58
|
-
responseType: 'json'
|
|
59
|
-
};
|
|
60
|
-
try {
|
|
61
|
-
yield request_1.default.post(requestOptions);
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
this.handleRejectedODataJsonPromise(err);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
41
|
if (args.options.force) {
|
|
68
|
-
yield removeFolder();
|
|
42
|
+
yield this.removeFolder(logger, args.options);
|
|
69
43
|
}
|
|
70
44
|
else {
|
|
71
45
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -75,11 +49,39 @@ class SpoFolderRemoveCommand extends SpoCommand_1.default {
|
|
|
75
49
|
message: `Are you sure you want to ${args.options.recycle ? "recycle" : "remove"} the folder ${args.options.url} located in site ${args.options.webUrl}?`
|
|
76
50
|
});
|
|
77
51
|
if (result.continue) {
|
|
78
|
-
yield removeFolder();
|
|
52
|
+
yield this.removeFolder(logger, args.options);
|
|
79
53
|
}
|
|
80
54
|
}
|
|
81
55
|
});
|
|
82
56
|
}
|
|
57
|
+
removeFolder(logger, options) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
if (this.verbose) {
|
|
60
|
+
logger.logToStderr(`Removing folder in site at ${options.webUrl}...`);
|
|
61
|
+
}
|
|
62
|
+
const serverRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(options.webUrl, options.url);
|
|
63
|
+
let requestUrl = `${options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(serverRelativeUrl)}')`;
|
|
64
|
+
if (options.recycle) {
|
|
65
|
+
requestUrl += `/recycle()`;
|
|
66
|
+
}
|
|
67
|
+
const requestOptions = {
|
|
68
|
+
url: requestUrl,
|
|
69
|
+
method: 'POST',
|
|
70
|
+
headers: {
|
|
71
|
+
'X-HTTP-Method': 'DELETE',
|
|
72
|
+
'If-Match': '*',
|
|
73
|
+
'accept': 'application/json;odata=nometadata'
|
|
74
|
+
},
|
|
75
|
+
responseType: 'json'
|
|
76
|
+
};
|
|
77
|
+
try {
|
|
78
|
+
yield request_1.default.post(requestOptions);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
this.handleRejectedODataJsonPromise(err);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
83
85
|
}
|
|
84
86
|
_SpoFolderRemoveCommand_instances = new WeakSet(), _SpoFolderRemoveCommand_initTelemetry = function _SpoFolderRemoveCommand_initTelemetry() {
|
|
85
87
|
this.telemetry.push((args) => {
|
|
@@ -78,9 +78,6 @@ class SpoListAddCommand extends SpoCommand_1.default {
|
|
|
78
78
|
}
|
|
79
79
|
commandAction(logger, args) {
|
|
80
80
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
if (args.options.schemaXml) {
|
|
82
|
-
this.warn(logger, `Option 'schemaXml' is deprecated.`);
|
|
83
|
-
}
|
|
84
81
|
if (this.verbose) {
|
|
85
82
|
logger.logToStderr(`Creating list in site at ${args.options.webUrl}...`);
|
|
86
83
|
}
|
|
@@ -114,9 +111,6 @@ class SpoListAddCommand extends SpoCommand_1.default {
|
|
|
114
111
|
if (options.templateFeatureId) {
|
|
115
112
|
requestBody.TemplateFeatureId = options.templateFeatureId;
|
|
116
113
|
}
|
|
117
|
-
if (options.schemaXml) {
|
|
118
|
-
requestBody.SchemaXml = options.schemaXml.replace('\\', '\\\\').replace('"', '\\"');
|
|
119
|
-
}
|
|
120
114
|
if (options.allowDeletion !== undefined) {
|
|
121
115
|
requestBody.AllowDeletion = options.allowDeletion;
|
|
122
116
|
}
|
|
@@ -302,7 +296,6 @@ _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry =
|
|
|
302
296
|
'baseTemplate',
|
|
303
297
|
'description',
|
|
304
298
|
'templateFeatureId',
|
|
305
|
-
'schemaXml',
|
|
306
299
|
'defaultContentApprovalWorkflowId',
|
|
307
300
|
'defaultDisplayFormUrl',
|
|
308
301
|
'defaultEditFormUrl',
|
|
@@ -354,8 +347,6 @@ _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry =
|
|
|
354
347
|
option: '--description [description]'
|
|
355
348
|
}, {
|
|
356
349
|
option: '--templateFeatureId [templateFeatureId]'
|
|
357
|
-
}, {
|
|
358
|
-
option: '--schemaXml [schemaXml]'
|
|
359
350
|
}, {
|
|
360
351
|
option: '--allowDeletion [allowDeletion]',
|
|
361
352
|
autocomplete: ['true', 'false']
|
|
@@ -25,9 +25,6 @@ class SpoListRetentionLabelEnsureCommand extends SpoCommand_1.default {
|
|
|
25
25
|
get name() {
|
|
26
26
|
return commands_1.default.LIST_RETENTIONLABEL_ENSURE;
|
|
27
27
|
}
|
|
28
|
-
alias() {
|
|
29
|
-
return [commands_1.default.LIST_LABEL_SET];
|
|
30
|
-
}
|
|
31
28
|
get description() {
|
|
32
29
|
return 'Sets a default retention label on the specified list or library.';
|
|
33
30
|
}
|
|
@@ -41,7 +38,6 @@ class SpoListRetentionLabelEnsureCommand extends SpoCommand_1.default {
|
|
|
41
38
|
}
|
|
42
39
|
commandAction(logger, args) {
|
|
43
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
this.showDeprecationWarning(logger, commands_1.default.LIST_LABEL_SET, commands_1.default.LIST_RETENTIONLABEL_ENSURE);
|
|
45
41
|
if (args.options.label) {
|
|
46
42
|
args.options.name = args.options.label;
|
|
47
43
|
this.warn(logger, `Option 'label' is deprecated. Please use 'name' instead`);
|
|
@@ -25,9 +25,6 @@ class SpoListRetentionLabelGetCommand extends SpoCommand_1.default {
|
|
|
25
25
|
get name() {
|
|
26
26
|
return commands_1.default.LIST_RETENTIONLABEL_GET;
|
|
27
27
|
}
|
|
28
|
-
alias() {
|
|
29
|
-
return [commands_1.default.LIST_LABEL_GET];
|
|
30
|
-
}
|
|
31
28
|
get description() {
|
|
32
29
|
return 'Gets the default retention label set on the specified list or library.';
|
|
33
30
|
}
|
|
@@ -41,7 +38,6 @@ class SpoListRetentionLabelGetCommand extends SpoCommand_1.default {
|
|
|
41
38
|
}
|
|
42
39
|
commandAction(logger, args) {
|
|
43
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
this.showDeprecationWarning(logger, commands_1.default.LIST_LABEL_GET, commands_1.default.LIST_RETENTIONLABEL_GET);
|
|
45
41
|
try {
|
|
46
42
|
if (this.verbose) {
|
|
47
43
|
logger.logToStderr(`Getting label set on the list ${args.options.listId || args.options.listTitle || args.options.listUrl} in site at ${args.options.webUrl}...`);
|
|
@@ -15,16 +15,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoListRoleAssignmentAddCommand_instances, _SpoListRoleAssignmentAddCommand_initTelemetry, _SpoListRoleAssignmentAddCommand_initOptions, _SpoListRoleAssignmentAddCommand_initValidators, _SpoListRoleAssignmentAddCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
const Cli_1 = require("../../../../cli/Cli");
|
|
19
18
|
const request_1 = require("../../../../request");
|
|
20
19
|
const formatting_1 = require("../../../../utils/formatting");
|
|
21
20
|
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
22
21
|
const validation_1 = require("../../../../utils/validation");
|
|
23
22
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
24
23
|
const commands_1 = require("../../commands");
|
|
25
|
-
const
|
|
26
|
-
const SpoGroupGetCommand = require("../group/group-get");
|
|
27
|
-
const SpoRoleDefinitionListCommand = require("../roledefinition/roledefinition-list");
|
|
24
|
+
const spo_1 = require("../../../../utils/spo");
|
|
28
25
|
class SpoListRoleAssignmentAddCommand extends SpoCommand_1.default {
|
|
29
26
|
get name() {
|
|
30
27
|
return commands_1.default.LIST_ROLEASSIGNMENT_ADD;
|
|
@@ -57,13 +54,15 @@ class SpoListRoleAssignmentAddCommand extends SpoCommand_1.default {
|
|
|
57
54
|
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
58
55
|
requestUrl += `GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/`;
|
|
59
56
|
}
|
|
60
|
-
args.options.roleDefinitionId = yield this.getRoleDefinitionId(args.options);
|
|
57
|
+
args.options.roleDefinitionId = yield this.getRoleDefinitionId(args.options, logger);
|
|
61
58
|
if (args.options.upn) {
|
|
62
|
-
|
|
59
|
+
const user = yield spo_1.spo.getUserByEmail(args.options.webUrl, args.options.upn, logger, this.verbose);
|
|
60
|
+
args.options.principalId = user.Id;
|
|
63
61
|
yield this.addRoleAssignment(requestUrl, logger, args.options);
|
|
64
62
|
}
|
|
65
63
|
else if (args.options.groupName) {
|
|
66
|
-
|
|
64
|
+
const group = yield spo_1.spo.getGroupByName(args.options.webUrl, args.options.groupName, logger, this.verbose);
|
|
65
|
+
args.options.principalId = group.Id;
|
|
67
66
|
yield this.addRoleAssignment(requestUrl, logger, args.options);
|
|
68
67
|
}
|
|
69
68
|
else {
|
|
@@ -89,50 +88,13 @@ class SpoListRoleAssignmentAddCommand extends SpoCommand_1.default {
|
|
|
89
88
|
return request_1.default.post(requestOptions);
|
|
90
89
|
});
|
|
91
90
|
}
|
|
92
|
-
getRoleDefinitionId(options) {
|
|
91
|
+
getRoleDefinitionId(options, logger) {
|
|
93
92
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
93
|
if (!options.roleDefinitionName) {
|
|
95
94
|
return options.roleDefinitionId;
|
|
96
95
|
}
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
output: 'json',
|
|
100
|
-
debug: this.debug,
|
|
101
|
-
verbose: this.verbose
|
|
102
|
-
};
|
|
103
|
-
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoRoleDefinitionListCommand, { options: Object.assign(Object.assign({}, roleDefinitionListCommandOptions), { _: [] }) });
|
|
104
|
-
const getRoleDefinitionListOutput = JSON.parse(output.stdout);
|
|
105
|
-
const roleDefinitionId = getRoleDefinitionListOutput.find((role) => role.Name === options.roleDefinitionName).Id;
|
|
106
|
-
return roleDefinitionId;
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
getGroupPrincipalId(options) {
|
|
110
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
const groupGetCommandOptions = {
|
|
112
|
-
webUrl: options.webUrl,
|
|
113
|
-
name: options.groupName,
|
|
114
|
-
output: 'json',
|
|
115
|
-
debug: this.debug,
|
|
116
|
-
verbose: this.verbose
|
|
117
|
-
};
|
|
118
|
-
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
|
|
119
|
-
const getGroupOutput = JSON.parse(output.stdout);
|
|
120
|
-
return getGroupOutput.Id;
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
getUserPrincipalId(options) {
|
|
124
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
-
const userGetCommandOptions = {
|
|
126
|
-
webUrl: options.webUrl,
|
|
127
|
-
email: options.upn,
|
|
128
|
-
id: undefined,
|
|
129
|
-
output: 'json',
|
|
130
|
-
debug: this.debug,
|
|
131
|
-
verbose: this.verbose
|
|
132
|
-
};
|
|
133
|
-
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
|
|
134
|
-
const getUserOutput = JSON.parse(output.stdout);
|
|
135
|
-
return getUserOutput.Id;
|
|
96
|
+
const roleDefinition = yield spo_1.spo.getRoleDefinitionByName(options.webUrl, options.roleDefinitionName, logger, this.verbose);
|
|
97
|
+
return roleDefinition.Id;
|
|
136
98
|
});
|
|
137
99
|
}
|
|
138
100
|
}
|
|
@@ -67,9 +67,6 @@ class SpoListSetCommand extends SpoCommand_1.default {
|
|
|
67
67
|
}
|
|
68
68
|
commandAction(logger, args) {
|
|
69
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
if (args.options.schemaXml) {
|
|
71
|
-
this.warn(logger, `Option 'schemaXml' is deprecated.`);
|
|
72
|
-
}
|
|
73
70
|
if (this.verbose) {
|
|
74
71
|
logger.logToStderr(`Updating list in site at ${args.options.webUrl}...`);
|
|
75
72
|
}
|
|
@@ -116,9 +113,6 @@ class SpoListSetCommand extends SpoCommand_1.default {
|
|
|
116
113
|
if (options.templateFeatureId) {
|
|
117
114
|
requestBody.TemplateFeatureId = options.templateFeatureId;
|
|
118
115
|
}
|
|
119
|
-
if (options.schemaXml) {
|
|
120
|
-
requestBody.SchemaXml = options.schemaXml.replace('\\', '\\\\').replace('"', '\\"');
|
|
121
|
-
}
|
|
122
116
|
if (options.allowDeletion !== undefined) {
|
|
123
117
|
requestBody.AllowDeletion = options.allowDeletion;
|
|
124
118
|
}
|
|
@@ -307,7 +301,6 @@ _SpoListSetCommand_instances = new WeakSet(), _SpoListSetCommand_initTelemetry =
|
|
|
307
301
|
'newTitle',
|
|
308
302
|
'description',
|
|
309
303
|
'templateFeatureId',
|
|
310
|
-
'schemaXml',
|
|
311
304
|
'defaultContentApprovalWorkflowId',
|
|
312
305
|
'defaultDisplayFormUrl',
|
|
313
306
|
'defaultEditFormUrl',
|
|
@@ -506,8 +499,6 @@ _SpoListSetCommand_instances = new WeakSet(), _SpoListSetCommand_initTelemetry =
|
|
|
506
499
|
}, {
|
|
507
500
|
option: '--restrictUserUpdates [restrictUserUpdates]',
|
|
508
501
|
autocomplete: ['true', 'false']
|
|
509
|
-
}, {
|
|
510
|
-
option: '--schemaXml [schemaXml]'
|
|
511
502
|
}, {
|
|
512
503
|
option: '--sendToLocationName [sendToLocationName]'
|
|
513
504
|
}, {
|
|
@@ -53,7 +53,7 @@ class SpoListItemAttachmentListCommand extends SpoCommand_1.default {
|
|
|
53
53
|
requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
|
|
54
54
|
}
|
|
55
55
|
const requestOptions = {
|
|
56
|
-
url: `${requestUrl}/items(${args.options.
|
|
56
|
+
url: `${requestUrl}/items(${args.options.listItemId})?$select=AttachmentFiles&$expand=AttachmentFiles`,
|
|
57
57
|
method: 'GET',
|
|
58
58
|
headers: {
|
|
59
59
|
'accept': 'application/json;odata=nometadata'
|
|
@@ -89,7 +89,7 @@ _SpoListItemAttachmentListCommand_instances = new WeakSet(), _SpoListItemAttachm
|
|
|
89
89
|
this.options.unshift({
|
|
90
90
|
option: '-u, --webUrl <webUrl>'
|
|
91
91
|
}, {
|
|
92
|
-
option: '--
|
|
92
|
+
option: '--listItemId <listItemId>'
|
|
93
93
|
}, {
|
|
94
94
|
option: '--listId [listId]'
|
|
95
95
|
}, {
|
|
@@ -106,8 +106,8 @@ _SpoListItemAttachmentListCommand_instances = new WeakSet(), _SpoListItemAttachm
|
|
|
106
106
|
if (args.options.listId && !validation_1.validation.isValidGuid(args.options.listId)) {
|
|
107
107
|
return `${args.options.listId} in option listId is not a valid GUID`;
|
|
108
108
|
}
|
|
109
|
-
if (isNaN(parseInt(args.options.
|
|
110
|
-
return `${args.options.
|
|
109
|
+
if (isNaN(parseInt(args.options.listItemId))) {
|
|
110
|
+
return `${args.options.listItemId} is not a number`;
|
|
111
111
|
}
|
|
112
112
|
return true;
|
|
113
113
|
}));
|
|
@@ -37,37 +37,8 @@ class SpoPageRemoveCommand extends SpoCommand_1.default {
|
|
|
37
37
|
}
|
|
38
38
|
commandAction(logger, args) {
|
|
39
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
let requestDigest = '';
|
|
41
|
-
let pageName = args.options.name;
|
|
42
|
-
const removePage = () => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
try {
|
|
44
|
-
const reqDigest = yield spo_1.spo.getRequestDigest(args.options.webUrl);
|
|
45
|
-
requestDigest = reqDigest.FormDigestValue;
|
|
46
|
-
if (!pageName.endsWith('.aspx')) {
|
|
47
|
-
pageName += '.aspx';
|
|
48
|
-
}
|
|
49
|
-
if (this.verbose) {
|
|
50
|
-
logger.logToStderr(`Removing page ${pageName}...`);
|
|
51
|
-
}
|
|
52
|
-
const requestOptions = {
|
|
53
|
-
url: `${args.options
|
|
54
|
-
.webUrl}/_api/web/getfilebyserverrelativeurl('${urlUtil_1.urlUtil.getServerRelativeSiteUrl(args.options.webUrl)}/sitepages/${pageName}')`,
|
|
55
|
-
headers: {
|
|
56
|
-
'X-RequestDigest': requestDigest,
|
|
57
|
-
'X-HTTP-Method': 'DELETE',
|
|
58
|
-
'content-type': 'application/json;odata=nometadata',
|
|
59
|
-
accept: 'application/json;odata=nometadata'
|
|
60
|
-
},
|
|
61
|
-
responseType: 'json'
|
|
62
|
-
};
|
|
63
|
-
yield request_1.default.post(requestOptions);
|
|
64
|
-
}
|
|
65
|
-
catch (err) {
|
|
66
|
-
this.handleRejectedODataJsonPromise(err);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
40
|
if (args.options.force) {
|
|
70
|
-
yield removePage();
|
|
41
|
+
yield this.removePage(logger, args);
|
|
71
42
|
}
|
|
72
43
|
else {
|
|
73
44
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -77,11 +48,42 @@ class SpoPageRemoveCommand extends SpoCommand_1.default {
|
|
|
77
48
|
message: `Are you sure you want to remove the page '${args.options.name}'?`
|
|
78
49
|
});
|
|
79
50
|
if (result.continue) {
|
|
80
|
-
yield removePage();
|
|
51
|
+
yield this.removePage(logger, args);
|
|
81
52
|
}
|
|
82
53
|
}
|
|
83
54
|
});
|
|
84
55
|
}
|
|
56
|
+
removePage(logger, args) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
try {
|
|
59
|
+
let requestDigest = '';
|
|
60
|
+
let pageName = args.options.name;
|
|
61
|
+
const reqDigest = yield spo_1.spo.getRequestDigest(args.options.webUrl);
|
|
62
|
+
requestDigest = reqDigest.FormDigestValue;
|
|
63
|
+
if (!pageName.endsWith('.aspx')) {
|
|
64
|
+
pageName += '.aspx';
|
|
65
|
+
}
|
|
66
|
+
if (this.verbose) {
|
|
67
|
+
logger.logToStderr(`Removing page ${pageName}...`);
|
|
68
|
+
}
|
|
69
|
+
const requestOptions = {
|
|
70
|
+
url: `${args.options
|
|
71
|
+
.webUrl}/_api/web/getfilebyserverrelativeurl('${urlUtil_1.urlUtil.getServerRelativeSiteUrl(args.options.webUrl)}/sitepages/${pageName}')`,
|
|
72
|
+
headers: {
|
|
73
|
+
'X-RequestDigest': requestDigest,
|
|
74
|
+
'X-HTTP-Method': 'DELETE',
|
|
75
|
+
'content-type': 'application/json;odata=nometadata',
|
|
76
|
+
accept: 'application/json;odata=nometadata'
|
|
77
|
+
},
|
|
78
|
+
responseType: 'json'
|
|
79
|
+
};
|
|
80
|
+
yield request_1.default.post(requestOptions);
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
this.handleRejectedODataJsonPromise(err);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
85
87
|
}
|
|
86
88
|
_SpoPageRemoveCommand_instances = new WeakSet(), _SpoPageRemoveCommand_initOptions = function _SpoPageRemoveCommand_initOptions() {
|
|
87
89
|
this.options.unshift({
|