@pnp/cli-microsoft365 6.8.0-beta.2463cfa → 6.8.0-beta.74dea8a
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.js +2 -0
- package/.mocharc.json +1 -0
- package/README.md +6 -1
- package/dist/m365/commands/commands.js +1 -0
- package/dist/m365/commands/docs.js +42 -0
- package/dist/m365/commands/login.js +1 -1
- package/dist/m365/pa/commands/app/app-consent-set.js +101 -0
- package/dist/m365/pa/commands.js +1 -0
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-get.js +97 -0
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-list.js +85 -0
- package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-policysettings-list.js +89 -0
- package/dist/m365/purview/commands.js +3 -0
- package/dist/m365/spo/commands/file/file-checkin.js +8 -3
- package/dist/m365/spo/commands/file/file-checkout.js +8 -3
- package/dist/m365/spo/commands/file/file-copy.js +4 -4
- package/dist/m365/spo/commands/file/file-get.js +3 -1
- package/dist/m365/spo/commands/file/file-list.js +17 -6
- package/dist/m365/spo/commands/file/file-move.js +6 -7
- package/dist/m365/spo/commands/file/file-remove.js +6 -12
- package/dist/m365/spo/commands/file/file-rename.js +3 -3
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +2 -1
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +3 -3
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +2 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +2 -1
- package/dist/m365/spo/commands/file/file-sharinginfo-get.js +4 -2
- package/dist/m365/spo/commands/file/file-version-clear.js +3 -1
- package/dist/m365/spo/commands/file/file-version-get.js +3 -1
- package/dist/m365/spo/commands/file/file-version-remove.js +3 -1
- package/dist/m365/spo/commands/file/file-version-restore.js +3 -1
- package/dist/m365/spo/commands/folder/folder-copy.js +4 -4
- package/dist/m365/spo/commands/folder/folder-get.js +5 -2
- package/dist/m365/spo/commands/folder/folder-move.js +3 -2
- package/dist/m365/spo/commands/folder/folder-rename.js +5 -2
- package/dist/m365/spo/commands/list/list-get.js +30 -3
- package/dist/m365/spo/commands/list/list-list.js +39 -2
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +46 -1
- package/dist/m365/spo/commands/site/site-recyclebinitem-move.js +119 -0
- package/dist/m365/spo/commands/site/site-recyclebinitem-remove.js +106 -0
- package/dist/m365/spo/commands/term/term-add.js +13 -4
- package/dist/m365/spo/commands/term/term-get.js +14 -5
- package/dist/m365/spo/commands/term/term-group-get.js +12 -3
- package/dist/m365/spo/commands/term/term-group-list.js +39 -4
- package/dist/m365/spo/commands/term/term-list.js +18 -9
- package/dist/m365/spo/commands/term/term-set-add.js +13 -4
- package/dist/m365/spo/commands/term/term-set-get.js +12 -3
- package/dist/m365/spo/commands/term/term-set-list.js +12 -3
- package/dist/m365/spo/commands.js +3 -0
- package/dist/utils/spo.js +1 -1
- package/docs/docs/cmd/aad/o365group/o365group-get.md +0 -12
- package/docs/docs/cmd/cli/cli-consent.md +6 -0
- package/docs/docs/cmd/cli/cli-doctor.md +17 -0
- package/docs/docs/cmd/cli/cli-issue.md +6 -0
- package/docs/docs/cmd/cli/cli-reconsent.md +6 -0
- package/docs/docs/cmd/cli/completion/completion-sh-setup.md +6 -0
- package/docs/docs/cmd/cli/config/config-get.md +6 -0
- package/docs/docs/cmd/docs.md +51 -0
- package/docs/docs/cmd/login.md +1 -1
- package/docs/docs/cmd/pa/app/app-consent-set.md +47 -0
- package/docs/docs/cmd/planner/task/task-get.md +0 -6
- package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-get.md +118 -0
- package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-list.md +111 -0
- package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-policysettings-list.md +97 -0
- package/docs/docs/cmd/search/externalconnection/externalconnection-get.md +17 -0
- package/docs/docs/cmd/search/externalconnection/externalconnection-list.md +17 -0
- package/docs/docs/cmd/spo/file/file-add.md +1 -1
- package/docs/docs/cmd/spo/file/file-checkin.md +1 -1
- package/docs/docs/cmd/spo/file/file-checkout.md +1 -1
- package/docs/docs/cmd/spo/file/file-copy.md +1 -1
- package/docs/docs/cmd/spo/file/file-get.md +1 -1
- package/docs/docs/cmd/spo/file/file-list.md +9 -6
- package/docs/docs/cmd/spo/file/file-move.md +3 -3
- package/docs/docs/cmd/spo/file/file-remove.md +12 -0
- package/docs/docs/cmd/spo/file/file-rename.md +1 -1
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.md +3 -3
- package/docs/docs/cmd/spo/file/file-retentionlabel-remove.md +2 -2
- package/docs/docs/cmd/spo/file/file-roleassignment-add.md +1 -1
- package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +1 -1
- package/docs/docs/cmd/spo/file/file-sharinginfo-get.md +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-add.md +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-get.md +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-remove.md +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-set.md +1 -1
- package/docs/docs/cmd/spo/file/file-version-clear.md +2 -2
- package/docs/docs/cmd/spo/file/file-version-get.md +1 -1
- package/docs/docs/cmd/spo/file/file-version-list.md +1 -1
- package/docs/docs/cmd/spo/file/file-version-remove.md +1 -1
- package/docs/docs/cmd/spo/file/file-version-restore.md +1 -1
- package/docs/docs/cmd/spo/folder/folder-add.md +9 -3
- package/docs/docs/cmd/spo/folder/folder-copy.md +1 -1
- package/docs/docs/cmd/spo/folder/folder-get.md +7 -7
- package/docs/docs/cmd/spo/folder/folder-list.md +11 -11
- package/docs/docs/cmd/spo/folder/folder-move.md +1 -1
- package/docs/docs/cmd/spo/folder/folder-remove.md +7 -7
- package/docs/docs/cmd/spo/folder/folder-rename.md +11 -5
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.md +3 -3
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.md +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +4 -4
- package/docs/docs/cmd/spo/list/list-get.md +10 -0
- package/docs/docs/cmd/spo/list/list-list.md +28 -0
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.md +19 -0
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-remove.md +12 -0
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-list.md +6 -0
- package/docs/docs/cmd/spo/page/page-column-get.md +15 -0
- package/docs/docs/cmd/spo/page/page-column-list.md +16 -0
- package/docs/docs/cmd/spo/page/page-control-get.md +18 -0
- package/docs/docs/cmd/spo/page/page-control-list.md +18 -0
- package/docs/docs/cmd/spo/page/page-copy.md +35 -0
- package/docs/docs/cmd/spo/page/page-get.md +39 -0
- package/docs/docs/cmd/spo/page/page-list.md +53 -0
- package/docs/docs/cmd/spo/page/page-section-get.md +12 -0
- package/docs/docs/cmd/spo/page/page-section-list.md +13 -0
- package/docs/docs/cmd/spo/page/page-template-list.md +31 -0
- package/docs/docs/cmd/spo/propertybag/propertybag-get.md +6 -0
- package/docs/docs/cmd/spo/propertybag/propertybag-list.md +13 -0
- package/docs/docs/cmd/spo/report/report-activityfilecounts.md +7 -0
- package/docs/docs/cmd/spo/report/report-activitypages.md +7 -0
- package/docs/docs/cmd/spo/report/report-activityusercounts.md +7 -0
- package/docs/docs/cmd/spo/report/report-activityuserdetail.md +7 -0
- package/docs/docs/cmd/spo/report/report-siteusagedetail.md +7 -0
- package/docs/docs/cmd/spo/report/report-siteusagefilecounts.md +7 -0
- package/docs/docs/cmd/spo/report/report-siteusagepages.md +7 -0
- package/docs/docs/cmd/spo/report/report-siteusagesitecounts.md +7 -0
- package/docs/docs/cmd/spo/report/report-siteusagestorage.md +7 -0
- package/docs/docs/cmd/spo/roledefinition/roledefinition-get.md +20 -0
- package/docs/docs/cmd/spo/roledefinition/roledefinition-list.md +20 -0
- package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-add.md +20 -0
- package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-list.md +18 -0
- package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-approve.md +20 -0
- package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-list.md +17 -0
- package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-set.md +13 -0
- package/docs/docs/cmd/spo/site/site-recyclebinitem-move.md +43 -0
- package/docs/docs/cmd/spo/site/site-recyclebinitem-remove.md +45 -0
- package/docs/docs/cmd/spo/term/term-add.md +107 -6
- package/docs/docs/cmd/spo/term/term-get.md +111 -10
- package/docs/docs/cmd/spo/term/term-group-get.md +71 -5
- package/docs/docs/cmd/spo/term/term-group-list.md +70 -2
- package/docs/docs/cmd/spo/term/term-list.md +80 -8
- package/docs/docs/cmd/spo/term/term-set-add.md +95 -11
- package/docs/docs/cmd/spo/term/term-set-get.md +92 -8
- package/docs/docs/cmd/spo/term/term-set-list.md +85 -5
- package/docs/docs/cmd/teams/app/app-list.md +17 -0
- package/docs/docs/cmd/teams/app/app-publish.md +18 -1
- package/docs/docs/cmd/teams/channel/channel-add.md +20 -0
- package/docs/docs/cmd/teams/channel/channel-get.md +21 -0
- package/docs/docs/cmd/teams/channel/channel-list.md +21 -0
- package/docs/docs/cmd/teams/channel/channel-member-list.md +20 -0
- package/docs/docs/cmd/teams/channel/channel-member-set.md +21 -0
- package/docs/docs/cmd/teams/chat/chat-get.md +22 -0
- package/docs/docs/cmd/teams/chat/chat-list.md +22 -0
- package/docs/docs/cmd/teams/chat/chat-member-list.md +20 -0
- package/docs/docs/cmd/teams/chat/chat-message-list.md +23 -0
- package/docs/docs/cmd/teams/funsettings/funsettings-list.md +15 -0
- package/docs/docs/cmd/teams/guestsettings/guestsettings-list.md +13 -0
- package/docs/docs/cmd/teams/membersettings/membersettings-list.md +17 -0
- package/npm-shrinkwrap.json +267 -334
- package/package.json +12 -12
|
@@ -46,8 +46,21 @@ class SpoServicePrincipalPermissionRequestListCommand extends SpoCommand_1.defau
|
|
|
46
46
|
throw response.ErrorInfo.ErrorMessage;
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
|
+
let spoWebAppServicePrincipalPermissionRequestResult = [];
|
|
49
50
|
const result = json[json.length - 1]._Child_Items_;
|
|
50
|
-
|
|
51
|
+
if (result.length > 0) {
|
|
52
|
+
const spoClientExtensibilityWebApplicationPrincipalId = yield this.getSPOClientExtensibilityWebApplicationPrincipalId();
|
|
53
|
+
if (spoClientExtensibilityWebApplicationPrincipalId !== null) {
|
|
54
|
+
const oAuth2PermissionGrants = yield this.getOAuth2PermissionGrants(spoClientExtensibilityWebApplicationPrincipalId);
|
|
55
|
+
if (oAuth2PermissionGrants) {
|
|
56
|
+
spoWebAppServicePrincipalPermissionRequestResult = result.filter(x => oAuth2PermissionGrants.indexOf(x.Scope) === -1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (spoWebAppServicePrincipalPermissionRequestResult.length === 0) {
|
|
61
|
+
spoWebAppServicePrincipalPermissionRequestResult = result;
|
|
62
|
+
}
|
|
63
|
+
logger.log(spoWebAppServicePrincipalPermissionRequestResult.map(r => {
|
|
51
64
|
return {
|
|
52
65
|
Id: r.Id.replace('/Guid(', '').replace(')/', ''),
|
|
53
66
|
Resource: r.Resource,
|
|
@@ -62,6 +75,38 @@ class SpoServicePrincipalPermissionRequestListCommand extends SpoCommand_1.defau
|
|
|
62
75
|
}
|
|
63
76
|
});
|
|
64
77
|
}
|
|
78
|
+
getOAuth2PermissionGrants(spoClientExtensibilityWebApplicationPrincipalId) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const requestOptions = {
|
|
81
|
+
url: `https://graph.microsoft.com/v1.0/oAuth2Permissiongrants/?$filter=clientId eq '${spoClientExtensibilityWebApplicationPrincipalId}' and consentType eq 'AllPrincipals'`,
|
|
82
|
+
headers: {
|
|
83
|
+
accept: 'application/json;odata.metadata=none'
|
|
84
|
+
},
|
|
85
|
+
responseType: 'json'
|
|
86
|
+
};
|
|
87
|
+
const response = yield request_1.default.get(requestOptions);
|
|
88
|
+
if (response.value && response.value.length > 0) {
|
|
89
|
+
return response.value[0].scope.split(' ');
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
getSPOClientExtensibilityWebApplicationPrincipalId() {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
const requestOptions = {
|
|
97
|
+
url: `https://graph.microsoft.com/v1.0/servicePrincipals/?$filter=displayName eq 'SharePoint Online Client Extensibility Web Application Principal'`,
|
|
98
|
+
headers: {
|
|
99
|
+
accept: 'application/json;odata.metadata=none'
|
|
100
|
+
},
|
|
101
|
+
responseType: 'json'
|
|
102
|
+
};
|
|
103
|
+
const response = yield request_1.default.get(requestOptions);
|
|
104
|
+
if (response.value && response.value.length > 0) {
|
|
105
|
+
return response.value[0].id;
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
65
110
|
}
|
|
66
111
|
module.exports = new SpoServicePrincipalPermissionRequestListCommand();
|
|
67
112
|
//# sourceMappingURL=serviceprincipal-permissionrequest-list.js.map
|
|
@@ -0,0 +1,119 @@
|
|
|
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
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _SpoSiteRecycleBinItemMoveCommand_instances, _SpoSiteRecycleBinItemMoveCommand_initTelemetry, _SpoSiteRecycleBinItemMoveCommand_initOptions, _SpoSiteRecycleBinItemMoveCommand_initOptionSets, _SpoSiteRecycleBinItemMoveCommand_initValidators;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
19
|
+
const request_1 = require("../../../../request");
|
|
20
|
+
const validation_1 = require("../../../../utils/validation");
|
|
21
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
22
|
+
const commands_1 = require("../../commands");
|
|
23
|
+
class SpoSiteRecycleBinItemMoveCommand extends SpoCommand_1.default {
|
|
24
|
+
get name() {
|
|
25
|
+
return commands_1.default.SITE_RECYCLEBINITEM_MOVE;
|
|
26
|
+
}
|
|
27
|
+
get description() {
|
|
28
|
+
return 'Moves items from the first-stage recycle bin to the second-stage recycle bin';
|
|
29
|
+
}
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
_SpoSiteRecycleBinItemMoveCommand_instances.add(this);
|
|
33
|
+
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemMoveCommand_instances, "m", _SpoSiteRecycleBinItemMoveCommand_initTelemetry).call(this);
|
|
34
|
+
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemMoveCommand_instances, "m", _SpoSiteRecycleBinItemMoveCommand_initOptions).call(this);
|
|
35
|
+
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemMoveCommand_instances, "m", _SpoSiteRecycleBinItemMoveCommand_initOptionSets).call(this);
|
|
36
|
+
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemMoveCommand_instances, "m", _SpoSiteRecycleBinItemMoveCommand_initValidators).call(this);
|
|
37
|
+
}
|
|
38
|
+
commandAction(logger, args) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
if (args.options.confirm) {
|
|
41
|
+
yield this.moveRecycleBinItem(args, logger);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const result = yield Cli_1.Cli.prompt({
|
|
45
|
+
type: 'confirm',
|
|
46
|
+
name: 'continue',
|
|
47
|
+
default: false,
|
|
48
|
+
message: 'Are you sure you want to move these items to the second-stage recycle bin?'
|
|
49
|
+
});
|
|
50
|
+
if (result.continue) {
|
|
51
|
+
yield this.moveRecycleBinItem(args, logger);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
moveRecycleBinItem(args, logger) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
try {
|
|
59
|
+
const requestOptions = {
|
|
60
|
+
url: `${args.options.siteUrl}/_api/web/recycleBin/MoveAllToSecondStage`,
|
|
61
|
+
headers: {
|
|
62
|
+
'accept': 'application/json;odata=nometadata'
|
|
63
|
+
},
|
|
64
|
+
responseType: 'json'
|
|
65
|
+
};
|
|
66
|
+
if (args.options.ids !== undefined) {
|
|
67
|
+
const ids = args.options.ids.split(',');
|
|
68
|
+
if (this.verbose) {
|
|
69
|
+
logger.logToStderr(`Moving ${ids.length} items to the second-stage recycle bin.`);
|
|
70
|
+
}
|
|
71
|
+
requestOptions.data = {
|
|
72
|
+
ids: ids
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
else if (this.verbose) {
|
|
76
|
+
logger.logToStderr('Moving all items to the second-stage recycle bin.');
|
|
77
|
+
}
|
|
78
|
+
yield request_1.default.post(requestOptions);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
this.handleRejectedODataJsonPromise(err);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
_SpoSiteRecycleBinItemMoveCommand_instances = new WeakSet(), _SpoSiteRecycleBinItemMoveCommand_initTelemetry = function _SpoSiteRecycleBinItemMoveCommand_initTelemetry() {
|
|
87
|
+
this.telemetry.push((args) => {
|
|
88
|
+
Object.assign(this.telemetryProperties, {
|
|
89
|
+
ids: typeof args.options.ids !== 'undefined',
|
|
90
|
+
all: !!args.options.all,
|
|
91
|
+
confirm: !!args.options.confirm
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
}, _SpoSiteRecycleBinItemMoveCommand_initOptions = function _SpoSiteRecycleBinItemMoveCommand_initOptions() {
|
|
95
|
+
this.options.unshift({
|
|
96
|
+
option: '-u, --siteUrl <siteUrl>'
|
|
97
|
+
}, {
|
|
98
|
+
option: '-i, --ids [ids]'
|
|
99
|
+
}, {
|
|
100
|
+
option: '--all'
|
|
101
|
+
}, {
|
|
102
|
+
option: '--confirm'
|
|
103
|
+
});
|
|
104
|
+
}, _SpoSiteRecycleBinItemMoveCommand_initOptionSets = function _SpoSiteRecycleBinItemMoveCommand_initOptionSets() {
|
|
105
|
+
this.optionSets.push({ options: ['ids', 'all'] });
|
|
106
|
+
}, _SpoSiteRecycleBinItemMoveCommand_initValidators = function _SpoSiteRecycleBinItemMoveCommand_initValidators() {
|
|
107
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.siteUrl);
|
|
109
|
+
if (isValidSharePointUrl !== true) {
|
|
110
|
+
return isValidSharePointUrl;
|
|
111
|
+
}
|
|
112
|
+
if (args.options.ids && !validation_1.validation.isValidGuidArray(args.options.ids.split(','))) {
|
|
113
|
+
return 'The option ids contains one or more invalid GUIDs';
|
|
114
|
+
}
|
|
115
|
+
return true;
|
|
116
|
+
}));
|
|
117
|
+
};
|
|
118
|
+
module.exports = new SpoSiteRecycleBinItemMoveCommand();
|
|
119
|
+
//# sourceMappingURL=site-recyclebinitem-move.js.map
|
|
@@ -0,0 +1,106 @@
|
|
|
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
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _SpoSiteRecycleBinItemRemoveCommand_instances, _SpoSiteRecycleBinItemRemoveCommand_initTelemetry, _SpoSiteRecycleBinItemRemoveCommand_initOptions, _SpoSiteRecycleBinItemRemoveCommand_initValidators;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
19
|
+
const request_1 = require("../../../../request");
|
|
20
|
+
const validation_1 = require("../../../../utils/validation");
|
|
21
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
22
|
+
const commands_1 = require("../../commands");
|
|
23
|
+
class SpoSiteRecycleBinItemRemoveCommand extends SpoCommand_1.default {
|
|
24
|
+
get name() {
|
|
25
|
+
return commands_1.default.SITE_RECYCLEBINITEM_REMOVE;
|
|
26
|
+
}
|
|
27
|
+
get description() {
|
|
28
|
+
return 'Permanently deletes specific items from the site recycle bin';
|
|
29
|
+
}
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
_SpoSiteRecycleBinItemRemoveCommand_instances.add(this);
|
|
33
|
+
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemRemoveCommand_instances, "m", _SpoSiteRecycleBinItemRemoveCommand_initTelemetry).call(this);
|
|
34
|
+
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemRemoveCommand_instances, "m", _SpoSiteRecycleBinItemRemoveCommand_initOptions).call(this);
|
|
35
|
+
__classPrivateFieldGet(this, _SpoSiteRecycleBinItemRemoveCommand_instances, "m", _SpoSiteRecycleBinItemRemoveCommand_initValidators).call(this);
|
|
36
|
+
}
|
|
37
|
+
commandAction(logger, args) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
if (args.options.confirm) {
|
|
40
|
+
yield this.removeRecycleBinItem(args, logger);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const result = yield Cli_1.Cli.prompt({
|
|
44
|
+
type: 'confirm',
|
|
45
|
+
name: 'continue',
|
|
46
|
+
default: false,
|
|
47
|
+
message: `Are you sure you want to permanently delete ${args.options.ids.split(',').length} item(s) from the site recycle bin?`
|
|
48
|
+
});
|
|
49
|
+
if (result.continue) {
|
|
50
|
+
yield this.removeRecycleBinItem(args, logger);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
removeRecycleBinItem(args, logger) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
if (this.verbose) {
|
|
58
|
+
logger.logToStderr(`Permanently deleting items from the site recycle bin at site ${args.options.siteUrl}...`);
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
const requestOptions = {
|
|
62
|
+
url: `${args.options.siteUrl}/_api/site/RecycleBin/DeleteByIds`,
|
|
63
|
+
headers: {
|
|
64
|
+
accept: 'application/json;odata=nometadata'
|
|
65
|
+
},
|
|
66
|
+
responseType: 'json',
|
|
67
|
+
data: {
|
|
68
|
+
ids: args.options.ids.split(',')
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
yield request_1.default.post(requestOptions);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
this.handleRejectedODataJsonPromise(err);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
_SpoSiteRecycleBinItemRemoveCommand_instances = new WeakSet(), _SpoSiteRecycleBinItemRemoveCommand_initTelemetry = function _SpoSiteRecycleBinItemRemoveCommand_initTelemetry() {
|
|
80
|
+
this.telemetry.push((args) => {
|
|
81
|
+
Object.assign(this.telemetryProperties, {
|
|
82
|
+
confirm: !!args.options.confirm
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}, _SpoSiteRecycleBinItemRemoveCommand_initOptions = function _SpoSiteRecycleBinItemRemoveCommand_initOptions() {
|
|
86
|
+
this.options.unshift({
|
|
87
|
+
option: '-u, --siteUrl <siteUrl>'
|
|
88
|
+
}, {
|
|
89
|
+
option: '-i, --ids <ids>'
|
|
90
|
+
}, {
|
|
91
|
+
option: '--confirm'
|
|
92
|
+
});
|
|
93
|
+
}, _SpoSiteRecycleBinItemRemoveCommand_initValidators = function _SpoSiteRecycleBinItemRemoveCommand_initValidators() {
|
|
94
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.siteUrl);
|
|
96
|
+
if (isValidSharePointUrl !== true) {
|
|
97
|
+
return isValidSharePointUrl;
|
|
98
|
+
}
|
|
99
|
+
if (!validation_1.validation.isValidGuidArray(args.options.ids.split(','))) {
|
|
100
|
+
return 'The option ids contains one or more invalid GUIDs.';
|
|
101
|
+
}
|
|
102
|
+
return true;
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
module.exports = new SpoSiteRecycleBinItemRemoveCommand();
|
|
106
|
+
//# sourceMappingURL=site-recyclebinitem-remove.js.map
|
|
@@ -43,8 +43,8 @@ class SpoTermAddCommand extends SpoCommand_1.default {
|
|
|
43
43
|
let term;
|
|
44
44
|
let formDigest;
|
|
45
45
|
try {
|
|
46
|
-
const
|
|
47
|
-
const res = yield spo_1.spo.getRequestDigest(
|
|
46
|
+
const spoWebUrl = args.options.webUrl ? args.options.webUrl : yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
47
|
+
const res = yield spo_1.spo.getRequestDigest(spoWebUrl);
|
|
48
48
|
formDigest = res.FormDigestValue;
|
|
49
49
|
if (this.verbose) {
|
|
50
50
|
logger.logToStderr(`Adding taxonomy term...`);
|
|
@@ -58,7 +58,7 @@ class SpoTermAddCommand extends SpoCommand_1.default {
|
|
|
58
58
|
const termId = args.options.id || (0, uuid_1.v4)();
|
|
59
59
|
const data = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="4" ObjectPathId="3" /><ObjectIdentityQuery Id="5" ObjectPathId="3" /><ObjectPath Id="7" ObjectPathId="6" /><ObjectIdentityQuery Id="8" ObjectPathId="6" /><ObjectPath Id="10" ObjectPathId="9" /><ObjectPath Id="12" ObjectPathId="11" /><ObjectIdentityQuery Id="13" ObjectPathId="11" /><ObjectPath Id="15" ObjectPathId="14" /><ObjectPath Id="17" ObjectPathId="16" /><ObjectIdentityQuery Id="18" ObjectPathId="16" /><ObjectPath Id="20" ObjectPathId="19" /><ObjectIdentityQuery Id="21" ObjectPathId="19" /><Query Id="22" ObjectPathId="19"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><StaticMethod Id="3" Name="GetTaxonomySession" TypeId="{981cbc68-9edc-4f8d-872f-71146fcbb84f}" /><Method Id="6" ParentId="3" Name="GetDefaultSiteCollectionTermStore" /><Property Id="9" ParentId="6" Name="Groups" />${termGroupQuery}<Property Id="14" ParentId="11" Name="TermSets" />${termParentQuery}<Method Id="19" ParentId="16" Name="CreateTerm"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.name)}</Parameter><Parameter Type="Int32">1033</Parameter><Parameter Type="Guid">{${termId}}</Parameter></Parameters></Method></ObjectPaths></Request>`;
|
|
60
60
|
const requestOptionsPost = {
|
|
61
|
-
url: `${
|
|
61
|
+
url: `${spoWebUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
62
62
|
headers: {
|
|
63
63
|
'X-RequestDigest': res.FormDigestValue
|
|
64
64
|
},
|
|
@@ -108,7 +108,7 @@ class SpoTermAddCommand extends SpoCommand_1.default {
|
|
|
108
108
|
break;
|
|
109
109
|
}
|
|
110
110
|
const requestOptions = {
|
|
111
|
-
url: `${
|
|
111
|
+
url: `${spoWebUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
112
112
|
headers: {
|
|
113
113
|
'X-RequestDigest': formDigest
|
|
114
114
|
},
|
|
@@ -139,6 +139,7 @@ class SpoTermAddCommand extends SpoCommand_1.default {
|
|
|
139
139
|
_SpoTermAddCommand_instances = new WeakSet(), _SpoTermAddCommand_initTelemetry = function _SpoTermAddCommand_initTelemetry() {
|
|
140
140
|
this.telemetry.push((args) => {
|
|
141
141
|
Object.assign(this.telemetryProperties, {
|
|
142
|
+
webUrl: typeof args.options.webUrl !== 'undefined',
|
|
142
143
|
customProperties: typeof args.options.customProperties !== 'undefined',
|
|
143
144
|
description: typeof args.options.description !== 'undefined',
|
|
144
145
|
id: typeof args.options.id !== 'undefined',
|
|
@@ -153,6 +154,8 @@ _SpoTermAddCommand_instances = new WeakSet(), _SpoTermAddCommand_initTelemetry =
|
|
|
153
154
|
}, _SpoTermAddCommand_initOptions = function _SpoTermAddCommand_initOptions() {
|
|
154
155
|
this.options.unshift({
|
|
155
156
|
option: '-n, --name <name>'
|
|
157
|
+
}, {
|
|
158
|
+
option: '-u, --webUrl [webUrl]'
|
|
156
159
|
}, {
|
|
157
160
|
option: '--termSetId [termSetId]'
|
|
158
161
|
}, {
|
|
@@ -174,6 +177,12 @@ _SpoTermAddCommand_instances = new WeakSet(), _SpoTermAddCommand_initTelemetry =
|
|
|
174
177
|
});
|
|
175
178
|
}, _SpoTermAddCommand_initValidators = function _SpoTermAddCommand_initValidators() {
|
|
176
179
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
180
|
+
if (args.options.webUrl) {
|
|
181
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
182
|
+
if (isValidSharePointUrl !== true) {
|
|
183
|
+
return isValidSharePointUrl;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
177
186
|
if (args.options.id) {
|
|
178
187
|
if (!validation_1.validation.isValidGuid(args.options.id)) {
|
|
179
188
|
return `${args.options.id} is not a valid GUID`;
|
|
@@ -41,8 +41,8 @@ class SpoTermGetCommand extends SpoCommand_1.default {
|
|
|
41
41
|
commandAction(logger, args) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
43
|
try {
|
|
44
|
-
const
|
|
45
|
-
const res = yield spo_1.spo.getRequestDigest(
|
|
44
|
+
const spoWebUrl = args.options.webUrl ? args.options.webUrl : yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
45
|
+
const res = yield spo_1.spo.getRequestDigest(spoWebUrl);
|
|
46
46
|
if (this.verbose) {
|
|
47
47
|
logger.logToStderr(`Retrieving taxonomy term...`);
|
|
48
48
|
}
|
|
@@ -54,7 +54,7 @@ class SpoTermGetCommand extends SpoCommand_1.default {
|
|
|
54
54
|
data = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="2" ObjectPathId="1" /><ObjectIdentityQuery Id="3" ObjectPathId="1" /><ObjectPath Id="5" ObjectPathId="4" /><ObjectIdentityQuery Id="6" ObjectPathId="4" /><ObjectPath Id="8" ObjectPathId="7" /><ObjectPath Id="10" ObjectPathId="9" /><ObjectIdentityQuery Id="11" ObjectPathId="9" /><ObjectPath Id="13" ObjectPathId="12" /><ObjectPath Id="15" ObjectPathId="14" /><ObjectIdentityQuery Id="16" ObjectPathId="14" /><ObjectPath Id="18" ObjectPathId="17" /><SetProperty Id="19" ObjectPathId="17" Name="TrimUnavailable"><Parameter Type="Boolean">true</Parameter></SetProperty><SetProperty Id="20" ObjectPathId="17" Name="TermLabel"><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.name)}</Parameter></SetProperty><ObjectPath Id="22" ObjectPathId="21" /><Query Id="23" ObjectPathId="21"><Query SelectAllProperties="true"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><StaticMethod Id="1" Name="GetTaxonomySession" TypeId="{981cbc68-9edc-4f8d-872f-71146fcbb84f}" /><Method Id="4" ParentId="1" Name="GetDefaultSiteCollectionTermStore" /><Property Id="7" ParentId="4" Name="Groups" /><Method Id="9" ParentId="7" Name="${args.options.termGroupName === undefined ? "GetById" : "GetByName"}"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.termGroupName) || args.options.termGroupId}</Parameter></Parameters></Method><Property Id="12" ParentId="9" Name="TermSets" /><Method Id="14" ParentId="12" Name="${args.options.termSetName === undefined ? "GetById" : "GetByName"}"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.termSetName) || args.options.termSetId}</Parameter></Parameters></Method><Constructor Id="17" TypeId="{61a1d689-2744-4ea3-a88b-c95bee9803aa}" /><Method Id="21" ParentId="14" Name="GetTerms"><Parameters><Parameter ObjectPathId="17" /></Parameters></Method></ObjectPaths></Request>`;
|
|
55
55
|
}
|
|
56
56
|
let term;
|
|
57
|
-
const csomResponse = yield this.executeCsomCall(data,
|
|
57
|
+
const csomResponse = yield this.executeCsomCall(data, spoWebUrl, res);
|
|
58
58
|
if (csomResponse === null) {
|
|
59
59
|
throw `Term with id '${args.options.id}' could not be found.`;
|
|
60
60
|
}
|
|
@@ -86,10 +86,10 @@ class SpoTermGetCommand extends SpoCommand_1.default {
|
|
|
86
86
|
}
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
|
-
executeCsomCall(data,
|
|
89
|
+
executeCsomCall(data, spoWebUrl, res) {
|
|
90
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
91
91
|
const requestOptions = {
|
|
92
|
-
url: `${
|
|
92
|
+
url: `${spoWebUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
93
93
|
headers: {
|
|
94
94
|
'X-RequestDigest': res.FormDigestValue
|
|
95
95
|
},
|
|
@@ -115,6 +115,7 @@ class SpoTermGetCommand extends SpoCommand_1.default {
|
|
|
115
115
|
_SpoTermGetCommand_instances = new WeakSet(), _SpoTermGetCommand_initTelemetry = function _SpoTermGetCommand_initTelemetry() {
|
|
116
116
|
this.telemetry.push((args) => {
|
|
117
117
|
Object.assign(this.telemetryProperties, {
|
|
118
|
+
webUrl: typeof args.options.webUrl !== 'undefined',
|
|
118
119
|
id: typeof args.options.id !== 'undefined',
|
|
119
120
|
name: typeof args.options.name !== 'undefined',
|
|
120
121
|
termGroupId: typeof args.options.termGroupId !== 'undefined',
|
|
@@ -125,6 +126,8 @@ _SpoTermGetCommand_instances = new WeakSet(), _SpoTermGetCommand_initTelemetry =
|
|
|
125
126
|
});
|
|
126
127
|
}, _SpoTermGetCommand_initOptions = function _SpoTermGetCommand_initOptions() {
|
|
127
128
|
this.options.unshift({
|
|
129
|
+
option: '-u, --webUrl [webUrl]'
|
|
130
|
+
}, {
|
|
128
131
|
option: '-i, --id [id]'
|
|
129
132
|
}, {
|
|
130
133
|
option: '-n, --name [name]'
|
|
@@ -139,6 +142,12 @@ _SpoTermGetCommand_instances = new WeakSet(), _SpoTermGetCommand_initTelemetry =
|
|
|
139
142
|
});
|
|
140
143
|
}, _SpoTermGetCommand_initValidators = function _SpoTermGetCommand_initValidators() {
|
|
141
144
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
if (args.options.webUrl) {
|
|
146
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
147
|
+
if (isValidSharePointUrl !== true) {
|
|
148
|
+
return isValidSharePointUrl;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
142
151
|
if (args.options.id && !validation_1.validation.isValidGuid(args.options.id)) {
|
|
143
152
|
return `${args.options.id} is not a valid GUID`;
|
|
144
153
|
}
|
|
@@ -40,14 +40,14 @@ class SpoTermGroupGetCommand extends SpoCommand_1.default {
|
|
|
40
40
|
commandAction(logger, args) {
|
|
41
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
42
|
try {
|
|
43
|
-
const
|
|
44
|
-
const res = yield spo_1.spo.getRequestDigest(
|
|
43
|
+
const spoWebUrl = args.options.webUrl ? args.options.webUrl : yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
44
|
+
const res = yield spo_1.spo.getRequestDigest(spoWebUrl);
|
|
45
45
|
if (this.verbose) {
|
|
46
46
|
logger.logToStderr(`Retrieving taxonomy term groups...`);
|
|
47
47
|
}
|
|
48
48
|
const query = args.options.id ? `<Method Id="32" ParentId="30" Name="GetById"><Parameters><Parameter Type="Guid">{${formatting_1.formatting.escapeXml(args.options.id)}}</Parameter></Parameters></Method>` : `<Method Id="32" ParentId="30" Name="GetByName"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.name)}</Parameter></Parameters></Method>`;
|
|
49
49
|
const requestOptions = {
|
|
50
|
-
url: `${
|
|
50
|
+
url: `${spoWebUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
51
51
|
headers: {
|
|
52
52
|
'X-RequestDigest': res.FormDigestValue
|
|
53
53
|
},
|
|
@@ -76,18 +76,27 @@ class SpoTermGroupGetCommand extends SpoCommand_1.default {
|
|
|
76
76
|
_SpoTermGroupGetCommand_instances = new WeakSet(), _SpoTermGroupGetCommand_initTelemetry = function _SpoTermGroupGetCommand_initTelemetry() {
|
|
77
77
|
this.telemetry.push((args) => {
|
|
78
78
|
Object.assign(this.telemetryProperties, {
|
|
79
|
+
webUrl: typeof args.options.webUrl !== 'undefined',
|
|
79
80
|
id: typeof args.options.id !== 'undefined',
|
|
80
81
|
name: typeof args.options.name !== 'undefined'
|
|
81
82
|
});
|
|
82
83
|
});
|
|
83
84
|
}, _SpoTermGroupGetCommand_initOptions = function _SpoTermGroupGetCommand_initOptions() {
|
|
84
85
|
this.options.unshift({
|
|
86
|
+
option: '-u, --webUrl [webUrl]'
|
|
87
|
+
}, {
|
|
85
88
|
option: '-i, --id [id]'
|
|
86
89
|
}, {
|
|
87
90
|
option: '-n, --name [name]'
|
|
88
91
|
});
|
|
89
92
|
}, _SpoTermGroupGetCommand_initValidators = function _SpoTermGroupGetCommand_initValidators() {
|
|
90
93
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
if (args.options.webUrl) {
|
|
95
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
96
|
+
if (isValidSharePointUrl !== true) {
|
|
97
|
+
return isValidSharePointUrl;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
91
100
|
if (args.options.id) {
|
|
92
101
|
if (!validation_1.validation.isValidGuid(args.options.id)) {
|
|
93
102
|
return `${args.options.id} is not a valid GUID`;
|
|
@@ -8,10 +8,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _SpoTermGroupListCommand_instances, _SpoTermGroupListCommand_initTelemetry, _SpoTermGroupListCommand_initOptions, _SpoTermGroupListCommand_initValidators;
|
|
11
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
18
|
const config_1 = require("../../../../config");
|
|
13
19
|
const request_1 = require("../../../../request");
|
|
14
20
|
const spo_1 = require("../../../../utils/spo");
|
|
21
|
+
const validation_1 = require("../../../../utils/validation");
|
|
15
22
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
16
23
|
const commands_1 = require("../../commands");
|
|
17
24
|
class SpoTermGroupListCommand extends SpoCommand_1.default {
|
|
@@ -24,16 +31,23 @@ class SpoTermGroupListCommand extends SpoCommand_1.default {
|
|
|
24
31
|
defaultProperties() {
|
|
25
32
|
return ['Id', 'Name'];
|
|
26
33
|
}
|
|
27
|
-
|
|
34
|
+
constructor() {
|
|
35
|
+
super();
|
|
36
|
+
_SpoTermGroupListCommand_instances.add(this);
|
|
37
|
+
__classPrivateFieldGet(this, _SpoTermGroupListCommand_instances, "m", _SpoTermGroupListCommand_initTelemetry).call(this);
|
|
38
|
+
__classPrivateFieldGet(this, _SpoTermGroupListCommand_instances, "m", _SpoTermGroupListCommand_initOptions).call(this);
|
|
39
|
+
__classPrivateFieldGet(this, _SpoTermGroupListCommand_instances, "m", _SpoTermGroupListCommand_initValidators).call(this);
|
|
40
|
+
}
|
|
41
|
+
commandAction(logger, args) {
|
|
28
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
43
|
try {
|
|
30
|
-
const
|
|
31
|
-
const res = yield spo_1.spo.getRequestDigest(
|
|
44
|
+
const spoWebUrl = args.options.webUrl ? args.options.webUrl : yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
45
|
+
const res = yield spo_1.spo.getRequestDigest(spoWebUrl);
|
|
32
46
|
if (this.verbose) {
|
|
33
47
|
logger.logToStderr(`Retrieving taxonomy term groups...`);
|
|
34
48
|
}
|
|
35
49
|
const requestOptions = {
|
|
36
|
-
url: `${
|
|
50
|
+
url: `${spoWebUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
37
51
|
headers: {
|
|
38
52
|
'X-RequestDigest': res.FormDigestValue
|
|
39
53
|
},
|
|
@@ -61,5 +75,26 @@ class SpoTermGroupListCommand extends SpoCommand_1.default {
|
|
|
61
75
|
});
|
|
62
76
|
}
|
|
63
77
|
}
|
|
78
|
+
_SpoTermGroupListCommand_instances = new WeakSet(), _SpoTermGroupListCommand_initTelemetry = function _SpoTermGroupListCommand_initTelemetry() {
|
|
79
|
+
this.telemetry.push((args) => {
|
|
80
|
+
Object.assign(this.telemetryProperties, {
|
|
81
|
+
webUrl: typeof args.options.webUrl !== 'undefined'
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}, _SpoTermGroupListCommand_initOptions = function _SpoTermGroupListCommand_initOptions() {
|
|
85
|
+
this.options.unshift({
|
|
86
|
+
option: '-u, --webUrl [webUrl]'
|
|
87
|
+
});
|
|
88
|
+
}, _SpoTermGroupListCommand_initValidators = function _SpoTermGroupListCommand_initValidators() {
|
|
89
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
if (args.options.webUrl) {
|
|
91
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
92
|
+
if (isValidSharePointUrl !== true) {
|
|
93
|
+
return isValidSharePointUrl;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return true;
|
|
97
|
+
}));
|
|
98
|
+
};
|
|
64
99
|
module.exports = new SpoTermGroupListCommand();
|
|
65
100
|
//# sourceMappingURL=term-group-list.js.map
|
|
@@ -44,22 +44,22 @@ class SpoTermListCommand extends SpoCommand_1.default {
|
|
|
44
44
|
commandAction(logger, args) {
|
|
45
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
46
|
try {
|
|
47
|
-
const
|
|
48
|
-
const res = yield spo_1.spo.getRequestDigest(
|
|
47
|
+
const spoWebUrl = args.options.webUrl ? args.options.webUrl : yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
48
|
+
const res = yield spo_1.spo.getRequestDigest(spoWebUrl);
|
|
49
49
|
if (this.verbose) {
|
|
50
50
|
logger.logToStderr(`Retrieving taxonomy term sets...`);
|
|
51
51
|
}
|
|
52
52
|
const termGroupQuery = args.options.termGroupId ? `<Method Id="77" ParentId="75" Name="GetById"><Parameters><Parameter Type="Guid">{${args.options.termGroupId}}</Parameter></Parameters></Method>` : `<Method Id="77" ParentId="75" Name="GetByName"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.termGroupName)}</Parameter></Parameters></Method>`;
|
|
53
53
|
const termSetQuery = args.options.termSetId ? `<Method Id="82" ParentId="80" Name="GetById"><Parameters><Parameter Type="Guid">{${args.options.termSetId}}</Parameter></Parameters></Method>` : `<Method Id="82" ParentId="80" Name="GetByName"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.termSetName)}</Parameter></Parameters></Method>`;
|
|
54
54
|
const data = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="70" ObjectPathId="69" /><ObjectIdentityQuery Id="71" ObjectPathId="69" /><ObjectPath Id="73" ObjectPathId="72" /><ObjectIdentityQuery Id="74" ObjectPathId="72" /><ObjectPath Id="76" ObjectPathId="75" /><ObjectPath Id="78" ObjectPathId="77" /><ObjectIdentityQuery Id="79" ObjectPathId="77" /><ObjectPath Id="81" ObjectPathId="80" /><ObjectPath Id="83" ObjectPathId="82" /><ObjectIdentityQuery Id="84" ObjectPathId="82" /><ObjectPath Id="86" ObjectPathId="85" /><Query Id="87" ObjectPathId="85"><Query SelectAllProperties="false"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties><Property Name="Name" ScalarProperty="true" /><Property Name="Id" ScalarProperty="true" /></Properties></ChildItemQuery></Query></Actions><ObjectPaths><StaticMethod Id="69" Name="GetTaxonomySession" TypeId="{981cbc68-9edc-4f8d-872f-71146fcbb84f}" /><Method Id="72" ParentId="69" Name="GetDefaultSiteCollectionTermStore" /><Property Id="75" ParentId="72" Name="Groups" />${termGroupQuery}<Property Id="80" ParentId="77" Name="TermSets" />${termSetQuery}<Property Id="85" ParentId="82" Name="Terms" /></ObjectPaths></Request>`;
|
|
55
|
-
const result = yield this.executeCsomCall(data,
|
|
55
|
+
const result = yield this.executeCsomCall(data, spoWebUrl, res);
|
|
56
56
|
const terms = [];
|
|
57
57
|
if (result._Child_Items_ && result._Child_Items_.length > 0) {
|
|
58
58
|
for (const term of result._Child_Items_) {
|
|
59
59
|
this.setTermDetails(term);
|
|
60
60
|
terms.push(term);
|
|
61
61
|
if (args.options.includeChildTerms && term.TermsCount > 0) {
|
|
62
|
-
yield this.getChildTerms(
|
|
62
|
+
yield this.getChildTerms(spoWebUrl, res, term);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -108,17 +108,17 @@ class SpoTermListCommand extends SpoCommand_1.default {
|
|
|
108
108
|
}
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
|
-
getChildTerms(
|
|
111
|
+
getChildTerms(spoWebUrl, res, parentTerm) {
|
|
112
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
113
|
parentTerm.Children = [];
|
|
114
114
|
const data = `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="20" ObjectPathId="19" /><Query Id="21" ObjectPathId="19"><Query SelectAllProperties="false"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties><Property Name="CustomSortOrder" ScalarProperty="true" /><Property Name="CustomProperties" ScalarProperty="true" /><Property Name="LocalCustomProperties" ScalarProperty="true" /></Properties></ChildItemQuery></Query></Actions><ObjectPaths><Property Id="19" ParentId="16" Name="Terms" /><Identity Id="16" Name="${parentTerm._ObjectIdentity_}" /></ObjectPaths></Request>`;
|
|
115
|
-
const result = yield this.executeCsomCall(data,
|
|
115
|
+
const result = yield this.executeCsomCall(data, spoWebUrl, res);
|
|
116
116
|
if (result._Child_Items_ && result._Child_Items_.length > 0) {
|
|
117
117
|
for (const term of result._Child_Items_) {
|
|
118
118
|
this.setTermDetails(term);
|
|
119
119
|
parentTerm.Children.push(term);
|
|
120
120
|
if (term.TermsCount > 0) {
|
|
121
|
-
yield this.getChildTerms(
|
|
121
|
+
yield this.getChildTerms(spoWebUrl, res, term);
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
}
|
|
@@ -132,10 +132,10 @@ class SpoTermListCommand extends SpoCommand_1.default {
|
|
|
132
132
|
parseTermDateToIsoString(dateAsString) {
|
|
133
133
|
return new Date(Number(dateAsString.replace('/Date(', '').replace(')/', ''))).toISOString();
|
|
134
134
|
}
|
|
135
|
-
executeCsomCall(data,
|
|
135
|
+
executeCsomCall(data, spoWebUrl, res) {
|
|
136
136
|
return __awaiter(this, void 0, void 0, function* () {
|
|
137
137
|
const requestOptions = {
|
|
138
|
-
url: `${
|
|
138
|
+
url: `${spoWebUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
139
139
|
headers: {
|
|
140
140
|
'X-RequestDigest': res.FormDigestValue
|
|
141
141
|
},
|
|
@@ -154,6 +154,7 @@ class SpoTermListCommand extends SpoCommand_1.default {
|
|
|
154
154
|
_SpoTermListCommand_instances = new WeakSet(), _SpoTermListCommand_initTelemetry = function _SpoTermListCommand_initTelemetry() {
|
|
155
155
|
this.telemetry.push((args) => {
|
|
156
156
|
Object.assign(this.telemetryProperties, {
|
|
157
|
+
webUrl: typeof args.options.webUrl !== 'undefined',
|
|
157
158
|
termGroupId: typeof args.options.termGroupId !== 'undefined',
|
|
158
159
|
termGroupName: typeof args.options.termGroupName !== 'undefined',
|
|
159
160
|
termSetId: typeof args.options.termSetId !== 'undefined',
|
|
@@ -163,6 +164,8 @@ _SpoTermListCommand_instances = new WeakSet(), _SpoTermListCommand_initTelemetry
|
|
|
163
164
|
});
|
|
164
165
|
}, _SpoTermListCommand_initOptions = function _SpoTermListCommand_initOptions() {
|
|
165
166
|
this.options.unshift({
|
|
167
|
+
option: '-u, --webUrl [webUrl]'
|
|
168
|
+
}, {
|
|
166
169
|
option: '--termGroupId [termGroupId]'
|
|
167
170
|
}, {
|
|
168
171
|
option: '--termGroupName [termGroupName]'
|
|
@@ -175,6 +178,12 @@ _SpoTermListCommand_instances = new WeakSet(), _SpoTermListCommand_initTelemetry
|
|
|
175
178
|
});
|
|
176
179
|
}, _SpoTermListCommand_initValidators = function _SpoTermListCommand_initValidators() {
|
|
177
180
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
if (args.options.webUrl) {
|
|
182
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
183
|
+
if (isValidSharePointUrl !== true) {
|
|
184
|
+
return isValidSharePointUrl;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
178
187
|
if (args.options.termGroupId && !validation_1.validation.isValidGuid(args.options.termGroupId)) {
|
|
179
188
|
return `${args.options.termGroupId} is not a valid GUID`;
|
|
180
189
|
}
|