@pnp/cli-microsoft365 6.3.0-beta.1140b31 → 6.3.0-beta.1336e33

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.
Files changed (150) hide show
  1. package/.eslintrc.js +8 -0
  2. package/dist/Command.js +12 -1
  3. package/dist/cli/Cli.js +4 -1
  4. package/dist/m365/aad/commands/group/group-list.js +2 -1
  5. package/dist/m365/base/O365MgmtCommand.js +10 -0
  6. package/dist/m365/context/commands/option/option-list.js +54 -0
  7. package/dist/m365/context/commands.js +1 -0
  8. package/dist/m365/flow/commands/run/run-list.js +55 -3
  9. package/dist/m365/graph/commands/changelog/changelog-list.js +3 -2
  10. package/dist/m365/onenote/commands/notebook/notebook-list.js +51 -40
  11. package/dist/m365/planner/commands/plan/plan-add.js +20 -6
  12. package/dist/m365/planner/commands/plan/plan-get.js +40 -26
  13. package/dist/m365/planner/commands/plan/plan-list.js +24 -14
  14. package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
  15. package/dist/m365/planner/commands/plan/plan-set.js +21 -10
  16. package/dist/m365/planner/commands/roster/roster-add.js +47 -0
  17. package/dist/m365/planner/commands/roster/roster-get.js +61 -0
  18. package/dist/m365/planner/commands/roster/roster-member-add.js +113 -0
  19. package/dist/m365/planner/commands/roster/roster-member-list.js +54 -0
  20. package/dist/m365/planner/commands/roster/roster-remove.js +88 -0
  21. package/dist/m365/planner/commands/task/task-add.js +3 -0
  22. package/dist/m365/planner/commands/task/task-checklistitem-add.js +2 -1
  23. package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
  24. package/dist/m365/planner/commands.js +5 -0
  25. package/dist/m365/pp/commands/solution/solution-get.js +2 -1
  26. package/dist/m365/pp/commands/solution/solution-list.js +2 -1
  27. package/dist/m365/purview/commands/auditlog/auditlog-list.js +205 -0
  28. package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +76 -0
  29. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +47 -0
  30. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +92 -0
  31. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +77 -0
  32. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +70 -0
  33. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +44 -0
  34. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +97 -0
  35. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +90 -0
  36. package/dist/m365/purview/commands.js +9 -0
  37. package/dist/m365/spfx/commands/project/WebApiPermissionRequests.js +3 -0
  38. package/dist/m365/spfx/commands/project/project-permissions-grant.js +81 -0
  39. package/dist/m365/spfx/commands.js +3 -2
  40. package/dist/m365/spo/commands/app/app-add.js +2 -1
  41. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +95 -0
  42. package/dist/m365/spo/commands/customaction/customaction-get.js +17 -66
  43. package/dist/m365/spo/commands/customaction/customaction-list.js +2 -36
  44. package/dist/m365/spo/commands/customaction/customaction-remove.js +11 -18
  45. package/dist/m365/spo/commands/file/GraphFileDetails.js +0 -1
  46. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +2 -1
  47. package/dist/m365/spo/commands/file/file-sharinglink-add.js +2 -22
  48. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +137 -0
  49. package/dist/m365/spo/commands/file/file-sharinglink-get.js +2 -25
  50. package/dist/m365/spo/commands/file/file-sharinglink-list.js +9 -29
  51. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -25
  52. package/dist/m365/spo/commands/file/file-sharinglink-set.js +104 -0
  53. package/dist/m365/spo/commands/group/group-list.js +2 -1
  54. package/dist/m365/spo/commands/hubsite/hubsite-get.js +1 -1
  55. package/dist/m365/spo/commands/listitem/listitem-add.js +2 -1
  56. package/dist/m365/spo/commands/listitem/listitem-list.js +2 -1
  57. package/dist/m365/spo/commands/navigation/navigation-node-add.js +17 -3
  58. package/dist/m365/spo/commands/navigation/navigation-node-get.js +73 -0
  59. package/dist/m365/spo/commands/navigation/navigation-node-list.js +4 -7
  60. package/dist/m365/spo/commands/navigation/navigation-node-set.js +118 -0
  61. package/dist/m365/spo/commands/page/page-column-get.js +2 -1
  62. package/dist/m365/spo/commands/page/page-column-list.js +2 -1
  63. package/dist/m365/spo/commands/page/page-section-get.js +2 -1
  64. package/dist/m365/spo/commands/page/page-section-list.js +2 -1
  65. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +6 -0
  66. package/dist/m365/spo/commands/spo-search.js +2 -1
  67. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +179 -0
  68. package/dist/m365/spo/commands/term/term-list.js +2 -1
  69. package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -2
  70. package/dist/m365/spo/commands/web/web-set.js +11 -4
  71. package/dist/m365/spo/commands.js +6 -0
  72. package/dist/m365/teams/commands/meeting/meeting-list.js +1 -1
  73. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  74. package/dist/m365/teams/commands/user/user-app-list.js +2 -1
  75. package/dist/m365/todo/commands/task/task-get.js +2 -1
  76. package/dist/m365/todo/commands/task/task-list.js +2 -1
  77. package/dist/m365/yammer/commands/yammer-search.js +2 -1
  78. package/dist/utils/planner.js +16 -5
  79. package/dist/utils/spo.js +89 -0
  80. package/docs/docs/cmd/aad/app/app-list.md +3 -0
  81. package/docs/docs/cmd/aad/user/user-set.md +1 -1
  82. package/docs/docs/cmd/context/option/option-list.md +63 -0
  83. package/docs/docs/cmd/flow/run/run-list.md +21 -0
  84. package/docs/docs/cmd/login.md +26 -0
  85. package/docs/docs/cmd/logout.md +4 -0
  86. package/docs/docs/cmd/pa/app/app-get.md +24 -0
  87. package/docs/docs/cmd/pa/app/app-list.md +21 -0
  88. package/docs/docs/cmd/pa/connector/connector-list.md +17 -0
  89. package/docs/docs/cmd/pa/environment/environment-get.md +18 -0
  90. package/docs/docs/cmd/pa/environment/environment-list.md +19 -0
  91. package/docs/docs/cmd/planner/plan/plan-add.md +17 -6
  92. package/docs/docs/cmd/planner/plan/plan-get.md +21 -7
  93. package/docs/docs/cmd/planner/plan/plan-list.md +16 -2
  94. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  95. package/docs/docs/cmd/planner/plan/plan-set.md +10 -4
  96. package/docs/docs/cmd/planner/roster/roster-add.md +60 -0
  97. package/docs/docs/cmd/planner/roster/roster-get.md +73 -0
  98. package/docs/docs/cmd/planner/roster/roster-member-add.md +87 -0
  99. package/docs/docs/cmd/planner/roster/roster-member-list.md +76 -0
  100. package/docs/docs/cmd/planner/roster/roster-remove.md +48 -0
  101. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.md +43 -0
  102. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.md +43 -0
  103. package/docs/docs/cmd/pp/card/card-clone.md +12 -0
  104. package/docs/docs/cmd/pp/card/card-get.md +49 -0
  105. package/docs/docs/cmd/pp/card/card-list.md +49 -0
  106. package/docs/docs/cmd/pp/chatbot/chatbot-get.md +55 -0
  107. package/docs/docs/cmd/pp/chatbot/chatbot-list.md +36 -0
  108. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +30 -0
  109. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +30 -0
  110. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.md +30 -0
  111. package/docs/docs/cmd/pp/environment/environment-get.md +19 -0
  112. package/docs/docs/cmd/pp/environment/environment-list.md +19 -0
  113. package/docs/docs/cmd/pp/gateway/gateway-get.md +19 -0
  114. package/docs/docs/cmd/pp/gateway/gateway-list.md +19 -0
  115. package/docs/docs/cmd/pp/managementapp/managementapp-add.md +12 -0
  116. package/docs/docs/cmd/pp/managementapp/managementapp-list.md +12 -0
  117. package/docs/docs/cmd/pp/solution/solution-get.md +14 -0
  118. package/docs/docs/cmd/pp/solution/solution-list.md +14 -0
  119. package/docs/docs/cmd/pp/solution/solution-publisher-get.md +20 -1
  120. package/docs/docs/cmd/pp/solution/solution-publisher-list.md +18 -0
  121. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +21 -0
  122. package/docs/docs/cmd/purview/auditlog/auditlog-list.md +123 -0
  123. package/docs/docs/cmd/purview/retentionevent/retentionevent-get.md +132 -0
  124. package/docs/docs/cmd/purview/retentionevent/retentionevent-list.md +107 -0
  125. package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.md +42 -0
  126. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +106 -0
  127. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +100 -0
  128. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.md +97 -0
  129. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.md +43 -0
  130. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.md +43 -0
  131. package/docs/docs/cmd/request.md +74 -0
  132. package/docs/docs/cmd/spfx/project/project-permissions-grant.md +65 -0
  133. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +56 -0
  134. package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +46 -0
  135. package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
  136. package/docs/docs/cmd/spo/file/file-sharinglink-set.md +104 -0
  137. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +2 -2
  138. package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +2 -2
  139. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +18 -3
  140. package/docs/docs/cmd/spo/navigation/navigation-node-get.md +91 -0
  141. package/docs/docs/cmd/spo/navigation/navigation-node-list.md +30 -0
  142. package/docs/docs/cmd/spo/navigation/navigation-node-remove.md +1 -1
  143. package/docs/docs/cmd/spo/navigation/navigation-node-set.md +59 -0
  144. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.md +3 -0
  145. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +59 -0
  146. package/docs/docs/cmd/spo/web/web-set.md +9 -0
  147. package/docs/docs/cmd/status.md +46 -0
  148. package/docs/docs/cmd/version.md +26 -0
  149. package/npm-shrinkwrap.json +911 -876
  150. package/package.json +12 -12
