@pnp/cli-microsoft365 7.0.0-beta.c0afb7b → 7.0.0-beta.c2db9df

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 (158) hide show
  1. package/README.md +4 -4
  2. package/dist/cli/Cli.js +3 -3
  3. package/dist/m365/aad/commands/app/app-add.js +8 -8
  4. package/dist/m365/aad/commands/app/app-get.js +4 -1
  5. package/dist/m365/aad/commands/app/app-remove.js +3 -1
  6. package/dist/m365/aad/commands/app/app-role-add.js +9 -6
  7. package/dist/m365/aad/commands/app/app-role-list.js +4 -1
  8. package/dist/m365/aad/commands/app/app-role-remove.js +5 -2
  9. package/dist/m365/aad/commands/app/app-set.js +9 -6
  10. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +7 -2
  11. package/dist/m365/aad/commands/group/group-get.js +4 -4
  12. package/dist/m365/aad/commands/group/group-list.js +1 -23
  13. package/dist/m365/aad/commands/m365group/m365group-add.js +12 -9
  14. package/dist/m365/aad/commands/m365group/m365group-recyclebinitem-remove.js +3 -1
  15. package/dist/m365/aad/commands/m365group/m365group-recyclebinitem-restore.js +4 -1
  16. package/dist/m365/aad/commands/m365group/m365group-teamify.js +4 -1
  17. package/dist/m365/aad/commands/policy/policy-list.js +5 -5
  18. package/dist/m365/aad/commands/sp/sp-add.js +4 -1
  19. package/dist/m365/aad/commands/sp/sp-get.js +4 -1
  20. package/dist/m365/aad/commands/user/user-get.js +7 -2
  21. package/dist/m365/booking/commands/business/business-get.js +4 -1
  22. package/dist/m365/cli/commands/cli-issue.js +5 -5
  23. package/dist/m365/cli/commands/config/config-get.js +5 -5
  24. package/dist/m365/cli/commands/config/config-reset.js +5 -5
  25. package/dist/m365/cli/commands/config/config-set.js +5 -5
  26. package/dist/m365/commands/login.js +5 -5
  27. package/dist/m365/commands/request.js +1 -1
  28. package/dist/m365/flow/commands/owner/owner-ensure.js +5 -5
  29. package/dist/m365/outlook/commands/message/message-list.js +4 -2
  30. package/dist/m365/outlook/commands/message/message-move.js +4 -2
  31. package/dist/m365/pa/commands/app/app-export.js +7 -7
  32. package/dist/m365/pa/commands/app/app-owner-set.js +5 -5
  33. package/dist/m365/pa/commands/app/app-permission-ensure.js +5 -5
  34. package/dist/m365/planner/commands/bucket/bucket-get.js +5 -1
  35. package/dist/m365/planner/commands/bucket/bucket-remove.js +3 -1
  36. package/dist/m365/planner/commands/bucket/bucket-set.js +4 -1
  37. package/dist/m365/planner/commands/task/task-add.js +17 -11
  38. package/dist/m365/planner/commands/task/task-get.js +42 -27
  39. package/dist/m365/planner/commands/task/task-list.js +26 -19
  40. package/dist/m365/planner/commands/task/task-remove.js +45 -37
  41. package/dist/m365/planner/commands/task/task-set.js +35 -23
  42. package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-get.js +4 -1
  43. package/dist/m365/pp/commands/card/card-get.js +3 -5
  44. package/dist/m365/pp/commands/chatbot/chatbot-get.js +3 -1
  45. package/dist/m365/pp/commands/managementapp/managementapp-add.js +4 -1
  46. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +14 -14
  47. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +3 -1
  48. package/dist/m365/spfx/commands/package/package-generate.js +15 -15
  49. package/dist/m365/spfx/commands/project/DeployWorkflow.js +55 -0
  50. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.5.js → doctor-1.18.0-rc.1.js} +2 -2
  51. package/dist/m365/spfx/commands/project/project-doctor.js +9 -9
  52. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +157 -0
  53. package/dist/m365/spfx/commands/project/project-github-workflow-model.js +2 -0
  54. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7.js +13 -0
  55. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.5.js → upgrade-1.18.0-rc.1.js} +35 -27
  56. package/dist/m365/spfx/commands/project/project-upgrade.js +14 -14
  57. package/dist/m365/spfx/commands/spfx-doctor.js +3 -3
  58. package/dist/m365/spfx/commands.js +1 -0
  59. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +5 -5
  60. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-get.js +5 -3
  61. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +5 -5
  62. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-remove.js +2 -2
  63. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +3 -2
  64. package/dist/m365/spo/commands/commandset/commandset-add.js +11 -11
  65. package/dist/m365/spo/commands/commandset/commandset-get.js +12 -10
  66. package/dist/m365/spo/commands/commandset/commandset-list.js +5 -5
  67. package/dist/m365/spo/commands/commandset/commandset-remove.js +7 -6
  68. package/dist/m365/spo/commands/commandset/commandset-set.js +14 -12
  69. package/dist/m365/spo/commands/customaction/customaction-get.js +5 -2
  70. package/dist/m365/spo/commands/customaction/customaction-remove.js +3 -1
  71. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +3 -1
  72. package/dist/m365/spo/commands/file/file-get.js +9 -6
  73. package/dist/m365/spo/commands/file/file-sharinglink-add.js +8 -8
  74. package/dist/m365/spo/commands/file/file-sharinglink-list.js +5 -5
  75. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +7 -4
  76. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +4 -1
  77. package/dist/m365/spo/commands/hubsite/hubsite-get.js +3 -1
  78. package/dist/m365/spo/commands/list/list-add.js +4 -4
  79. package/dist/m365/spo/commands/list/list-set.js +4 -4
  80. package/dist/m365/spo/commands/listitem/listitem-add.js +1 -0
  81. package/dist/m365/spo/commands/listitem/listitem-set.js +3 -2
  82. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +8 -8
  83. package/dist/m365/spo/commands/page/clientsidepages.js +18 -0
  84. package/dist/m365/spo/commands/page/page-get.js +1 -0
  85. package/dist/m365/spo/commands/page/page-list.js +4 -3
  86. package/dist/m365/spo/commands/page/page-section-add.js +56 -21
  87. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +30 -32
  88. package/dist/m365/spo/commands/site/site-add.js +114 -161
  89. package/dist/m365/spo/commands/site/site-apppermission-add.js +15 -18
  90. package/dist/m365/spo/commands/site/site-apppermission-remove.js +34 -38
  91. package/dist/m365/spo/commands/site/site-apppermission-set.js +11 -14
  92. package/dist/m365/spo/commands/site/site-ensure.js +13 -66
  93. package/dist/m365/spo/commands/site/site-list.js +5 -7
  94. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +6 -6
  95. package/dist/m365/spo/commands/site/site-remove.js +166 -210
  96. package/dist/m365/spo/commands/site/site-set.js +121 -153
  97. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +1 -1
  98. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +8 -3
  99. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-list.js +3 -2
  100. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-remove.js +2 -1
  101. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +3 -2
  102. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -8
  103. package/dist/m365/spo/commands/tenant/tenant-commandset-get.js +8 -3
  104. package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +3 -2
  105. package/dist/m365/spo/commands/tenant/tenant-commandset-remove.js +3 -1
  106. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +8 -8
  107. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -4
  108. package/dist/m365/spo/commands/term/term-get.js +6 -6
  109. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +3 -3
  110. package/dist/m365/spo/commands/web/web-set.js +5 -5
  111. package/dist/m365/teams/commands/app/app-list.js +5 -5
  112. package/dist/m365/teams/commands/channel/channel-add.js +5 -1
  113. package/dist/m365/teams/commands/channel/channel-member-add.js +4 -2
  114. package/dist/m365/teams/commands/channel/channel-member-remove.js +3 -1
  115. package/dist/m365/teams/commands/channel/channel-member-set.js +4 -1
  116. package/dist/m365/teams/commands/chat/chat-get.js +7 -10
  117. package/dist/m365/teams/commands/chat/chat-member-add.js +5 -5
  118. package/dist/m365/teams/commands/chat/chat-message-send.js +8 -10
  119. package/dist/m365/teams/commands/funsettings/funsettings-set.js +4 -4
  120. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +4 -4
  121. package/dist/m365/teams/commands/membersettings/membersettings-set.js +4 -4
  122. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +5 -5
  123. package/dist/m365/teams/commands/team/team-clone.js +5 -10
  124. package/dist/m365/teams/commands/team/team-list.js +94 -30
  125. package/dist/m365/teams/commands/team/team-set.js +3 -3
  126. package/dist/m365/tenant/commands/info/info-get.js +83 -0
  127. package/dist/m365/tenant/commands.js +1 -0
  128. package/dist/m365/todo/commands/task/task-add.js +6 -6
  129. package/dist/m365/yammer/commands/message/message-list.js +5 -5
  130. package/dist/m365/yammer/commands/yammer-search.js +5 -5
  131. package/dist/utils/aadGroup.js +23 -3
  132. package/dist/utils/formatting.js +7 -0
  133. package/dist/utils/fsUtil.js +5 -0
  134. package/dist/utils/powerPlatform.js +1 -1
  135. package/dist/utils/spo.js +582 -0
  136. package/docs/docs/cmd/aad/group/group-get.mdx +5 -5
  137. package/docs/docs/cmd/aad/group/group-list.mdx +0 -11
  138. package/docs/docs/cmd/aad/policy/policy-list.mdx +5 -5
  139. package/docs/docs/cmd/cli/config/config-list.mdx +1 -1
  140. package/docs/docs/cmd/pa/app/app-export.mdx +5 -5
  141. package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
  142. package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
  143. package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
  144. package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
  145. package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
  146. package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
  147. package/docs/docs/cmd/spo/listitem/listitem-add.mdx +2 -5
  148. package/docs/docs/cmd/spo/listitem/listitem-set.mdx +2 -5
  149. package/docs/docs/cmd/spo/page/page-get.mdx +0 -1
  150. package/docs/docs/cmd/spo/page/page-list.mdx +0 -1
  151. package/docs/docs/cmd/spo/page/page-section-add.mdx +25 -1
  152. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +2 -4
  153. package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +2 -4
  154. package/docs/docs/cmd/teams/team/team-clone.mdx +3 -3
  155. package/docs/docs/cmd/teams/team/team-list.mdx +47 -22
  156. package/docs/docs/cmd/tenant/info/info-get.mdx +101 -0
  157. package/npm-shrinkwrap.json +196 -193
  158. package/package.json +8 -12
