@pnp/cli-microsoft365 6.2.0 → 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 (164) hide show
  1. package/.eslintrc.js +8 -0
  2. package/dist/Auth.js +0 -18
  3. package/dist/Command.js +12 -1
  4. package/dist/cli/Cli.js +4 -1
  5. package/dist/m365/aad/commands/group/group-list.js +2 -1
  6. package/dist/m365/base/O365MgmtCommand.js +10 -0
  7. package/dist/m365/context/commands/option/option-list.js +54 -0
  8. package/dist/m365/context/commands.js +1 -0
  9. package/dist/m365/file/commands/convert/convert-pdf.js +7 -6
  10. package/dist/m365/flow/commands/run/run-list.js +55 -3
  11. package/dist/m365/graph/commands/changelog/changelog-list.js +3 -2
  12. package/dist/m365/onenote/commands/notebook/notebook-list.js +50 -53
  13. package/dist/m365/onenote/commands/page/page-list.js +2 -16
  14. package/dist/m365/outlook/commands/mail/mail-send.js +3 -2
  15. package/dist/m365/outlook/commands/message/message-get.js +4 -3
  16. package/dist/m365/planner/commands/plan/plan-add.js +20 -6
  17. package/dist/m365/planner/commands/plan/plan-get.js +40 -26
  18. package/dist/m365/planner/commands/plan/plan-list.js +24 -14
  19. package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
  20. package/dist/m365/planner/commands/plan/plan-set.js +21 -10
  21. package/dist/m365/planner/commands/roster/roster-add.js +47 -0
  22. package/dist/m365/planner/commands/roster/roster-get.js +61 -0
  23. package/dist/m365/planner/commands/roster/roster-member-add.js +113 -0
  24. package/dist/m365/planner/commands/roster/roster-member-list.js +54 -0
  25. package/dist/m365/planner/commands/roster/roster-remove.js +88 -0
  26. package/dist/m365/planner/commands/task/task-add.js +3 -0
  27. package/dist/m365/planner/commands/task/task-checklistitem-add.js +2 -1
  28. package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
  29. package/dist/m365/planner/commands.js +5 -0
  30. package/dist/m365/pp/commands/solution/solution-get.js +2 -1
  31. package/dist/m365/pp/commands/solution/solution-list.js +2 -1
  32. package/dist/m365/purview/commands/auditlog/auditlog-list.js +205 -0
  33. package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +76 -0
  34. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +47 -0
  35. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +92 -0
  36. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +77 -0
  37. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +70 -0
  38. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +44 -0
  39. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +97 -0
  40. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +90 -0
  41. package/dist/m365/purview/commands.js +9 -0
  42. package/dist/m365/spfx/commands/project/WebApiPermissionRequests.js +3 -0
  43. package/dist/m365/spfx/commands/project/project-permissions-grant.js +81 -0
  44. package/dist/m365/spfx/commands.js +3 -2
  45. package/dist/m365/spo/commands/app/app-add.js +2 -1
  46. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +95 -0
  47. package/dist/m365/spo/commands/customaction/customaction-get.js +17 -66
  48. package/dist/m365/spo/commands/customaction/customaction-list.js +2 -36
  49. package/dist/m365/spo/commands/customaction/customaction-remove.js +11 -18
  50. package/dist/m365/spo/commands/file/GraphFileDetails.js +0 -1
  51. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +2 -1
  52. package/dist/m365/spo/commands/file/file-sharinglink-add.js +2 -22
  53. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +137 -0
  54. package/dist/m365/spo/commands/file/file-sharinglink-get.js +2 -25
  55. package/dist/m365/spo/commands/file/file-sharinglink-list.js +9 -29
  56. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -25
  57. package/dist/m365/spo/commands/file/file-sharinglink-set.js +104 -0
  58. package/dist/m365/spo/commands/group/group-list.js +2 -1
  59. package/dist/m365/spo/commands/hubsite/hubsite-get.js +1 -1
  60. package/dist/m365/spo/commands/listitem/listitem-add.js +2 -1
  61. package/dist/m365/spo/commands/listitem/listitem-list.js +2 -1
  62. package/dist/m365/spo/commands/navigation/navigation-node-add.js +17 -3
  63. package/dist/m365/spo/commands/navigation/navigation-node-get.js +73 -0
  64. package/dist/m365/spo/commands/navigation/navigation-node-list.js +4 -7
  65. package/dist/m365/spo/commands/navigation/navigation-node-set.js +118 -0
  66. package/dist/m365/spo/commands/page/page-column-get.js +2 -1
  67. package/dist/m365/spo/commands/page/page-column-list.js +2 -1
  68. package/dist/m365/spo/commands/page/page-section-get.js +2 -1
  69. package/dist/m365/spo/commands/page/page-section-list.js +2 -1
  70. package/dist/m365/spo/commands/site/site-apppermission-add.js +2 -14
  71. package/dist/m365/spo/commands/site/site-apppermission-get.js +2 -14
  72. package/dist/m365/spo/commands/site/site-apppermission-list.js +2 -14
  73. package/dist/m365/spo/commands/site/site-apppermission-remove.js +2 -14
  74. package/dist/m365/spo/commands/site/site-apppermission-set.js +2 -14
  75. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +6 -0
  76. package/dist/m365/spo/commands/spo-search.js +2 -1
  77. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +179 -0
  78. package/dist/m365/spo/commands/term/term-list.js +2 -1
  79. package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -2
  80. package/dist/m365/spo/commands/web/web-set.js +11 -4
  81. package/dist/m365/spo/commands.js +6 -0
  82. package/dist/m365/teams/commands/chat/chat-list.js +4 -4
  83. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +5 -5
  84. package/dist/m365/teams/commands/meeting/meeting-get.js +5 -5
  85. package/dist/m365/teams/commands/meeting/meeting-list.js +5 -4
  86. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  87. package/dist/m365/teams/commands/user/user-app-list.js +2 -1
  88. package/dist/m365/todo/commands/task/task-get.js +2 -1
  89. package/dist/m365/todo/commands/task/task-list.js +2 -1
  90. package/dist/m365/yammer/commands/yammer-search.js +2 -1
  91. package/dist/utils/accessToken.js +1 -1
  92. package/dist/utils/planner.js +16 -5
  93. package/dist/utils/spo.js +116 -0
  94. package/docs/docs/cmd/aad/app/app-list.md +3 -0
  95. package/docs/docs/cmd/aad/user/user-set.md +1 -1
  96. package/docs/docs/cmd/context/option/option-list.md +63 -0
  97. package/docs/docs/cmd/flow/run/run-list.md +21 -0
  98. package/docs/docs/cmd/login.md +26 -0
  99. package/docs/docs/cmd/logout.md +4 -0
  100. package/docs/docs/cmd/pa/app/app-get.md +24 -0
  101. package/docs/docs/cmd/pa/app/app-list.md +21 -0
  102. package/docs/docs/cmd/pa/connector/connector-list.md +17 -0
  103. package/docs/docs/cmd/pa/environment/environment-get.md +18 -0
  104. package/docs/docs/cmd/pa/environment/environment-list.md +19 -0
  105. package/docs/docs/cmd/planner/plan/plan-add.md +17 -6
  106. package/docs/docs/cmd/planner/plan/plan-get.md +21 -7
  107. package/docs/docs/cmd/planner/plan/plan-list.md +16 -2
  108. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  109. package/docs/docs/cmd/planner/plan/plan-set.md +10 -4
  110. package/docs/docs/cmd/planner/roster/roster-add.md +60 -0
  111. package/docs/docs/cmd/planner/roster/roster-get.md +73 -0
  112. package/docs/docs/cmd/planner/roster/roster-member-add.md +87 -0
  113. package/docs/docs/cmd/planner/roster/roster-member-list.md +76 -0
  114. package/docs/docs/cmd/planner/roster/roster-remove.md +48 -0
  115. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.md +43 -0
  116. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.md +43 -0
  117. package/docs/docs/cmd/pp/card/card-clone.md +12 -0
  118. package/docs/docs/cmd/pp/card/card-get.md +49 -0
  119. package/docs/docs/cmd/pp/card/card-list.md +49 -0
  120. package/docs/docs/cmd/pp/chatbot/chatbot-get.md +55 -0
  121. package/docs/docs/cmd/pp/chatbot/chatbot-list.md +36 -0
  122. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +30 -0
  123. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +30 -0
  124. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.md +30 -0
  125. package/docs/docs/cmd/pp/environment/environment-get.md +19 -0
  126. package/docs/docs/cmd/pp/environment/environment-list.md +19 -0
  127. package/docs/docs/cmd/pp/gateway/gateway-get.md +19 -0
  128. package/docs/docs/cmd/pp/gateway/gateway-list.md +19 -0
  129. package/docs/docs/cmd/pp/managementapp/managementapp-add.md +12 -0
  130. package/docs/docs/cmd/pp/managementapp/managementapp-list.md +12 -0
  131. package/docs/docs/cmd/pp/solution/solution-get.md +14 -0
  132. package/docs/docs/cmd/pp/solution/solution-list.md +14 -0
  133. package/docs/docs/cmd/pp/solution/solution-publisher-get.md +20 -1
  134. package/docs/docs/cmd/pp/solution/solution-publisher-list.md +18 -0
  135. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +21 -0
  136. package/docs/docs/cmd/purview/auditlog/auditlog-list.md +123 -0
  137. package/docs/docs/cmd/purview/retentionevent/retentionevent-get.md +132 -0
  138. package/docs/docs/cmd/purview/retentionevent/retentionevent-list.md +107 -0
  139. package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.md +42 -0
  140. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +106 -0
  141. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +100 -0
  142. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.md +97 -0
  143. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.md +43 -0
  144. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.md +43 -0
  145. package/docs/docs/cmd/request.md +74 -0
  146. package/docs/docs/cmd/spfx/project/project-permissions-grant.md +65 -0
  147. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +56 -0
  148. package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +46 -0
  149. package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
  150. package/docs/docs/cmd/spo/file/file-sharinglink-set.md +104 -0
  151. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +2 -2
  152. package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +2 -2
  153. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +18 -3
  154. package/docs/docs/cmd/spo/navigation/navigation-node-get.md +91 -0
  155. package/docs/docs/cmd/spo/navigation/navigation-node-list.md +30 -0
  156. package/docs/docs/cmd/spo/navigation/navigation-node-remove.md +1 -1
  157. package/docs/docs/cmd/spo/navigation/navigation-node-set.md +59 -0
  158. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.md +3 -0
  159. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +59 -0
  160. package/docs/docs/cmd/spo/web/web-set.md +9 -0
  161. package/docs/docs/cmd/status.md +46 -0
  162. package/docs/docs/cmd/version.md +26 -0
  163. package/npm-shrinkwrap.json +913 -878
  164. package/package.json +13 -13