@@ -0,0 +1,73 @@
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 _SpoNavigationNodeGetCommand_instances, _SpoNavigationNodeGetCommand_initOptions, _SpoNavigationNodeGetCommand_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 SpoNavigationNodeGetCommand extends SpoCommand_1.default {
23
+ get name() {
24
+ return commands_1.default.NAVIGATION_NODE_GET;
25
+ }
26
+ get description() {
27
+ return 'Retrieve information about a specific navigation node';
28
+ }
29
+ constructor() {
30
+ super();
31
+ _SpoNavigationNodeGetCommand_instances.add(this);
32
+ __classPrivateFieldGet(this, _SpoNavigationNodeGetCommand_instances, "m", _SpoNavigationNodeGetCommand_initOptions).call(this);
33
+ __classPrivateFieldGet(this, _SpoNavigationNodeGetCommand_instances, "m", _SpoNavigationNodeGetCommand_initValidators).call(this);
34
+ }
35
+ commandAction(logger, args) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ if (this.verbose) {
38
+ logger.logToStderr(`Retrieving information about navigation node with id ${args.options.id}`);
39
+ }
40
+ const requestOptions = {
41
+ url: `${args.options.webUrl}/_api/web/navigation/GetNodeById(${args.options.id})`,
42
+ headers: {
43
+ 'accept': 'application/json;odata=nometadata'
44
+ },
45
+ responseType: 'json'
46
+ };
47
+ try {
48
+ const listInstance = yield request_1.default.get(requestOptions);
49
+ logger.log(listInstance);
50
+ }
51
+ catch (err) {
52
+ this.handleRejectedODataJsonPromise(err);
53
+ }
54
+ });
55
+ }
56
+ }
57
+ _SpoNavigationNodeGetCommand_instances = new WeakSet(), _SpoNavigationNodeGetCommand_initOptions = function _SpoNavigationNodeGetCommand_initOptions() {
58
+ this.options.unshift({
59
+ option: '-u, --webUrl <webUrl>'
60
+ }, {
61
+ option: '--id <id>'
62
+ });
63
+ }, _SpoNavigationNodeGetCommand_initValidators = function _SpoNavigationNodeGetCommand_initValidators() {
64
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
65
+ const id = parseInt(args.options.id);
66
+ if (isNaN(id)) {
67
+ return `${args.options.id} is not a valid number`;
68
+ }
69
+ return validation_1.validation.isValidSharePointUrl(args.options.webUrl);
70
+ }));
71
+ };
72
+ module.exports = new SpoNavigationNodeGetCommand();
73
+ //# sourceMappingURL=navigation-node-get.js.map
@@ -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.map(n => {
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 === 'json';
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 === 'json';
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 === 'json';
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 === 'json';
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) {
@@ -53,6 +53,9 @@ class SpoSiteDesignAddCommand extends SpoCommand_1.default {
53
53
  if (args.options.previewImageAltText) {
54
54
  info.PreviewImageAltText = args.options.previewImageAltText;
55
55
  }
56
+ if (args.options.thumbnailUrl) {
57
+ info.ThumbnailUrl = args.options.thumbnailUrl;
58
+ }
56
59
  if (args.options.isDefault) {
57
60
  info.IsDefault = true;
58
61
  }
@@ -83,6 +86,7 @@ _SpoSiteDesignAddCommand_instances = new WeakSet(), _SpoSiteDesignAddCommand_ini
83
86
  description: (!(!args.options.description)).toString(),
84
87
  previewImageUrl: (!(!args.options.previewImageUrl)).toString(),
85
88
  previewImageAltText: (!(!args.options.previewImageAltText)).toString(),
89
+ thumbnailUrl: (!(!args.options.thumbnailUrl)).toString(),
86
90
  isDefault: args.options.isDefault || false
87
91
  });
88
92
  });