@@ -6,6 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
6
  var _SpoHubSiteDisconnectCommand_instances, _SpoHubSiteDisconnectCommand_initTelemetry, _SpoHubSiteDisconnectCommand_initOptions, _SpoHubSiteDisconnectCommand_initOptionSets, _SpoHubSiteDisconnectCommand_initValidators;
7
7
  import { Cli } from '../../../../cli/Cli.js';
8
8
  import request from '../../../../request.js';
9
+ import { formatting } from '../../../../utils/formatting.js';
9
10
  import { spo } from '../../../../utils/spo.js';
10
11
  import { validation } from '../../../../utils/validation.js';
11
12
  import SpoCommand from '../../../base/SpoCommand.js';
@@ -91,7 +92,9 @@ class SpoHubSiteDisconnectCommand extends SpoCommand {
91
92
  throw `The specified hub site '${options.title || options.url}' does not exist.`;
92
93
  }
93
94
  if (filteredHubSites.length > 1) {
94
- throw `Multiple hub sites with name '${options.title}' found: ${filteredHubSites.map(s => s.ID).join(',')}.`;
95
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('ID', filteredHubSites);
96
+ const result = await Cli.handleMultipleResultsFound(`Multiple hub sites with name '${options.title}' found.`, resultAsKeyValuePair);
97
+ return result;
95
98
  }