@@ -0,0 +1,104 @@
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 _SpoFileSharingLinkSetCommand_instances, _SpoFileSharingLinkSetCommand_initTelemetry, _SpoFileSharingLinkSetCommand_initOptions, _SpoFileSharingLinkSetCommand_initValidators, _SpoFileSharingLinkSetCommand_initOptionSets;
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
+ const spo_1 = require("../../../../utils/spo");
23
+ class SpoFileSharingLinkSetCommand extends SpoCommand_1.default {
24
+ get name() {
25
+ return commands_1.default.FILE_SHARINGLINK_SET;
26
+ }
27
+ get description() {
28
+ return 'Updates a sharing link of a file';
29
+ }
30
+ constructor() {
31
+ super();
32
+ _SpoFileSharingLinkSetCommand_instances.add(this);
33
+ __classPrivateFieldGet(this, _SpoFileSharingLinkSetCommand_instances, "m", _SpoFileSharingLinkSetCommand_initTelemetry).call(this);
34
+ __classPrivateFieldGet(this, _SpoFileSharingLinkSetCommand_instances, "m", _SpoFileSharingLinkSetCommand_initOptions).call(this);
35
+ __classPrivateFieldGet(this, _SpoFileSharingLinkSetCommand_instances, "m", _SpoFileSharingLinkSetCommand_initValidators).call(this);
36
+ __classPrivateFieldGet(this, _SpoFileSharingLinkSetCommand_instances, "m", _SpoFileSharingLinkSetCommand_initOptionSets).call(this);
37
+ }
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (this.verbose) {
41
+ logger.logToStderr(`Updating sharing link of file ${args.options.fileId || args.options.fileUrl}...`);
42
+ }
43
+ try {
44
+ const fileDetails = yield spo_1.spo.getVroomFileDetails(args.options.webUrl, args.options.fileId, args.options.fileUrl);
45
+ const requestOptions = {
46
+ url: `https://graph.microsoft.com/v1.0/sites/${fileDetails.SiteId}/drives/${fileDetails.VroomDriveID}/items/${fileDetails.VroomItemID}/permissions/${args.options.id}`,
47
+ headers: {
48
+ accept: 'application/json;odata.metadata=none'
49
+ },
50
+ responseType: 'json',
51
+ data: {
52
+ expirationDateTime: args.options.expirationDateTime
53
+ }
54
+ };
55
+ const sharingLink = yield request_1.default.patch(requestOptions);
56
+ logger.log(sharingLink);
57
+ }
58
+ catch (err) {
59
+ this.handleRejectedODataJsonPromise(err);
60
+ }
61
+ });
62
+ }
63
+ }
64
+ _SpoFileSharingLinkSetCommand_instances = new WeakSet(), _SpoFileSharingLinkSetCommand_initTelemetry = function _SpoFileSharingLinkSetCommand_initTelemetry() {
65
+ this.telemetry.push((args) => {
66
+ Object.assign(this.telemetryProperties, {
67
+ fileId: typeof args.options.fileId !== 'undefined',
68
+ fileUrl: typeof args.options.fileUrl !== 'undefined'
69
+ });
70
+ });
71
+ }, _SpoFileSharingLinkSetCommand_initOptions = function _SpoFileSharingLinkSetCommand_initOptions() {
72
+ this.options.unshift({
73
+ option: '-u, --webUrl <webUrl>'
74
+ }, {
75
+ option: '--fileId [fileId]'
76
+ }, {
77
+ option: '--fileUrl [fileUrl]'
78
+ }, {
79
+ option: '--id <id>'
80
+ }, {
81
+ option: '--expirationDateTime <expirationDateTime>'
82
+ });
83
+ }, _SpoFileSharingLinkSetCommand_initValidators = function _SpoFileSharingLinkSetCommand_initValidators() {
84
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
85
+ const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
86
+ if (isValidSharePointUrl !== true) {
87
+ return isValidSharePointUrl;
88
+ }
89
+ if (args.options.fileId && !validation_1.validation.isValidGuid(args.options.fileId)) {
90
+ return `${args.options.fileId} is not a valid GUID`;
91
+ }
92
+ if (!validation_1.validation.isValidGuid(args.options.id)) {
93
+ return `${args.options.id} is not a valid GUID`;
94
+ }
95
+ if (!validation_1.validation.isValidISODateTime(args.options.expirationDateTime)) {
96
+ return `'${args.options.expirationDateTime}' is not a valid ISO date string`;
97
+ }
98
+ return true;
99
+ }));
100
+ }, _SpoFileSharingLinkSetCommand_initOptionSets = function _SpoFileSharingLinkSetCommand_initOptionSets() {
101
+ this.optionSets.push({ options: ['fileId', 'fileUrl'] });
102
+ };
103
+ module.exports = new SpoFileSharingLinkSetCommand();
104
+ //# sourceMappingURL=file-sharinglink-set.js.map
@@ -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 === 'json') {
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 === 'json') {
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);
@@ -176,7 +176,8 @@ class SpoListItemAddCommand extends SpoCommand_1.default {
176
176
  'folder',
177
177
  'debug',
178
178
  'verbose',
179
- 'output'
179
+ 'output',
180
+ '_'
180
181
  ];