@@ -100,6 +104,8 @@ _SpoSiteDesignAddCommand_instances = new WeakSet(), _SpoSiteDesignAddCommand_ini
100
104
  option: '-m, --previewImageUrl [previewImageUrl]'
101
105
  }, {
102
106
  option: '-a, --previewImageAltText [previewImageAltText]'
107
+ }, {
108
+ option: '--thumbnailUrl [thumbnailUrl]'
103
109
  }, {
104
110
  option: '--isDefault'
105
111
  });
@@ -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 === 'text') {
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));
@@ -0,0 +1,179 @@
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 _SpoTenantApplicationCustomizerAddCommand_instances, _SpoTenantApplicationCustomizerAddCommand_initTelemetry, _SpoTenantApplicationCustomizerAddCommand_initOptions, _SpoTenantApplicationCustomizerAddCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const validation_1 = require("../../../../utils/validation");
19
+ const SpoCommand_1 = require("../../../base/SpoCommand");
20
+ const commands_1 = require("../../commands");
21
+ const Cli_1 = require("../../../../cli/Cli");
22
+ const spoTenantAppCatalogUrlGetCommand = require("../tenant/tenant-appcatalogurl-get");
23
+ const spoListItemAddCommand = require("../listitem/listitem-add");
24
+ const spoListItemListCommand = require("../listitem/listitem-list");
25
+ const urlUtil_1 = require("../../../../utils/urlUtil");
26
+ class SpoTenantApplicationCustomizerAddCommand extends SpoCommand_1.default {
27
+ get name() {
28
+ return commands_1.default.TENANT_APPLICATIONCUSTOMIZER_ADD;
29
+ }
30
+ get description() {
31
+ return 'Add an application customizer as a tenant wide extension.';
32
+ }
33
+ constructor() {
34
+ super();
35
+ _SpoTenantApplicationCustomizerAddCommand_instances.add(this);
36
+ __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerAddCommand_instances, "m", _SpoTenantApplicationCustomizerAddCommand_initTelemetry).call(this);
37
+ __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerAddCommand_instances, "m", _SpoTenantApplicationCustomizerAddCommand_initOptions).call(this);
38
+ __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerAddCommand_instances, "m", _SpoTenantApplicationCustomizerAddCommand_initValidators).call(this);
39
+ }
40
+ commandAction(logger, args) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ try {
43
+ const appCatalogUrl = yield this.getAppCatalogUrl(logger);
44
+ const componentManifest = yield this.getComponentManifest(appCatalogUrl, args.options.clientSideComponentId, logger);
45
+ const clientComponentManifest = JSON.parse(componentManifest.ClientComponentManifest);
46
+ if (clientComponentManifest.extensionType !== "ApplicationCustomizer") {
47
+ throw `The extension type of this component is not of type 'ApplicationCustomizer' but of type '${clientComponentManifest.extensionType}'`;
48
+ }
49
+ const solution = yield this.getSolutionFromAppCatalog(appCatalogUrl, componentManifest.SolutionId, logger);
50
+ if (!solution.ContainsTenantWideExtension) {
51
+ throw `The solution does not contain an extension that can be deployed to all sites. Make sure that you've entered the correct component Id.`;
52
+ }
53
+ else if (!solution.SkipFeatureDeployment) {
54
+ throw 'The solution has not been deployed to all sites. Make sure to deploy this solution to all sites.';
55
+ }
56
+ yield this.addTenantWideExtension(appCatalogUrl, args.options, logger);
57
+ }
58
+ catch (err) {
59
+ this.handleRejectedODataJsonPromise(err);
60
+ }
61
+ });
62
+ }
63
+ getAppCatalogUrl(logger) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ const spoTenantAppCatalogUrlGetCommandOutput = yield Cli_1.Cli.executeCommandWithOutput(spoTenantAppCatalogUrlGetCommand, { options: { output: 'text', _: [] } });
66
+ if (this.verbose) {
67
+ logger.logToStderr(spoTenantAppCatalogUrlGetCommandOutput.stderr);
68
+ }
69
+ const appCatalogUrl = spoTenantAppCatalogUrlGetCommandOutput.stdout;
70
+ if (!appCatalogUrl) {
71
+ throw 'Cannot add tenant-wide application customizer as app catalog cannot be found';
72
+ }
73
+ if (this.verbose) {
74
+ logger.logToStderr(`Got tenant app catalog url: ${appCatalogUrl}`);
75
+ }
76
+ return appCatalogUrl;
77
+ });
78
+ }
79
+ getComponentManifest(appCatalogUrl, clientSideComponentId, logger) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ if (this.verbose) {
82
+ logger.logToStderr('Retrieving component manifest item from the ComponentManifests list on the app catalog site so that we get the solution id');
83
+ }
84
+ const camlQuery = `<View><ViewFields><FieldRef Name='ClientComponentId'></FieldRef><FieldRef Name='SolutionId'></FieldRef><FieldRef Name='ClientComponentManifest'></FieldRef></ViewFields><Query><Where><Eq><FieldRef Name='ClientComponentId' /><Value Type='Guid'>${clientSideComponentId}</Value></Eq></Where></Query></View>`;
85
+ const commandOptions = {
86
+ webUrl: appCatalogUrl,
87
+ listUrl: `${urlUtil_1.urlUtil.getServerRelativeSiteUrl(appCatalogUrl)}/Lists/ComponentManifests`,
88
+ camlQuery: camlQuery,
89
+ verbose: this.verbose,
90
+ debug: this.debug,
91
+ output: 'json'
92
+ };
93
+ const output = yield Cli_1.Cli.executeCommandWithOutput(spoListItemListCommand, { options: Object.assign(Object.assign({}, commandOptions), { _: [] }) });
94
+ if (this.verbose) {
95
+ logger.logToStderr(output.stderr);
96
+ }
97
+ const outputParsed = JSON.parse(output.stdout);
98
+ if (outputParsed.length === 0) {
99
+ throw 'No component found with the specified clientSideComponentId found in the component manifest list. Make sure that the application is added to the application catalog';
100
+ }
101
+ return outputParsed[0];
102
+ });
103
+ }
104
+ getSolutionFromAppCatalog(appCatalogUrl, solutionId, logger) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ if (this.verbose) {
107
+ logger.logToStderr(`Retrieving solution with id ${solutionId} from the application catalog`);
108
+ }
109
+ const camlQuery = `<View><ViewFields><FieldRef Name='SkipFeatureDeployment'></FieldRef><FieldRef Name='ContainsTenantWideExtension'></FieldRef></ViewFields><Query><Where><Eq><FieldRef Name='AppProductID' /><Value Type='Guid'>${solutionId}</Value></Eq></Where></Query></View>`;
110
+ const commandOptions = {
111
+ webUrl: appCatalogUrl,
112
+ listUrl: `${urlUtil_1.urlUtil.getServerRelativeSiteUrl(appCatalogUrl)}/AppCatalog`,
113
+ camlQuery: camlQuery,
114
+ verbose: this.verbose,
115
+ debug: this.debug,
116
+ output: 'json'
117
+ };
118
+ const output = yield Cli_1.Cli.executeCommandWithOutput(spoListItemListCommand, { options: Object.assign(Object.assign({}, commandOptions), { _: [] }) });
119
+ if (this.verbose) {
120
+ logger.logToStderr(output.stderr);
121
+ }
122
+ const outputParsed = JSON.parse(output.stdout);
123
+ if (outputParsed.length === 0) {
124
+ throw `No component found with the solution id ${solutionId}. Make sure that the solution is available in the app catalog`;
125
+ }
126
+ return outputParsed[0];
127
+ });
128
+ }
129
+ addTenantWideExtension(appCatalogUrl, options, logger) {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ if (this.verbose) {
132
+ logger.logToStderr('Pre-checks finished. Adding tenant wide extension to the TenantWideExtensions list');
133
+ }
134
+ const commandOptions = {
135
+ webUrl: appCatalogUrl,
136
+ listUrl: `${urlUtil_1.urlUtil.getServerRelativeSiteUrl(appCatalogUrl)}/Lists/TenantWideExtensions`,
137
+ Title: options.title,
138
+ TenantWideExtensionComponentId: options.clientSideComponentId,
139
+ TenantWideExtensionLocation: 'ClientSideExtension.ApplicationCustomizer',
140
+ TenantWideExtensionSequence: 0,
141
+ TenantWideExtensionListTemplate: 0,
142
+ TenantWideExtensionComponentProperties: options.clientSideComponentProperties || '',
143
+ TenantWideExtensionWebTemplate: options.webTemplate || '',
144
+ TenantWideExtensionDisabled: false,
145
+ verbose: this.verbose,
146
+ debug: this.debug,
147
+ output: options.output
148
+ };
149
+ yield Cli_1.Cli.executeCommand(spoListItemAddCommand, { options: Object.assign(Object.assign({}, commandOptions), { _: [] }) });
150
+ });
151
+ }
152
+ }
153
+ _SpoTenantApplicationCustomizerAddCommand_instances = new WeakSet(), _SpoTenantApplicationCustomizerAddCommand_initTelemetry = function _SpoTenantApplicationCustomizerAddCommand_initTelemetry() {
154
+ this.telemetry.push((args) => {
155
+ Object.assign(this.telemetryProperties, {
156
+ clientSideComponentProperties: typeof args.options.clientSideComponentProperties !== 'undefined',
157
+ webTemplate: typeof args.options.webTemplate !== 'undefined'
158
+ });
159
+ });
160
+ }, _SpoTenantApplicationCustomizerAddCommand_initOptions = function _SpoTenantApplicationCustomizerAddCommand_initOptions() {
161
+ this.options.unshift({
162
+ option: '-t, --title <title>'
163
+ }, {
164
+ option: '-i, --clientSideComponentId <clientSideComponentId>'
165
+ }, {
166
+ option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
167
+ }, {
168
+ option: '-w, --webTemplate [webTemplate]'
169
+ });
170
+ }, _SpoTenantApplicationCustomizerAddCommand_initValidators = function _SpoTenantApplicationCustomizerAddCommand_initValidators() {
171
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
172
+ if (!validation_1.validation.isValidGuid(args.options.clientSideComponentId)) {
173
+ return `${args.options.clientSideComponentId} is not a valid GUID`;
174
+ }
175
+ return true;
176
+ }));
177
+ };
178
+ module.exports = new SpoTenantApplicationCustomizerAddCommand();
179
+ //# sourceMappingURL=tenant-applicationcustomizer-add.js.map
@@ -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 === 'json') {
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);
@@ -62,6 +62,9 @@ class SpoWebSetCommand extends SpoCommand_1.default {
62
62
  if (typeof args.options.footerEnabled !== 'undefined') {
63
63
  payload.FooterEnabled = args.options.footerEnabled;
64
64
  }
65
+ if (typeof args.options.navAudienceTargetingEnabled !== 'undefined') {
66
+ payload.NavAudienceTargetingEnabled = args.options.navAudienceTargetingEnabled;
67
+ }
65
68
  if (typeof args.options.searchScope !== 'undefined') {
66
69
  const searchScope = args.options.searchScope.toLowerCase();
67
70
  payload.SearchScope = SpoWebSetCommand.searchScopeOptions.indexOf(searchScope);
@@ -96,11 +99,12 @@ _SpoWebSetCommand_instances = new WeakSet(), _SpoWebSetCommand_initTelemetry = f
96
99
  description: typeof args.options.description !== 'undefined',
97
100
  headerEmphasis: typeof args.options.headerEmphasis !== 'undefined',
98
101
  headerLayout: typeof args.options.headerLayout !== 'undefined',
99
- megaMenuEnabled: args.options.megaMenuEnabled,
102
+ megaMenuEnabled: typeof args.options.megaMenuEnabled !== 'undefined',
100
103
  siteLogoUrl: typeof args.options.siteLogoUrl !== 'undefined',
101
104
  title: typeof args.options.title !== 'undefined',
102
- quickLaunchEnabled: args.options.quickLaunchEnabled,
103
- footerEnabled: args.options.footerEnabled,
105
+ quickLaunchEnabled: typeof args.options.quickLaunchEnabled !== 'undefined',
106
+ footerEnabled: typeof args.options.footerEnabled !== 'undefined',
107
+ navAudienceTargetingEnabled: typeof args.options.navAudienceTargetingEnabled !== 'undefined',
104
108
  searchScope: args.options.searchScope !== 'undefined'
105
109
  });