96
99
  return filteredHubSites[0];
97
100
  }
@@ -6,6 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
6
6
  var _SpoHubSiteGetCommand_instances, _SpoHubSiteGetCommand_initTelemetry, _SpoHubSiteGetCommand_initOptions, _SpoHubSiteGetCommand_initValidators, _SpoHubSiteGetCommand_initOptionSets;
7
7
  import { Cli } from '../../../../cli/Cli.js';
8
8
  import request from '../../../../request.js';
9
+ import { formatting } from '../../../../utils/formatting.js';
9
10
  import { spo } from '../../../../utils/spo.js';
10
11
  import { validation } from '../../../../utils/validation.js';
11
12
  import SpoCommand from '../../../base/SpoCommand.js';
@@ -87,7 +88,8 @@ class SpoHubSiteGetCommand extends SpoCommand {
87
88
  throw `The specified hub site ${options.title || options.url} does not exist`;
88
89
  }
89
90
  if (hubSites.length > 1) {
90
- throw `Multiple hub sites with ${options.title || options.url} found. Please disambiguate: ${hubSites.map(site => site.SiteUrl).join(', ')}`;
91
+ const resultAsKeyValuePair = formatting.convertArrayToHashTable('ID', hubSites);
92
+ return await Cli.handleMultipleResultsFound(`Multiple hub sites with ${options.title || options.url} found.`, resultAsKeyValuePair);
91
93
  }
92
94
  return hubSites[0];
93
95
  }
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpoListAddCommand_instances, _SpoListAddCommand_initTelemetry, _SpoListAddCommand_initOptions, _SpoListAddCommand_initValidators, _SpoListAddCommand_initTypes;
6
+ var _SpoListAddCommand_instances, _a, _SpoListAddCommand_initTelemetry, _SpoListAddCommand_initOptions, _SpoListAddCommand_initValidators, _SpoListAddCommand_initTypes;
7
7
  import request from '../../../../request.js';
8
8
  import { validation } from '../../../../utils/validation.js';
9
9
  import SpoCommand from '../../../base/SpoCommand.js';
@@ -275,7 +275,7 @@ class SpoListAddCommand extends SpoCommand {
275
275
  return requestBody;
276
276
  }
277
277
  }