181
182
  Object.keys(options).forEach(key => {
182
183
  if (excludeOptions.indexOf(key) === -1) {
@@ -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 === "text") ? ["Title", "Id"] : [];
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() {
@@ -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) {
@@ -17,6 +17,7 @@ var _SpoSiteAppPermissionAddCommand_instances, _SpoSiteAppPermissionAddCommand_i
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
19
  const formatting_1 = require("../../../../utils/formatting");
20
+ const spo_1 = require("../../../../utils/spo");
20
21
  const validation_1 = require("../../../../utils/validation");
21
22
  const GraphCommand_1 = require("../../../base/GraphCommand");
22
23
  const commands_1 = require("../../commands");
@@ -37,19 +38,6 @@ class SpoSiteAppPermissionAddCommand extends GraphCommand_1.default {
37
38
  __classPrivateFieldGet(this, _SpoSiteAppPermissionAddCommand_instances, "m", _SpoSiteAppPermissionAddCommand_initValidators).call(this);
38
39
  __classPrivateFieldGet(this, _SpoSiteAppPermissionAddCommand_instances, "m", _SpoSiteAppPermissionAddCommand_initOptionSets).call(this);
39
40
  }
40
- getSpoSiteId(args) {
41
- const url = new URL(args.options.siteUrl);
42
- const requestOptions = {
43
- url: `${this.resource}/v1.0/sites/${url.hostname}:${url.pathname}`,
44
- headers: {
45
- accept: 'application/json;odata.metadata=none'
46
- },
47
- responseType: 'json'
48
- };
49
- return request_1.default
50
- .get(requestOptions)
51
- .then((site) => site.id);
52
- }
53
41
  getAppInfo(args) {
54
42
  if (args.options.appId && args.options.appDisplayName) {
55
43
  return Promise.resolve({
@@ -136,7 +124,7 @@ class SpoSiteAppPermissionAddCommand extends GraphCommand_1.default {
136
124
  commandAction(logger, args) {
137
125
  return __awaiter(this, void 0, void 0, function* () {
138
126
  try {
139
- this.siteId = yield this.getSpoSiteId(args);
127
+ this.siteId = yield spo_1.spo.getSpoGraphSiteId(args.options.siteUrl);
140
128
  const appInfo = yield this.getAppInfo(args);
141
129
  let permission = yield this.addPermissions(args, appInfo);
142
130
  if (this.roleNeedsElevation(args.options.permission)) {
@@ -16,6 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoSiteAppPermissionGetCommand_instances, _SpoSiteAppPermissionGetCommand_initOptions, _SpoSiteAppPermissionGetCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
+ const spo_1 = require("../../../../utils/spo");
19
20
  const validation_1 = require("../../../../utils/validation");
20
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
21
22
  const commands_1 = require("../../commands");
@@ -32,19 +33,6 @@ class SpoSiteAppPermissionGetCommand extends GraphCommand_1.default {
32
33
  __classPrivateFieldGet(this, _SpoSiteAppPermissionGetCommand_instances, "m", _SpoSiteAppPermissionGetCommand_initOptions).call(this);
33
34
  __classPrivateFieldGet(this, _SpoSiteAppPermissionGetCommand_instances, "m", _SpoSiteAppPermissionGetCommand_initValidators).call(this);
34
35
  }
35
- getSpoSiteId(args) {
36
- const url = new URL(args.options.siteUrl);
37
- const requestOptions = {
38
- url: `${this.resource}/v1.0/sites/${url.hostname}:${url.pathname}`,
39
- headers: {
40
- accept: 'application/json;odata.metadata=none'
41
- },
42
- responseType: 'json'
43
- };
44
- return request_1.default
45
- .get(requestOptions)
46
- .then((site) => site.id);
47
- }
48
36
  getApplicationPermission(args, siteId) {
49
37
  const requestOptions = {
50
38
  url: `${this.resource}/v1.0/sites/${siteId}/permissions/${args.options.id}`,
@@ -58,7 +46,7 @@ class SpoSiteAppPermissionGetCommand extends GraphCommand_1.default {
58
46
  commandAction(logger, args) {
59
47
  return __awaiter(this, void 0, void 0, function* () {
60
48
  try {
61
- const siteId = yield this.getSpoSiteId(args);
49
+ const siteId = yield spo_1.spo.getSpoGraphSiteId(args.options.siteUrl);
62
50
  const permissionObject = yield this.getApplicationPermission(args, siteId);
63
51
  const transposed = [];
64
52
  permissionObject.grantedToIdentities.forEach((permissionEntity) => {
@@ -16,6 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoSiteAppPermissionListCommand_instances, _SpoSiteAppPermissionListCommand_initTelemetry, _SpoSiteAppPermissionListCommand_initOptions, _SpoSiteAppPermissionListCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
+ const spo_1 = require("../../../../utils/spo");
19
20
  const validation_1 = require("../../../../utils/validation");
20
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
21
22
  const commands_1 = require("../../commands");
@@ -34,19 +35,6 @@ class SpoSiteAppPermissionListCommand extends GraphCommand_1.default {
34
35
  __classPrivateFieldGet(this, _SpoSiteAppPermissionListCommand_instances, "m", _SpoSiteAppPermissionListCommand_initOptions).call(this);
35
36
  __classPrivateFieldGet(this, _SpoSiteAppPermissionListCommand_instances, "m", _SpoSiteAppPermissionListCommand_initValidators).call(this);
36
37
  }
37
- getSpoSiteId(args) {
38
- const url = new URL(args.options.siteUrl);
39
- const requestOptions = {
40
- url: `${this.resource}/v1.0/sites/${url.hostname}:${url.pathname}`,
41
- headers: {
42
- accept: 'application/json;odata.metadata=none'
43
- },
44
- responseType: 'json'
45
- };
46
- return request_1.default
47
- .get(requestOptions)
48
- .then((site) => site.id);
49
- }
50
38
  getFilteredPermissions(args, permissions) {
51
39
  let filterProperty = 'displayName';
52
40
  let filterValue = args.options.appDisplayName;
@@ -95,7 +83,7 @@ class SpoSiteAppPermissionListCommand extends GraphCommand_1.default {
95
83
  commandAction(logger, args) {
96
84
  return __awaiter(this, void 0, void 0, function* () {
97
85
  try {
98
- this.siteId = yield this.getSpoSiteId(args);
86
+ this.siteId = yield spo_1.spo.getSpoGraphSiteId(args.options.siteUrl);
99
87
  const permRes = yield this.getPermissions();
100
88
  let permissions = permRes.value;
101
89
  if (args.options.appId || args.options.appDisplayName) {