106
110
  this.trackUnknownOptions(this.telemetryProperties, args.options);
@@ -129,12 +133,15 @@ _SpoWebSetCommand_instances = new WeakSet(), _SpoWebSetCommand_initTelemetry = f
129
133
  }, {
130
134
  option: '--footerEnabled [footerEnabled]',
131
135
  autocomplete: ['true', 'false']
136
+ }, {
137
+ option: '--navAudienceTargetingEnabled [navAudienceTargetingEnabled]',
138
+ autocomplete: ['true', 'false']
132
139
  }, {
133
140
  option: '--searchScope [searchScope]',
134
141
  autocomplete: SpoWebSetCommand.searchScopeOptions
135
142
  });
136
143
  }, _SpoWebSetCommand_initTypes = function _SpoWebSetCommand_initTypes() {
137
- this.types.boolean.push('megaMenuEnabled', 'footerEnabled', 'quickLaunchEnabled');
144
+ this.types.boolean.push('megaMenuEnabled', 'footerEnabled', 'quickLaunchEnabled', 'navAudienceTargetingEnabled');
138
145
  }, _SpoWebSetCommand_initValidators = function _SpoWebSetCommand_initValidators() {
139
146
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
140
147
  const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.url);
@@ -13,6 +13,7 @@ exports.default = {
13
13
  APP_TEAMSPACKAGE_DOWNLOAD: `${prefix} app teamspackage download`,
14
14
  APP_UNINSTALL: `${prefix} app uninstall`,
15
15
  APP_UPGRADE: `${prefix} app upgrade`,
16
+ APPLICATIONCUSTOMIZER_ADD: `${prefix} applicationcustomizer add`,
16
17
  APPPAGE_ADD: `${prefix} apppage add`,
17
18
  APPPAGE_SET: `${prefix} apppage set`,
18
19
  CDN_GET: `${prefix} cdn get`,
@@ -65,9 +66,11 @@ exports.default = {
65
66
  FILE_ROLEINHERITANCE_RESET: `${prefix} file roleinheritance reset`,
66
67
  FILE_SHARINGINFO_GET: `${prefix} file sharinginfo get`,
67
68
  FILE_SHARINGLINK_ADD: `${prefix} file sharinglink add`,
69
+ FILE_SHARINGLINK_CLEAR: `${prefix} file sharinglink clear`,
68
70
  FILE_SHARINGLINK_GET: `${prefix} file sharinglink get`,
69
71
  FILE_SHARINGLINK_LIST: `${prefix} file sharinglink list`,
70
72
  FILE_SHARINGLINK_REMOVE: `${prefix} file sharinglink remove`,
73
+ FILE_SHARINGLINK_SET: `${prefix} file sharinglink set`,
71
74
  FILE_VERSION_CLEAR: `${prefix} file version clear`,
72
75
  FILE_VERSION_GET: `${prefix} file version get`,
73
76
  FILE_VERSION_LIST: `${prefix} file version list`,
@@ -165,8 +168,10 @@ exports.default = {
165
168
  LISTITEM_SET: `${prefix} listitem set`,
166
169
  MAIL_SEND: `${prefix} mail send`,
167
170
  NAVIGATION_NODE_ADD: `${prefix} navigation node add`,
171
+ NAVIGATION_NODE_GET: `${prefix} navigation node get`,
168
172
  NAVIGATION_NODE_LIST: `${prefix} navigation node list`,
169
173
  NAVIGATION_NODE_REMOVE: `${prefix} navigation node remove`,
174
+ NAVIGATION_NODE_SET: `${prefix} navigation node set`,
170
175
  ORGASSETSLIBRARY_ADD: `${prefix} orgassetslibrary add`,
171
176
  ORGASSETSLIBRARY_LIST: `${prefix} orgassetslibrary list`,
172
177
  ORGASSETSLIBRARY_REMOVE: `${prefix} orgassetslibrary remove`,
@@ -273,6 +278,7 @@ exports.default = {
273
278
  STORAGEENTITY_REMOVE: `${prefix} storageentity remove`,
274
279
  TENANT_APPCATALOG_ADD: `${prefix} tenant appcatalog add`,
275
280
  TENANT_APPCATALOGURL_GET: `${prefix} tenant appcatalogurl get`,
281
+ TENANT_APPLICATIONCUSTOMIZER_ADD: `${prefix} tenant applicationcustomizer add`,
276
282
  TENANT_RECYCLEBINITEM_LIST: `${prefix} tenant recyclebinitem list`,
277
283
  TENANT_RECYCLEBINITEM_REMOVE: `${prefix} tenant recyclebinitem remove`,
278
284
  TENANT_RECYCLEBINITEM_RESTORE: `${prefix} tenant recyclebinitem restore`,
@@ -79,7 +79,7 @@ class TeamsMeetingListCommand extends GraphCommand_1.default {
79
79
  }
80
80
  const res = yield odata_1.odata.getAllItems(requestUrl);
81
81
  const resFiltered = res.filter(y => y.isOnlineMeeting);
82
- if (!args.options.output || args.options.output === 'json') {
82
+ if (!args.options.output || !Cli_1.Cli.shouldTrimOutput(args.options.output)) {
83
83
  logger.log(resFiltered);
84
84
  }
85
85
  else {