278
- _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry = function _SpoListAddCommand_initTelemetry() {
278
+ _a = SpoListAddCommand, _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry = function _SpoListAddCommand_initTelemetry() {
279
279
  this.telemetry.push((args) => {
280
280
  const telemetryProps = {};
281
281
  // add properties with identifiable data
@@ -298,7 +298,7 @@ _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry =
298
298
  }
299
299
  });
300
300
  // add boolean values
301
- SpoListAddCommand.booleanOptions.forEach(o => {
301
+ _a.booleanOptions.forEach(o => {
302
302
  const value = args.options[o];
303
303
  if (value !== undefined) {
304
304
  telemetryProps[o] = value.toString();
@@ -561,7 +561,7 @@ _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry =
561
561
  });
562
562
  }, _SpoListAddCommand_initTypes = function _SpoListAddCommand_initTypes() {
563
563
  this.types.string.push('title', 'baseTemplate', 'webUrl', 'templateFeatureId', 'defaultContentApprovalWorkflowId', 'draftVersionVisibility', 'listExperienceOptions');
564
- this.types.boolean.push(...SpoListAddCommand.booleanOptions);
564
+ this.types.boolean.push(..._a.booleanOptions);
565
565
  };
566
566
  SpoListAddCommand.booleanOptions = [
567
567
  'allowDeletion',
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpoListSetCommand_instances, _SpoListSetCommand_initTelemetry, _SpoListSetCommand_initOptions, _SpoListSetCommand_initValidators, _SpoListSetCommand_initTypes, _SpoListSetCommand_initOptionSets;
6
+ var _SpoListSetCommand_instances, _a, _SpoListSetCommand_initTelemetry, _SpoListSetCommand_initOptions, _SpoListSetCommand_initValidators, _SpoListSetCommand_initTypes, _SpoListSetCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
9
  import { urlUtil } from '../../../../utils/urlUtil.js';
@@ -277,7 +277,7 @@ class SpoListSetCommand extends SpoCommand {
277
277
  return requestBody;
278
278
  }
279
279
  }
280
- _SpoListSetCommand_instances = new WeakSet(), _SpoListSetCommand_initTelemetry = function _SpoListSetCommand_initTelemetry() {
280
+ _a = SpoListSetCommand, _SpoListSetCommand_instances = new WeakSet(), _SpoListSetCommand_initTelemetry = function _SpoListSetCommand_initTelemetry() {
281
281
  this.telemetry.push((args) => {
282
282
  const telemetryProps = {};
283
283
  // add properties with identifiable data
@@ -303,7 +303,7 @@ _SpoListSetCommand_instances = new WeakSet(), _SpoListSetCommand_initTelemetry =
303
303
  }
304
304
  });
305
305
  // add boolean values
306
- SpoListSetCommand.booleanOptions.forEach(o => {
306
+ _a.booleanOptions.forEach(o => {
307
307
  const value = args.options[o];
308
308
  if (value !== undefined) {
309
309
  telemetryProps[o] = value;
@@ -565,7 +565,7 @@ _SpoListSetCommand_instances = new WeakSet(), _SpoListSetCommand_initTelemetry =
565
565
  });
566
566
  }, _SpoListSetCommand_initTypes = function _SpoListSetCommand_initTypes() {
567
567
  this.types.string.push('webUrl', 'templateFeatureId', 'defaultContentApprovalWorkflowId', 'draftVersionVisibility', 'listExperienceOptions');
568
- this.types.boolean.push(...SpoListSetCommand.booleanOptions);
568
+ this.types.boolean.push(..._a.booleanOptions);
569
569
  }, _SpoListSetCommand_initOptionSets = function _SpoListSetCommand_initOptionSets() {
570
570
  this.optionSets.push({ options: ['id', 'title', 'url'] });
571
571
  };
@@ -148,6 +148,7 @@ class SpoListItemAddCommand extends SpoCommand {
148
148
  responseType: 'json'
149
149
  };
150
150
  const item = await request.get(requestOptions);
151
+ delete item.ID;
151
152
  await logger.log(item);
152
153
  }
153
154
  catch (err) {
@@ -188,8 +188,9 @@ class SpoListItemSetCommand extends SpoCommand {
188
188
  },
189
189
  responseType: 'json'
190
190
  };
191
- const itemsResponse = await request.get(requestOptionsItems);
192
- await logger.log(itemsResponse);
191
+ const item = await request.get(requestOptionsItems);
192
+ delete item.ID;
193
+ await logger.log(item);
193
194
  }
194
195
  catch (err) {
195
196
  this.handleRejectedODataJsonPromise(err);
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpoOrgAssetsLibraryAddCommand_instances, _SpoOrgAssetsLibraryAddCommand_initTelemetry, _SpoOrgAssetsLibraryAddCommand_initOptions, _SpoOrgAssetsLibraryAddCommand_initValidators;
6
+ var _SpoOrgAssetsLibraryAddCommand_instances, _a, _SpoOrgAssetsLibraryAddCommand_initTelemetry, _SpoOrgAssetsLibraryAddCommand_initOptions, _SpoOrgAssetsLibraryAddCommand_initValidators;
7
7
  import config from '../../../../config.js';
8
8
  import request from '../../../../request.js';
9
9
  import { spo } from '../../../../utils/spo.js';
@@ -68,7 +68,7 @@ class SpoOrgAssetsLibraryAddCommand extends SpoCommand {
68
68
  }
69
69
  }
70
70
  }
71
- _SpoOrgAssetsLibraryAddCommand_instances = new WeakSet(), _SpoOrgAssetsLibraryAddCommand_initTelemetry = function _SpoOrgAssetsLibraryAddCommand_initTelemetry() {
71
+ _a = SpoOrgAssetsLibraryAddCommand, _SpoOrgAssetsLibraryAddCommand_instances = new WeakSet(), _SpoOrgAssetsLibraryAddCommand_initTelemetry = function _SpoOrgAssetsLibraryAddCommand_initTelemetry() {
72
72
  this.telemetry.push((args) => {
73
73
  Object.assign(this.telemetryProperties, {
74
74
  cdnType: args.options.cdnType || 'Private',
@@ -83,10 +83,10 @@ _SpoOrgAssetsLibraryAddCommand_instances = new WeakSet(), _SpoOrgAssetsLibraryAd
83
83
  option: '--thumbnailUrl [thumbnailUrl]'
84
84
  }, {
85
85
  option: '--cdnType [cdnType]',
86
- autocomplete: SpoOrgAssetsLibraryAddCommand.cdnTypes
86
+ autocomplete: _a.cdnTypes
87
87
  }, {
88
88
  option: '--orgAssetType [orgAssetType]',
89
- autocomplete: SpoOrgAssetsLibraryAddCommand.orgAssetTypes
89
+ autocomplete: _a.orgAssetTypes
90
90
  });
91
91
  }, _SpoOrgAssetsLibraryAddCommand_initValidators = function _SpoOrgAssetsLibraryAddCommand_initValidators() {
92
92
  this.validators.push(async (args) => {
@@ -94,11 +94,11 @@ _SpoOrgAssetsLibraryAddCommand_instances = new WeakSet(), _SpoOrgAssetsLibraryAd
94
94
  if (typeof args.options.thumbnailUrl !== 'undefined' && isValidThumbnailUrl !== true) {
95
95
  return isValidThumbnailUrl;
96
96
  }
97
- if (args.options.cdnType && SpoOrgAssetsLibraryAddCommand.cdnTypes.indexOf(args.options.cdnType) < 0) {
98
- return `${args.options.cdnType} is not a valid value for cdnType. Valid values are ${SpoOrgAssetsLibraryAddCommand.cdnTypes.join(', ')}`;
97
+ if (args.options.cdnType && _a.cdnTypes.indexOf(args.options.cdnType) < 0) {
98
+ return `${args.options.cdnType} is not a valid value for cdnType. Valid values are ${_a.cdnTypes.join(', ')}`;
99
99
  }
100
- if (args.options.orgAssetType && SpoOrgAssetsLibraryAddCommand.orgAssetTypes.indexOf(args.options.orgAssetType) < 0) {
101
- return `${args.options.orgAssetType} is not a valid value for orgAssetType. Valid values are ${SpoOrgAssetsLibraryAddCommand.orgAssetTypes.join(', ')}`;
100
+ if (args.options.orgAssetType && _a.orgAssetTypes.indexOf(args.options.orgAssetType) < 0) {
101
+ return `${args.options.orgAssetType} is not a valid value for orgAssetType. Valid values are ${_a.orgAssetTypes.join(', ')}`;
102
102
  }
103
103
  return validation.isValidSharePointUrl(args.options.libraryUrl);
104
104
  });
@@ -26,7 +26,25 @@ export var CanvasSectionTemplate;
26
26
  /// Two columns, left one is 1/3, right one 2/3
27
27
  /// </summary>
28
28
  CanvasSectionTemplate[CanvasSectionTemplate["TwoColumnRight"] = 5] = "TwoColumnRight";
29
+ /// <summary>
30
+ /// Vertical
31
+ /// </summary>
32
+ CanvasSectionTemplate[CanvasSectionTemplate["Vertical"] = 6] = "Vertical";
29
33
  })(CanvasSectionTemplate || (CanvasSectionTemplate = {}));
34
+ /**
35
+ * Section background shading
36
+ * 0 - None
37
+ * 1 - Neutral
38
+ * 2 - Soft
39
+ * 3 - Strong
40
+ */
41
+ export var ZoneEmphasis;
42
+ (function (ZoneEmphasis) {
43
+ ZoneEmphasis[ZoneEmphasis["None"] = 0] = "None";
44
+ ZoneEmphasis[ZoneEmphasis["Neutral"] = 1] = "Neutral";
45
+ ZoneEmphasis[ZoneEmphasis["Soft"] = 2] = "Soft";
46
+ ZoneEmphasis[ZoneEmphasis["Strong"] = 3] = "Strong";
47
+ })(ZoneEmphasis || (ZoneEmphasis = {}));
30
48
  /**
31
49
  * Shorthand for Object.hasOwnProperty
32
50
  *
@@ -72,6 +72,7 @@ class SpoPageGetCommand extends SpoCommand {
72
72
  pageItemData.numSections = sections.length;
73
73
  }
74
74
  }
75
+ delete pageItemData.ListItemAllFields.ID;
75
76
  await logger.log(pageItemData);
76
77
  }
77
78
  catch (err) {
@@ -34,9 +34,9 @@ class SpoPageListCommand extends SpoCommand {
34
34
  if (pagesList && pagesList.length > 0) {
35
35
  pages = pagesList;
36
36
  }
37
- const res = await odata.getAllItems(`${args.options.webUrl}/_api/web/lists/SitePages/rootfolder/files?$expand=ListItemAllFields/ClientSideApplicationId&$orderby=Name`);
38
- if (res && res.length > 0) {
39
- const clientSidePages = res.filter(p => p.ListItemAllFields.ClientSideApplicationId === 'b6917cb1-93a0-4b97-a84d-7cf49975d4ec');
37
+ const files = await odata.getAllItems(`${args.options.webUrl}/_api/web/lists/SitePages/rootfolder/files?$expand=ListItemAllFields/ClientSideApplicationId&$orderby=Name`);
38
+ if (files?.length > 0) {
39
+ const clientSidePages = files.filter(f => f.ListItemAllFields.ClientSideApplicationId === 'b6917cb1-93a0-4b97-a84d-7cf49975d4ec');
40
40
  pages = pages.map(p => {
41
41
  const clientSidePage = clientSidePages.find(cp => cp && cp.ListItemAllFields && cp.ListItemAllFields.Id === p.Id);
42
42
  if (clientSidePage) {
@@ -47,6 +47,7 @@ class SpoPageListCommand extends SpoCommand {
47
47
  }
48
48
  return p;
49
49
  });
50
+ pages.filter(p => p.ListItemAllFields).forEach(page => delete page.ListItemAllFields.ID);
50
51
  await logger.log(pages);
51
52
  }
52
53
  }
@@ -3,13 +3,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpoPageSectionAddCommand_instances, _SpoPageSectionAddCommand_initTelemetry, _SpoPageSectionAddCommand_initOptions, _SpoPageSectionAddCommand_initValidators;
6
+ var _SpoPageSectionAddCommand_instances, _a, _SpoPageSectionAddCommand_initTelemetry, _SpoPageSectionAddCommand_initOptions, _SpoPageSectionAddCommand_initValidators;
7
7
  import request from '../../../../request.js';
8
8
  import { formatting } from '../../../../utils/formatting.js';
9
9
  import { validation } from '../../../../utils/validation.js';
10
10
  import SpoCommand from '../../../base/SpoCommand.js';
11
11
  import commands from '../../commands.js';
12
- import { CanvasSectionTemplate } from './clientsidepages.js';
12
+ import { CanvasSectionTemplate, ZoneEmphasis } from './clientsidepages.js';
13
13
  class SpoPageSectionAddCommand extends SpoCommand {
14
14
  get name() {
15
15
  return commands.PAGE_SECTION_ADD;
@@ -67,7 +67,7 @@ class SpoPageSectionAddCommand extends SpoCommand {
67
67
  // zoneIndex for the new section to add
68
68
  const zoneIndex = this.getSectionIndex(zoneIndices, args.options.order);
69
69
  // get the list of columns to insert based on the selected template
70
- const columnsToAdd = this.getColumns(zoneIndex, args.options.sectionTemplate);
70
+ const columnsToAdd = this.getColumns(zoneIndex, args.options.sectionTemplate, args.options.zoneEmphasis, args.options.isLayoutReflowOnTop);
71
71
  // insert the column in the right place in the array so that
72
72
  // it stays sorted ascending by zoneIndex
73
73
  let pos = canvasContent.findIndex(c => typeof c.controlType === 'undefined' && c.position.zoneIndex > zoneIndex);
@@ -107,39 +107,42 @@ class SpoPageSectionAddCommand extends SpoCommand {
107
107
  }
108
108
  return zoneIndices[order - 2] + ((zoneIndices[order - 1] - zoneIndices[order - 2]) / 2);
109
109
  }
110
- getColumns(zoneIndex, sectionTemplate) {
110
+ getColumns(zoneIndex, sectionTemplate, zoneEmphasis, isLayoutReflowOnTop) {
111
111
  const columns = [];
112
112
  let sectionIndex = 1;
113
113
  switch (sectionTemplate) {
114
114
  case 'OneColumnFullWidth':
115
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 0));
115
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 0, zoneEmphasis));
116
116
  break;
117
117
  case 'TwoColumn':
118
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 6));
119
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 6));
118
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 6, zoneEmphasis));
119
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 6, zoneEmphasis));
120
120
  break;
121
121
  case 'ThreeColumn':
122
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 4));
123
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 4));
124
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 4));
122
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, zoneEmphasis));
123
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, zoneEmphasis));
124
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, zoneEmphasis));
125
125
  break;
126
126
  case 'TwoColumnLeft':
127
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 8));
128
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 4));
127
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 8, zoneEmphasis));
128
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, zoneEmphasis));
129
129
  break;
130
130
  case 'TwoColumnRight':
131
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 4));
132
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 8));
131
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 4, zoneEmphasis));
132
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 8, zoneEmphasis));
133
+ break;
134
+ case 'Vertical':
135
+ columns.push(this.getVerticalColumn(zoneEmphasis, isLayoutReflowOnTop));
133
136
  break;
134
137
  case 'OneColumn':
135
138
  default:
136
- columns.push(this.getColumn(zoneIndex, sectionIndex++, 12));
139
+ columns.push(this.getColumn(zoneIndex, sectionIndex++, 12, zoneEmphasis));
137
140
  break;
138
141
  }
139
142
  return columns;
140
143
  }
141
- getColumn(zoneIndex, sectionIndex, sectionFactor) {
142
- return {
144
+ getColumn(zoneIndex, sectionIndex, sectionFactor, zoneEmphasis) {
145
+ const columnValue = {
143
146
  displayMode: 2,
144
147
  position: {
145
148
  zoneIndex: zoneIndex,
@@ -149,12 +152,26 @@ class SpoPageSectionAddCommand extends SpoCommand {
149
152
  },
150
153
  emphasis: {}
151
154
  };
155
+ if (zoneEmphasis) {
156
+ const zoneEmphasisValue = ZoneEmphasis[zoneEmphasis];
157
+ columnValue.emphasis = { zoneEmphasis: zoneEmphasisValue };
158
+ }
159
+ return columnValue;
160
+ }
161
+ getVerticalColumn(zoneEmphasis, isLayoutReflowOnTop) {
162
+ const columnValue = this.getColumn(1, 1, 12, zoneEmphasis);
163
+ columnValue.position.isLayoutReflowOnTop = isLayoutReflowOnTop !== undefined ? true : false;
164
+ columnValue.position.layoutIndex = 2;
165
+ columnValue.position.controlIndex = 1;
166
+ return columnValue;
152
167
  }
153
168
  }
154
- _SpoPageSectionAddCommand_instances = new WeakSet(), _SpoPageSectionAddCommand_initTelemetry = function _SpoPageSectionAddCommand_initTelemetry() {
169
+ _a = SpoPageSectionAddCommand, _SpoPageSectionAddCommand_instances = new WeakSet(), _SpoPageSectionAddCommand_initTelemetry = function _SpoPageSectionAddCommand_initTelemetry() {
155
170
  this.telemetry.push((args) => {
156
171
  Object.assign(this.telemetryProperties, {
157
- order: typeof args.options.order !== 'undefined'
172
+ order: typeof args.options.order !== 'undefined',
173
+ zoneEmphasis: typeof args.options.zoneEmphasis !== 'undefined',
174
+ isLayoutReflowOnTop: !!args.options.isLayoutReflowOnTop
158
175
  });
159
176
  });
160
177
  }, _SpoPageSectionAddCommand_initOptions = function _SpoPageSectionAddCommand_initOptions() {
@@ -163,22 +180,40 @@ _SpoPageSectionAddCommand_instances = new WeakSet(), _SpoPageSectionAddCommand_i
163
180
  }, {
164
181
  option: '-u, --webUrl <webUrl>'
165
182
  }, {
166
- option: '-t, --sectionTemplate <sectionTemplate>'
183
+ option: '-t, --sectionTemplate <sectionTemplate>',
184
+ autocomplete: _a.SectionTemplate
167
185
  }, {
168
186
  option: '--order [order]'
187
+ }, {
188
+ option: '--zoneEmphasis [zoneEmphasis]',
189
+ autocomplete: _a.ZoneEmphasis
190
+ }, {
191
+ option: '--isLayoutReflowOnTop'
169
192
  });
170
193
  }, _SpoPageSectionAddCommand_initValidators = function _SpoPageSectionAddCommand_initValidators() {
171
194
  this.validators.push(async (args) => {
172
195
  if (!(args.options.sectionTemplate in CanvasSectionTemplate)) {
173
- return `${args.options.sectionTemplate} is not a valid section template. Allowed values are OneColumn|OneColumnFullWidth|TwoColumn|ThreeColumn|TwoColumnLeft|TwoColumnRight`;
196
+ return `${args.options.sectionTemplate} is not a valid section template. Allowed values are OneColumn|OneColumnFullWidth|TwoColumn|ThreeColumn|TwoColumnLeft|TwoColumnRight|Vertical`;
174
197
  }
175
198
  if (typeof args.options.order !== 'undefined') {
176
199
  if (!Number.isInteger(args.options.order) || args.options.order < 1) {
177
200
  return 'The value of parameter order must be 1 or higher';
178
201
  }
179
202
  }
203
+ if (typeof args.options.zoneEmphasis !== 'undefined') {
204
+ if (!(args.options.zoneEmphasis in ZoneEmphasis)) {
205
+ return 'The value of parameter zoneEmphasis must be None|Neutral|Soft|Strong';
206
+ }
207
+ }
208
+ if (typeof args.options.isLayoutReflowOnTop !== 'undefined') {
209
+ if (args.options.sectionTemplate !== 'Vertical') {
210
+ return 'Specify isLayoutReflowOnTop when the sectionTemplate is set to Vertical.';
211
+ }
212
+ }
180
213
  return validation.isValidSharePointUrl(args.options.webUrl);
181
214
  });
182
215
  };
216
+ SpoPageSectionAddCommand.SectionTemplate = ['OneColumn', 'OneColumnFullWidth', 'TwoColumn', 'ThreeColumn', 'TwoColumnLeft', 'TwoColumnRight', 'Vertical'];
217
+ SpoPageSectionAddCommand.ZoneEmphasis = ['None', 'Neutral', 'Soft', 'Strong'];
183
218
  export default new SpoPageSectionAddCommand();
184
219
  //# sourceMappingURL=page-section-add.js.map
@@ -28,38 +28,8 @@ class SpoServicePrincipalSetCommand extends SpoCommand {
28
28
  return [commands.SP_SET];
29
29
  }
30
30
  async commandAction(logger, args) {
31
- const toggleServicePrincipal = async () => {
32
- try {
33
- const spoAdminUrl = await spo.getSpoAdminUrl(logger, this.debug);
34
- const reqDigest = await spo.getRequestDigest(spoAdminUrl);
35
- if (this.verbose) {
36
- await logger.logToStderr(`${(args.options.enabled ? 'Enabling' : 'Disabling')} service principal...`);
37
- }
38
- const requestOptions = {
39
- url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
40
- headers: {
41
- 'X-RequestDigest': reqDigest.FormDigestValue
42
- },
43
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="28" ObjectPathId="27" /><SetProperty Id="29" ObjectPathId="27" Name="AccountEnabled"><Parameter Type="Boolean">${args.options.enabled}</Parameter></SetProperty><Method Name="Update" Id="30" ObjectPathId="27" /><Query Id="31" ObjectPathId="27"><Query SelectAllProperties="true"><Properties><Property Name="AccountEnabled" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Constructor Id="27" TypeId="{104e8f06-1e00-4675-99c6-1b9b504ed8d8}" /></ObjectPaths></Request>`
44
- };
45
- const res = await request.post(requestOptions);
46
- const json = JSON.parse(res);
47
- const response = json[0];
48
- if (response.ErrorInfo) {
49
- throw response.ErrorInfo.ErrorMessage;
50
- }
51
- else {
52
- const output = json[json.length - 1];
53
- delete output._ObjectType_;
54
- await logger.log(output);
55
- }
56
- }
57
- catch (err) {
58
- this.handleRejectedPromise(err);
59
- }
60
- };
61
31
  if (args.options.force) {
62
- await toggleServicePrincipal();
32
+ await this.toggleServicePrincipal(logger, args);
63
33
  }
64
34
  else {
65
35
  const result = await Cli.prompt({
@@ -69,10 +39,38 @@ class SpoServicePrincipalSetCommand extends SpoCommand {
69
39
  message: `Are you sure you want to ${args.options.enabled ? 'enable' : 'disable'} the service principal?`
70
40
  });
71
41
  if (result.continue) {
72
- await toggleServicePrincipal();
42
+ await this.toggleServicePrincipal(logger, args);
73
43
  }
74
44
  }
75
45
  }
46
+ async toggleServicePrincipal(logger, args) {
47
+ try {
48
+ const spoAdminUrl = await spo.getSpoAdminUrl(logger, this.debug);
49
+ const reqDigest = await spo.getRequestDigest(spoAdminUrl);
50
+ if (this.verbose) {
51
+ await logger.logToStderr(`${(args.options.enabled ? 'Enabling' : 'Disabling')} service principal...`);
52
+ }
53
+ const requestOptions = {
54
+ url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
55
+ headers: {
56
+ 'X-RequestDigest': reqDigest.FormDigestValue
57
+ },
58
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="28" ObjectPathId="27" /><SetProperty Id="29" ObjectPathId="27" Name="AccountEnabled"><Parameter Type="Boolean">${args.options.enabled}</Parameter></SetProperty><Method Name="Update" Id="30" ObjectPathId="27" /><Query Id="31" ObjectPathId="27"><Query SelectAllProperties="true"><Properties><Property Name="AccountEnabled" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Constructor Id="27" TypeId="{104e8f06-1e00-4675-99c6-1b9b504ed8d8}" /></ObjectPaths></Request>`
59
+ };
60
+ const response = await request.post(requestOptions);
61
+ const json = JSON.parse(response);
62
+ const responseContent = json[0];
63
+ if (responseContent.ErrorInfo) {
64
+ throw responseContent.ErrorInfo.ErrorMessage;
65
+ }
66
+ const output = json[json.length - 1];
67
+ delete output._ObjectType_;
68
+ await logger.log(output);
69
+ }
70
+ catch (err) {
71
+ this.handleRejectedPromise(err);
72
+ }
73
+ }
76
74
  }
77
75
  _SpoServicePrincipalSetCommand_instances = new WeakSet(), _SpoServicePrincipalSetCommand_initTelemetry = function _SpoServicePrincipalSetCommand_initTelemetry() {
78
76
  this.telemetry.push((args) => {