@pnp/cli-microsoft365 6.3.0-beta.1140b31 → 6.3.0-beta.a991329
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 +12 -1
- package/dist/cli/Cli.js +4 -1
- package/dist/m365/aad/commands/group/group-list.js +2 -1
- package/dist/m365/flow/commands/run/run-list.js +55 -3
- package/dist/m365/graph/commands/changelog/changelog-list.js +3 -2
- package/dist/m365/onenote/commands/notebook/notebook-list.js +51 -40
- package/dist/m365/planner/commands/plan/plan-add.js +20 -6
- package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
- package/dist/m365/planner/commands/roster/roster-add.js +47 -0
- package/dist/m365/planner/commands/roster/roster-remove.js +88 -0
- package/dist/m365/planner/commands/task/task-checklistitem-add.js +2 -1
- package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
- package/dist/m365/planner/commands.js +2 -0
- package/dist/m365/pp/commands/solution/solution-get.js +2 -1
- package/dist/m365/pp/commands/solution/solution-list.js +2 -1
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +70 -0
- package/dist/m365/purview/commands.js +1 -0
- package/dist/m365/spfx/commands/project/WebApiPermissionRequests.js +3 -0
- package/dist/m365/spfx/commands/project/project-permissions-grant.js +81 -0
- package/dist/m365/spfx/commands.js +3 -2
- package/dist/m365/spo/commands/app/app-add.js +2 -1
- package/dist/m365/spo/commands/file/file-sharinginfo-get.js +2 -1
- package/dist/m365/spo/commands/file/file-sharinglink-list.js +2 -1
- package/dist/m365/spo/commands/group/group-list.js +2 -1
- package/dist/m365/spo/commands/hubsite/hubsite-get.js +1 -1
- package/dist/m365/spo/commands/listitem/listitem-list.js +2 -1
- package/dist/m365/spo/commands/navigation/navigation-node-add.js +17 -3
- package/dist/m365/spo/commands/navigation/navigation-node-list.js +4 -7
- package/dist/m365/spo/commands/navigation/navigation-node-set.js +118 -0
- package/dist/m365/spo/commands/page/page-column-get.js +2 -1
- package/dist/m365/spo/commands/page/page-column-list.js +2 -1
- package/dist/m365/spo/commands/page/page-section-get.js +2 -1
- package/dist/m365/spo/commands/page/page-section-list.js +2 -1
- package/dist/m365/spo/commands/spo-search.js +2 -1
- package/dist/m365/spo/commands/term/term-list.js +2 -1
- package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -2
- package/dist/m365/spo/commands/web/web-set.js +11 -4
- package/dist/m365/spo/commands.js +1 -0
- package/dist/m365/teams/commands/meeting/meeting-list.js +1 -1
- package/dist/m365/teams/commands/team/team-app-list.js +1 -1
- package/dist/m365/teams/commands/user/user-app-list.js +2 -1
- package/dist/m365/todo/commands/task/task-get.js +2 -1
- package/dist/m365/todo/commands/task/task-list.js +2 -1
- package/dist/m365/yammer/commands/yammer-search.js +2 -1
- package/dist/utils/planner.js +4 -4
- package/docs/docs/cmd/aad/app/app-list.md +3 -0
- package/docs/docs/cmd/aad/user/user-set.md +1 -1
- package/docs/docs/cmd/flow/run/run-list.md +21 -0
- package/docs/docs/cmd/planner/plan/plan-add.md +17 -6
- package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
- package/docs/docs/cmd/planner/roster/roster-add.md +60 -0
- package/docs/docs/cmd/planner/roster/roster-remove.md +48 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +100 -0
- package/docs/docs/cmd/spfx/project/project-permissions-grant.md +65 -0
- package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +2 -2
- package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +2 -2
- package/docs/docs/cmd/spo/navigation/navigation-node-add.md +18 -3
- package/docs/docs/cmd/spo/navigation/navigation-node-list.md +30 -0
- package/docs/docs/cmd/spo/navigation/navigation-node-remove.md +1 -1
- package/docs/docs/cmd/spo/navigation/navigation-node-set.md +59 -0
- package/docs/docs/cmd/spo/web/web-set.md +9 -0
- package/package.json +1 -1
|
@@ -0,0 +1,70 @@
|
|
|
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 _PurviewRetentionEventtypeGetCommand_instances, _PurviewRetentionEventtypeGetCommand_initOptions, _PurviewRetentionEventtypeGetCommand_initValidators;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
19
|
+
const commands_1 = require("../../commands");
|
|
20
|
+
const request_1 = require("../../../../request");
|
|
21
|
+
const validation_1 = require("../../../../utils/validation");
|
|
22
|
+
class PurviewRetentionEventtypeGetCommand extends GraphCommand_1.default {
|
|
23
|
+
get name() {
|
|
24
|
+
return commands_1.default.RETENTIONEVENTTYPE_GET;
|
|
25
|
+
}
|
|
26
|
+
get description() {
|
|
27
|
+
return 'Retrieve the specified retention event type';
|
|
28
|
+
}
|
|
29
|
+
constructor() {
|
|
30
|
+
super();
|
|
31
|
+
_PurviewRetentionEventtypeGetCommand_instances.add(this);
|
|
32
|
+
__classPrivateFieldGet(this, _PurviewRetentionEventtypeGetCommand_instances, "m", _PurviewRetentionEventtypeGetCommand_initOptions).call(this);
|
|
33
|
+
__classPrivateFieldGet(this, _PurviewRetentionEventtypeGetCommand_instances, "m", _PurviewRetentionEventtypeGetCommand_initValidators).call(this);
|
|
34
|
+
}
|
|
35
|
+
commandAction(logger, args) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
try {
|
|
38
|
+
if (this.verbose) {
|
|
39
|
+
logger.logToStderr(`Retrieving retention event type with id ${args.options.id}`);
|
|
40
|
+
}
|
|
41
|
+
const requestOptions = {
|
|
42
|
+
url: `${this.resource}/beta/security/triggerTypes/retentionEventTypes/${args.options.id}`,
|
|
43
|
+
headers: {
|
|
44
|
+
accept: 'application/json;odata.metadata=none'
|
|
45
|
+
},
|
|
46
|
+
responseType: 'json'
|
|
47
|
+
};
|
|
48
|
+
const res = yield request_1.default.get(requestOptions);
|
|
49
|
+
logger.log(res);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
this.handleRejectedODataJsonPromise(err);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
_PurviewRetentionEventtypeGetCommand_instances = new WeakSet(), _PurviewRetentionEventtypeGetCommand_initOptions = function _PurviewRetentionEventtypeGetCommand_initOptions() {
|
|
58
|
+
this.options.unshift({
|
|
59
|
+
option: '-i, --id <id>'
|
|
60
|
+
});
|
|
61
|
+
}, _PurviewRetentionEventtypeGetCommand_initValidators = function _PurviewRetentionEventtypeGetCommand_initValidators() {
|
|
62
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
if (!validation_1.validation.isValidGuid(args.options.id)) {
|
|
64
|
+
return `'${args.options.id}' is not a valid GUID.`;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}));
|
|
68
|
+
};
|
|
69
|
+
module.exports = new PurviewRetentionEventtypeGetCommand();
|
|
70
|
+
//# sourceMappingURL=retentioneventtype-get.js.map
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const prefix = 'purview';
|
|
4
4
|
exports.default = {
|
|
5
|
+
RETENTIONEVENTTYPE_GET: `${prefix} retentioneventtype get`,
|
|
5
6
|
RETENTIONLABEL_ADD: `${prefix} retentionlabel add`,
|
|
6
7
|
RETENTIONLABEL_GET: `${prefix} retentionlabel get`,
|
|
7
8
|
RETENTIONLABEL_LIST: `${prefix} retentionlabel list`,
|
|
@@ -0,0 +1,81 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const path = require("path");
|
|
13
|
+
const fs = require("fs");
|
|
14
|
+
const Command_1 = require("../../../../Command");
|
|
15
|
+
const commands_1 = require("../../commands");
|
|
16
|
+
const base_project_command_1 = require("./base-project-command");
|
|
17
|
+
const SpoServicePrincipalGrantAddCommand = require("../../../spo/commands/serviceprincipal/serviceprincipal-grant-add");
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
19
|
+
class SpfxProjectPermissionSGrantCommand extends base_project_command_1.BaseProjectCommand {
|
|
20
|
+
get name() {
|
|
21
|
+
return commands_1.default.PROJECT_PERMISSIONS_GRANT;
|
|
22
|
+
}
|
|
23
|
+
get description() {
|
|
24
|
+
return 'Grant API permissions defined in the current SPFx project';
|
|
25
|
+
}
|
|
26
|
+
constructor() {
|
|
27
|
+
super();
|
|
28
|
+
}
|
|
29
|
+
commandAction(logger) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
this.projectRootPath = this.getProjectRoot(process.cwd());
|
|
32
|
+
if (this.projectRootPath === null) {
|
|
33
|
+
throw new Command_1.CommandError(`Couldn't find project root folder`, SpfxProjectPermissionSGrantCommand.ERROR_NO_PROJECT_ROOT_FOLDER);
|
|
34
|
+
}
|
|
35
|
+
if (this.debug) {
|
|
36
|
+
logger.logToStderr(`Granting API permissions defined in the current SPFx project`);
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const webApiPermissionsRequest = this.getWebApiPermissionRequest(path.join(this.projectRootPath, 'config', 'package-solution.json'));
|
|
40
|
+
for (const permission of webApiPermissionsRequest) {
|
|
41
|
+
const options = {
|
|
42
|
+
resource: permission.resource,
|
|
43
|
+
scope: permission.scope,
|
|
44
|
+
output: 'json',
|
|
45
|
+
debug: this.debug,
|
|
46
|
+
verbose: this.verbose
|
|
47
|
+
};
|
|
48
|
+
let output = null;
|
|
49
|
+
try {
|
|
50
|
+
output = yield Cli_1.Cli.executeCommandWithOutput(SpoServicePrincipalGrantAddCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
if (err.error && err.error.message.indexOf('already exists') > -1) {
|
|
54
|
+
this.warn(logger, err.error.message);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
throw err;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const getGrantOutput = JSON.parse(output.stdout);
|
|
62
|
+
logger.log(getGrantOutput);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
throw new Command_1.CommandError(error);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
getWebApiPermissionRequest(filePath) {
|
|
71
|
+
if (!fs.existsSync(filePath)) {
|
|
72
|
+
throw (`The package-solution.json file could not be found`);
|
|
73
|
+
}
|
|
74
|
+
const existingContent = fs.readFileSync(filePath, 'utf-8');
|
|
75
|
+
const solutionContent = JSON.parse(existingContent);
|
|
76
|
+
return solutionContent.solution.webApiPermissionRequests;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
SpfxProjectPermissionSGrantCommand.ERROR_NO_PROJECT_ROOT_FOLDER = 1;
|
|
80
|
+
module.exports = new SpfxProjectPermissionSGrantCommand();
|
|
81
|
+
//# sourceMappingURL=project-permissions-grant.js.map
|
|
@@ -5,8 +5,9 @@ exports.default = {
|
|
|
5
5
|
DOCTOR: `${prefix} doctor`,
|
|
6
6
|
PACKAGE_GENERATE: `${prefix} package generate`,
|
|
7
7
|
PROJECT_DOCTOR: `${prefix} project doctor`,
|
|
8
|
-
PROJECT_UPGRADE: `${prefix} project upgrade`,
|
|
9
8
|
PROJECT_EXTERNALIZE: `${prefix} project externalize`,
|
|
10
|
-
|
|
9
|
+
PROJECT_PERMISSIONS_GRANT: `${prefix} project permissions grant`,
|
|
10
|
+
PROJECT_RENAME: `${prefix} project rename`,
|
|
11
|
+
PROJECT_UPGRADE: `${prefix} project upgrade`
|
|
11
12
|
};
|
|
12
13
|
//# sourceMappingURL=commands.js.map
|
|
@@ -17,6 +17,7 @@ var _SpoAppAddCommand_instances, _SpoAppAddCommand_initTelemetry, _SpoAppAddComm
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const fs = require("fs");
|
|
19
19
|
const path = require("path");
|
|
20
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
20
21
|
const request_1 = require("../../../../request");
|
|
21
22
|
const spo_1 = require("../../../../utils/spo");
|
|
22
23
|
const validation_1 = require("../../../../utils/validation");
|
|
@@ -58,7 +59,7 @@ class SpoAppAddCommand extends SpoAppBaseCommand_1.SpoAppBaseCommand {
|
|
|
58
59
|
};
|
|
59
60
|
const res = yield request_1.default.post(requestOptions);
|
|
60
61
|
const json = JSON.parse(res);
|
|
61
|
-
if (args.options.output
|
|
62
|
+
if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
|
|
62
63
|
logger.log(json);
|
|
63
64
|
}
|
|
64
65
|
else {
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoFileSharingInfoGetCommand_instances, _SpoFileSharingInfoGetCommand_initTelemetry, _SpoFileSharingInfoGetCommand_initOptions, _SpoFileSharingInfoGetCommand_initValidators, _SpoFileSharingInfoGetCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const request_1 = require("../../../../request");
|
|
19
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
20
21
|
const validation_1 = require("../../../../utils/validation");
|
|
@@ -60,7 +61,7 @@ class SpoFileSharingInfoGetCommand extends SpoCommand_1.default {
|
|
|
60
61
|
// typically, we don't do this, but in this case, we need to due to
|
|
61
62
|
// the complexity of the retrieved object and the fact that we can't
|
|
62
63
|
// use the generic way of simplifying the output
|
|
63
|
-
if (args.options.output
|
|
64
|
+
if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
|
|
64
65
|
logger.log(res);
|
|
65
66
|
}
|
|
66
67
|
else {
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoFileSharingLinkListCommand_instances, _SpoFileSharingLinkListCommand_initTelemetry, _SpoFileSharingLinkListCommand_initOptions, _SpoFileSharingLinkListCommand_initValidators, _SpoFileSharingLinkListCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const request_1 = require("../../../../request");
|
|
19
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
20
21
|
const odata_1 = require("../../../../utils/odata");
|
|
@@ -51,7 +52,7 @@ class SpoFileSharingLinkListCommand extends SpoCommand_1.default {
|
|
|
51
52
|
url += ` and Link/Scope eq '${args.options.scope}'`;
|
|
52
53
|
}
|
|
53
54
|
const sharingLinks = yield odata_1.odata.getAllItems(url);
|
|
54
|
-
if (!args.options.output ||
|
|
55
|
+
if (!args.options.output || !Cli_1.Cli.shouldTrimOutput(args.options.output)) {
|
|
55
56
|
logger.log(sharingLinks);
|
|
56
57
|
}
|
|
57
58
|
else {
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoGroupListCommand_instances, _SpoGroupListCommand_initTelemetry, _SpoGroupListCommand_initOptions, _SpoGroupListCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const request_1 = require("../../../../request");
|
|
19
20
|
const odata_1 = require("../../../../utils/odata");
|
|
20
21
|
const validation_1 = require("../../../../utils/validation");
|
|
@@ -73,7 +74,7 @@ class SpoGroupListCommand extends SpoCommand_1.default {
|
|
|
73
74
|
};
|
|
74
75
|
const groupProperties = yield request_1.default.get(requestOptions);
|
|
75
76
|
logger.log(groupProperties);
|
|
76
|
-
if (!options.output || options.output
|
|
77
|
+
if (!options.output || !Cli_1.Cli.shouldTrimOutput(options.output)) {
|
|
77
78
|
logger.log(groupProperties);
|
|
78
79
|
}
|
|
79
80
|
else {
|
|
@@ -45,7 +45,7 @@ class SpoHubSiteGetCommand extends SpoCommand_1.default {
|
|
|
45
45
|
if (args.options.includeAssociatedSites && (args.options.output && args.options.output !== 'json')) {
|
|
46
46
|
throw 'includeAssociatedSites option is only allowed with json output mode';
|
|
47
47
|
}
|
|
48
|
-
if (args.options.includeAssociatedSites === true && args.options.output && args.options.output
|
|
48
|
+
if (args.options.includeAssociatedSites === true && args.options.output && !Cli_1.Cli.shouldTrimOutput(args.options.output)) {
|
|
49
49
|
const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
50
50
|
const associatedSitesCommandOutput = yield this.getAssociatedSites(spoAdminUrl, hubSite.SiteId, logger, args);
|
|
51
51
|
const associatedSites = JSON.parse(associatedSitesCommandOutput.stdout);
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoListItemListCommand_instances, _SpoListItemListCommand_initTelemetry, _SpoListItemListCommand_initOptions, _SpoListItemListCommand_initValidators, _SpoListItemListCommand_initOptionSets, _SpoListItemListCommand_initTypes;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const request_1 = require("../../../../request");
|
|
19
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
20
21
|
const spo_1 = require("../../../../utils/spo");
|
|
@@ -53,7 +54,7 @@ class SpoListItemListCommand extends SpoCommand_1.default {
|
|
|
53
54
|
}
|
|
54
55
|
let formDigestValue = '';
|
|
55
56
|
const fieldsArray = args.options.fields ? args.options.fields.split(",")
|
|
56
|
-
: (!args.options.output || args.options.output
|
|
57
|
+
: (!args.options.output || Cli_1.Cli.shouldTrimOutput(args.options.output)) ? ["Title", "Id"] : [];
|
|
57
58
|
const fieldsWithSlash = fieldsArray.filter(item => item.includes('/'));
|
|
58
59
|
const fieldsToExpand = fieldsWithSlash.map(e => e.split('/')[0]);
|
|
59
60
|
const expandFieldsArray = fieldsToExpand.filter((item, pos) => fieldsToExpand.indexOf(item) === pos);
|
|
@@ -38,6 +38,7 @@ class SpoNavigationNodeAddCommand extends SpoCommand_1.default {
|
|
|
38
38
|
return ['url'];
|
|
39
39
|
}
|
|
40
40
|
commandAction(logger, args) {
|
|
41
|
+
var _a;
|
|
41
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
43
|
if (this.verbose) {
|
|
43
44
|
logger.logToStderr(`Adding navigation node...`);
|
|
@@ -51,12 +52,13 @@ class SpoNavigationNodeAddCommand extends SpoCommand_1.default {
|
|
|
51
52
|
accept: 'application/json;odata=nometadata',
|
|
52
53
|
'content-type': 'application/json;odata=nometadata'
|
|
53
54
|
},
|
|
55
|
+
responseType: 'json',
|
|
54
56
|
data: {
|
|
57
|
+
AudienceIds: (_a = args.options.audienceIds) === null || _a === void 0 ? void 0 : _a.split(','),
|
|
55
58
|
Title: args.options.title,
|
|
56
59
|
Url: args.options.url,
|
|
57
60
|
IsExternal: args.options.isExternal === true
|
|
58
|
-
}
|
|
59
|
-
responseType: 'json'
|
|
61
|
+
}
|
|
60
62
|
};
|
|
61
63
|
try {
|
|
62
64
|
const res = yield request_1.default.post(requestOptions);
|
|
@@ -73,7 +75,8 @@ _SpoNavigationNodeAddCommand_instances = new WeakSet(), _SpoNavigationNodeAddCom
|
|
|
73
75
|
Object.assign(this.telemetryProperties, {
|
|
74
76
|
isExternal: args.options.isExternal,
|
|
75
77
|
location: typeof args.options.location !== 'undefined',
|
|
76
|
-
parentNodeId: typeof args.options.parentNodeId !== 'undefined'
|
|
78
|
+
parentNodeId: typeof args.options.parentNodeId !== 'undefined',
|
|
79
|
+
audienceIds: typeof args.options.audienceIds !== 'undefined'
|
|
77
80
|
});
|
|
78
81
|
});
|
|
79
82
|
}, _SpoNavigationNodeAddCommand_initOptions = function _SpoNavigationNodeAddCommand_initOptions() {
|
|
@@ -90,6 +93,8 @@ _SpoNavigationNodeAddCommand_instances = new WeakSet(), _SpoNavigationNodeAddCom
|
|
|
90
93
|
option: '--parentNodeId [parentNodeId]'
|
|
91
94
|
}, {
|
|
92
95
|
option: '--isExternal'
|
|
96
|
+
}, {
|
|
97
|
+
option: '--audienceIds [audienceIds]'
|
|
93
98
|
});
|
|
94
99
|
}, _SpoNavigationNodeAddCommand_initValidators = function _SpoNavigationNodeAddCommand_initValidators() {
|
|
95
100
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -108,6 +113,15 @@ _SpoNavigationNodeAddCommand_instances = new WeakSet(), _SpoNavigationNodeAddCom
|
|
|
108
113
|
return `${args.options.location} is not a valid value for the location option. Allowed values are QuickLaunch|TopNavigationBar`;
|
|
109
114
|
}
|
|
110
115
|
}
|
|
116
|
+
if (args.options.audienceIds) {
|
|
117
|
+
const audienceIdsSplitted = args.options.audienceIds.split(',');
|
|
118
|
+
if (audienceIdsSplitted.length > 10) {
|
|
119
|
+
return 'The maximum amount of audienceIds per navigation node exceeded. The maximum amount of auciendeIds is 10.';
|
|
120
|
+
}
|
|
121
|
+
if (!validation_1.validation.isValidGuidArray(audienceIdsSplitted)) {
|
|
122
|
+
return 'The option audienceIds contains one or more invalid GUIDs';
|
|
123
|
+
}
|
|
124
|
+
}
|
|
111
125
|
return true;
|
|
112
126
|
}));
|
|
113
127
|
}, _SpoNavigationNodeAddCommand_initOptionSets = function _SpoNavigationNodeAddCommand_initOptionSets() {
|
|
@@ -26,6 +26,9 @@ class SpoNavigationNodeListCommand extends SpoCommand_1.default {
|
|
|
26
26
|
get description() {
|
|
27
27
|
return 'Lists nodes from the specified site navigation';
|
|
28
28
|
}
|
|
29
|
+
defaultProperties() {
|
|
30
|
+
return ['Id', 'Title', 'Url'];
|
|
31
|
+
}
|
|
29
32
|
constructor() {
|
|
30
33
|
super();
|
|
31
34
|
_SpoNavigationNodeListCommand_instances.add(this);
|
|
@@ -40,13 +43,7 @@ class SpoNavigationNodeListCommand extends SpoCommand_1.default {
|
|
|
40
43
|
}
|
|
41
44
|
try {
|
|
42
45
|
const res = yield odata_1.odata.getAllItems(`${args.options.webUrl}/_api/web/navigation/${args.options.location.toLowerCase()}`);
|
|
43
|
-
logger.log(res
|
|
44
|
-
return {
|
|
45
|
-
Id: n.Id,
|
|
46
|
-
Title: n.Title,
|
|
47
|
-
Url: n.Url
|
|
48
|
-
};
|
|
49
|
-
}));
|
|
46
|
+
logger.log(res);
|
|
50
47
|
}
|
|
51
48
|
catch (err) {
|
|
52
49
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -0,0 +1,118 @@
|
|
|
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 _SpoNavigationNodeSetCommand_instances, _SpoNavigationNodeSetCommand_initTelemetry, _SpoNavigationNodeSetCommand_initTypes, _SpoNavigationNodeSetCommand_initOptions, _SpoNavigationNodeSetCommand_initValidators;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const request_1 = require("../../../../request");
|
|
19
|
+
const validation_1 = require("../../../../utils/validation");
|
|
20
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
21
|
+
const commands_1 = require("../../commands");
|
|
22
|
+
class SpoNavigationNodeSetCommand extends SpoCommand_1.default {
|
|
23
|
+
get name() {
|
|
24
|
+
return commands_1.default.NAVIGATION_NODE_SET;
|
|
25
|
+
}
|
|
26
|
+
get description() {
|
|
27
|
+
return 'Adds a navigation node to the specified site navigation';
|
|
28
|
+
}
|
|
29
|
+
constructor() {
|
|
30
|
+
super();
|
|
31
|
+
_SpoNavigationNodeSetCommand_instances.add(this);
|
|
32
|
+
__classPrivateFieldGet(this, _SpoNavigationNodeSetCommand_instances, "m", _SpoNavigationNodeSetCommand_initTelemetry).call(this);
|
|
33
|
+
__classPrivateFieldGet(this, _SpoNavigationNodeSetCommand_instances, "m", _SpoNavigationNodeSetCommand_initOptions).call(this);
|
|
34
|
+
__classPrivateFieldGet(this, _SpoNavigationNodeSetCommand_instances, "m", _SpoNavigationNodeSetCommand_initTypes).call(this);
|
|
35
|
+
__classPrivateFieldGet(this, _SpoNavigationNodeSetCommand_instances, "m", _SpoNavigationNodeSetCommand_initValidators).call(this);
|
|
36
|
+
}
|
|
37
|
+
commandAction(logger, args) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
try {
|
|
40
|
+
if (this.verbose) {
|
|
41
|
+
logger.logToStderr(`Setting navigation node...`);
|
|
42
|
+
}
|
|
43
|
+
const requestBody = {
|
|
44
|
+
Title: args.options.title,
|
|
45
|
+
IsExternal: args.options.isExternal,
|
|
46
|
+
Url: args.options.url
|
|
47
|
+
};
|
|
48
|
+
if (args.options.audienceIds !== undefined) {
|
|
49
|
+
requestBody.AudienceIds = args.options.audienceIds === '' ? [] : args.options.audienceIds.split(',');
|
|
50
|
+
}
|
|
51
|
+
const requestOptions = {
|
|
52
|
+
url: `${args.options.webUrl}/_api/web/navigation/GetNodeById(${args.options.id})`,
|
|
53
|
+
headers: {
|
|
54
|
+
accept: 'application/json;odata=nometadata',
|
|
55
|
+
'content-type': 'application/json;odata=nometadata'
|
|
56
|
+
},
|
|
57
|
+
data: requestBody,
|
|
58
|
+
responseType: 'json'
|
|
59
|
+
};
|
|
60
|
+
const response = yield request_1.default.patch(requestOptions);
|
|
61
|
+
if (response['odata.null'] === true) {
|
|
62
|
+
throw `Navigation node does not exist.`;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
this.handleRejectedODataJsonPromise(err);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
_SpoNavigationNodeSetCommand_instances = new WeakSet(), _SpoNavigationNodeSetCommand_initTelemetry = function _SpoNavigationNodeSetCommand_initTelemetry() {
|
|
72
|
+
this.telemetry.push((args) => {
|
|
73
|
+
Object.assign(this.telemetryProperties, {
|
|
74
|
+
title: typeof args.options.title !== 'undefined',
|
|
75
|
+
url: typeof args.options.url !== 'undefined',
|
|
76
|
+
isExternal: typeof args.options.isExternal !== 'undefined',
|
|
77
|
+
audienceIds: typeof args.options.audienceIds !== 'undefined'
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}, _SpoNavigationNodeSetCommand_initTypes = function _SpoNavigationNodeSetCommand_initTypes() {
|
|
81
|
+
this.types.boolean.push('isExternal');
|
|
82
|
+
}, _SpoNavigationNodeSetCommand_initOptions = function _SpoNavigationNodeSetCommand_initOptions() {
|
|
83
|
+
this.options.unshift({
|
|
84
|
+
option: '-u, --webUrl <webUrl>'
|
|
85
|
+
}, {
|
|
86
|
+
option: '--id <id>'
|
|
87
|
+
}, {
|
|
88
|
+
option: '--title [title]'
|
|
89
|
+
}, {
|
|
90
|
+
option: '--url [url]'
|
|
91
|
+
}, {
|
|
92
|
+
option: '--audienceIds [audienceIds]'
|
|
93
|
+
}, {
|
|
94
|
+
option: '--isExternal [isExternal]'
|
|
95
|
+
});
|
|
96
|
+
}, _SpoNavigationNodeSetCommand_initValidators = function _SpoNavigationNodeSetCommand_initValidators() {
|
|
97
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
99
|
+
if (isValidSharePointUrl !== true) {
|
|
100
|
+
return isValidSharePointUrl;
|
|
101
|
+
}
|
|
102
|
+
if (args.options.audienceIds === undefined && !args.options.url && args.options.isExternal === undefined && !args.options.title) {
|
|
103
|
+
return `Please specify atleast one property to update.`;
|
|
104
|
+
}
|
|
105
|
+
if (args.options.audienceIds) {
|
|
106
|
+
const audienceIdsSplitted = args.options.audienceIds.split(',');
|
|
107
|
+
if (audienceIdsSplitted.length > 10) {
|
|
108
|
+
return 'The maximum amount of audienceIds per navigation node exceeded. The maximum amount of audienceIds is 10.';
|
|
109
|
+
}
|
|
110
|
+
if (!validation_1.validation.isValidGuidArray(audienceIdsSplitted)) {
|
|
111
|
+
return `The option audienceIds contains one or more invalid GUIDs`;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return true;
|
|
115
|
+
}));
|
|
116
|
+
};
|
|
117
|
+
module.exports = new SpoNavigationNodeSetCommand();
|
|
118
|
+
//# sourceMappingURL=navigation-node-set.js.map
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoPageColumnGetCommand_instances, _SpoPageColumnGetCommand_initOptions, _SpoPageColumnGetCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const validation_1 = require("../../../../utils/validation");
|
|
19
20
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
20
21
|
const commands_1 = require("../../commands");
|
|
@@ -39,7 +40,7 @@ class SpoPageColumnGetCommand extends SpoCommand_1.default {
|
|
|
39
40
|
const sections = clientSidePage.sections
|
|
40
41
|
.filter(section => section.order === args.options.section);
|
|
41
42
|
if (sections.length) {
|
|
42
|
-
const isJSONOutput = args.options.output
|
|
43
|
+
const isJSONOutput = !Cli_1.Cli.shouldTrimOutput(args.options.output);
|
|
43
44
|
const columns = sections[0].columns.filter(col => col.order === args.options.column);
|
|
44
45
|
if (columns.length) {
|
|
45
46
|
const column = Page_1.Page.getColumnsInformation(columns[0], isJSONOutput);
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoPageColumnListCommand_instances, _SpoPageColumnListCommand_initOptions, _SpoPageColumnListCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const validation_1 = require("../../../../utils/validation");
|
|
19
20
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
20
21
|
const commands_1 = require("../../commands");
|
|
@@ -39,7 +40,7 @@ class SpoPageColumnListCommand extends SpoCommand_1.default {
|
|
|
39
40
|
const sections = clientSidePage.sections
|
|
40
41
|
.filter(section => section.order === args.options.section);
|
|
41
42
|
if (sections.length) {
|
|
42
|
-
const isJSONOutput = args.options.output
|
|
43
|
+
const isJSONOutput = !Cli_1.Cli.shouldTrimOutput(args.options.output);
|
|
43
44
|
logger.log(sections[0].columns.map(c => {
|
|
44
45
|
const column = Page_1.Page.getColumnsInformation(c, isJSONOutput);
|
|
45
46
|
column.controls = c.controls.length;
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoPageSectionGetCommand_instances, _SpoPageSectionGetCommand_initOptions, _SpoPageSectionGetCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const validation_1 = require("../../../../utils/validation");
|
|
19
20
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
20
21
|
const commands_1 = require("../../commands");
|
|
@@ -38,7 +39,7 @@ class SpoPageSectionGetCommand extends SpoCommand_1.default {
|
|
|
38
39
|
const clientSidePage = yield Page_1.Page.getPage(args.options.pageName, args.options.webUrl, logger, this.debug, this.verbose);
|
|
39
40
|
const sections = clientSidePage.sections
|
|
40
41
|
.filter(section => section.order === args.options.section);
|
|
41
|
-
const isJSONOutput = args.options.output
|
|
42
|
+
const isJSONOutput = !Cli_1.Cli.shouldTrimOutput(args.options.output);
|
|
42
43
|
if (sections.length) {
|
|
43
44
|
logger.log(Page_1.Page.getSectionInformation(sections[0], isJSONOutput));
|
|
44
45
|
}
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoPageSectionListCommand_instances, _SpoPageSectionListCommand_initOptions, _SpoPageSectionListCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const validation_1 = require("../../../../utils/validation");
|
|
19
20
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
20
21
|
const commands_1 = require("../../commands");
|
|
@@ -37,7 +38,7 @@ class SpoPageSectionListCommand extends SpoCommand_1.default {
|
|
|
37
38
|
try {
|
|
38
39
|
const clientSidePage = yield Page_1.Page.getPage(args.options.pageName, args.options.webUrl, logger, this.debug, this.verbose);
|
|
39
40
|
const sections = clientSidePage.sections;
|
|
40
|
-
const isJSONOutput = args.options.output
|
|
41
|
+
const isJSONOutput = !Cli_1.Cli.shouldTrimOutput(args.options.output);
|
|
41
42
|
if (sections.length) {
|
|
42
43
|
const output = sections.map(section => Page_1.Page.getSectionInformation(section, isJSONOutput));
|
|
43
44
|
if (isJSONOutput) {
|
|
@@ -16,6 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
16
16
|
var _SpoSearchCommand_instances, _SpoSearchCommand_initTelemetry, _SpoSearchCommand_initOptions, _SpoSearchCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const util_1 = require("util");
|
|
19
|
+
const Cli_1 = require("../../../cli/Cli");
|
|
19
20
|
const request_1 = require("../../../request");
|
|
20
21
|
const formatting_1 = require("../../../utils/formatting");
|
|
21
22
|
const spo_1 = require("../../../utils/spo");
|
|
@@ -137,7 +138,7 @@ class SpoSearchCommand extends SpoCommand_1.default {
|
|
|
137
138
|
else {
|
|
138
139
|
logger.log(this.getParsedOutput(args, results));
|
|
139
140
|
}
|
|
140
|
-
if (!args.options.output || args.options.output
|
|
141
|
+
if (!args.options.output || Cli_1.Cli.shouldTrimOutput(args.options.output)) {
|
|
141
142
|
logger.log("# Rows: " + results[results.length - 1].PrimaryQueryResult.RelevantResults.TotalRows);
|
|
142
143
|
logger.log("# Rows (Including duplicates): " + results[results.length - 1].PrimaryQueryResult.RelevantResults.TotalRowsIncludingDuplicates);
|
|
143
144
|
logger.log("Elapsed Time: " + this.getElapsedTime(results));
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoTermListCommand_instances, _SpoTermListCommand_initTelemetry, _SpoTermListCommand_initOptions, _SpoTermListCommand_initValidators, _SpoTermListCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const config_1 = require("../../../../config");
|
|
19
20
|
const request_1 = require("../../../../request");
|
|
20
21
|
const formatting_1 = require("../../../../utils/formatting");
|
|
@@ -62,7 +63,7 @@ class SpoTermListCommand extends SpoCommand_1.default {
|
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
|
-
if (!args.options.output || args.options.output
|
|
66
|
+
if (!args.options.output || !Cli_1.Cli.shouldTrimOutput(args.options.output)) {
|
|
66
67
|
logger.log(terms);
|
|
67
68
|
}
|
|
68
69
|
else if (!args.options.includeChildTerms) {
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _SpoUserProfileGetCommand_instances, _SpoUserProfileGetCommand_initOptions, _SpoUserProfileGetCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const request_1 = require("../../../../request");
|
|
19
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
20
21
|
const spo_1 = require("../../../../utils/spo");
|
|
@@ -47,8 +48,7 @@ class SpoUserProfileGetCommand extends SpoCommand_1.default {
|
|
|
47
48
|
responseType: 'json'
|
|
48
49
|
};
|
|
49
50
|
const res = yield request_1.default.get(requestOptions);
|
|
50
|
-
if (!args.options.output ||
|
|
51
|
-
args.options.output === 'text') {
|
|
51
|
+
if (!args.options.output || Cli_1.Cli.shouldTrimOutput(args.options.output)) {
|
|
52
52
|
res.UserProfileProperties = JSON.stringify(res.UserProfileProperties);
|
|
53
53
|
}
|
|
54
54
|
logger.log(res);
|