@pnp/cli-microsoft365 7.0.0-beta.68abdfc → 7.0.0-beta.7e7b4f8

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 (114) hide show
  1. package/dist/Command.js +1 -1
  2. package/dist/cli/Cli.js +23 -8
  3. package/dist/m365/aad/commands/user/user-get.js +7 -1
  4. package/dist/m365/booking/commands/business/business-get.js +14 -15
  5. package/dist/m365/cli/commands/config/config-set.js +1 -1
  6. package/dist/m365/pa/commands/app/app-owner-set.js +115 -0
  7. package/dist/m365/pa/commands/app/app-permission-list.js +104 -0
  8. package/dist/m365/pa/commands.js +2 -0
  9. package/dist/m365/planner/commands/bucket/bucket-add.js +14 -10
  10. package/dist/m365/planner/commands/bucket/bucket-get.js +25 -19
  11. package/dist/m365/planner/commands/bucket/bucket-list.js +14 -10
  12. package/dist/m365/planner/commands/bucket/bucket-remove.js +26 -20
  13. package/dist/m365/planner/commands/bucket/bucket-set.js +26 -28
  14. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +19 -17
  15. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +19 -17
  16. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +35 -34
  17. package/dist/m365/spfx/commands/project/project-externalize/rules/DynamicRule.js +59 -51
  18. package/dist/m365/spo/commands/file/file-list.js +3 -14
  19. package/dist/m365/spo/commands/folder/folder-remove.js +30 -28
  20. package/dist/m365/spo/commands/list/list-retentionlabel-ensure.js +0 -4
  21. package/dist/m365/spo/commands/list/list-retentionlabel-get.js +0 -4
  22. package/dist/m365/spo/commands/list/list-roleassignment-add.js +9 -47
  23. package/dist/m365/spo/commands/page/page-remove.js +33 -31
  24. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +25 -23
  25. package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -3
  26. package/dist/m365/spo/commands/site/site-commsite-enable.js +9 -18
  27. package/dist/m365/spo/commands/site/site-set.js +10 -2
  28. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +13 -16
  29. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +80 -2
  30. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +48 -48
  31. package/dist/m365/spo/commands/theme/theme-get.js +1 -2
  32. package/dist/m365/spo/commands.js +0 -2
  33. package/dist/m365/teams/commands/chat/chat-get.js +4 -4
  34. package/dist/m365/teams/commands/chat/chat-member-add.js +117 -0
  35. package/dist/m365/teams/commands/chat/chat-message-send.js +4 -4
  36. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  37. package/dist/m365/teams/commands.js +1 -0
  38. package/dist/utils/spo.js +74 -0
  39. package/docs/docs/_clisettings.mdx +1 -1
  40. package/docs/docs/cmd/_global.mdx +1 -1
  41. package/docs/docs/cmd/aad/user/user-get.mdx +118 -25
  42. package/docs/docs/cmd/pa/app/app-owner-set.mdx +60 -0
  43. package/docs/docs/cmd/pa/app/app-permission-list.mdx +132 -0
  44. package/docs/docs/cmd/planner/bucket/bucket-add.mdx +21 -4
  45. package/docs/docs/cmd/planner/bucket/bucket-get.mdx +22 -5
  46. package/docs/docs/cmd/planner/bucket/bucket-list.mdx +21 -4
  47. package/docs/docs/cmd/planner/bucket/bucket-remove.mdx +21 -4
  48. package/docs/docs/cmd/planner/bucket/bucket-set.mdx +22 -5
  49. package/docs/docs/cmd/spo/file/file-list.mdx +6 -10
  50. package/docs/docs/cmd/spo/list/list-retentionlabel-ensure.mdx +0 -6
  51. package/docs/docs/cmd/spo/list/list-retentionlabel-get.mdx +0 -6
  52. package/docs/docs/cmd/spo/site/site-add.mdx +35 -0
  53. package/docs/docs/cmd/spo/site/site-appcatalog-add.mdx +5 -1
  54. package/docs/docs/cmd/spo/site/site-appcatalog-list.mdx +14 -0
  55. package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +4 -0
  56. package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +68 -0
  57. package/docs/docs/cmd/spo/site/site-apppermission-get.mdx +55 -0
  58. package/docs/docs/cmd/spo/site/site-apppermission-list.mdx +55 -0
  59. package/docs/docs/cmd/spo/site/site-apppermission-remove.mdx +4 -0
  60. package/docs/docs/cmd/spo/site/site-apppermission-set.mdx +66 -0
  61. package/docs/docs/cmd/spo/site/site-chrome-set.mdx +4 -0
  62. package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +11 -1
  63. package/docs/docs/cmd/spo/site/site-ensure.mdx +70 -0
  64. package/docs/docs/cmd/spo/site/site-get.mdx +179 -0
  65. package/docs/docs/cmd/spo/site/site-groupify.mdx +54 -0
  66. package/docs/docs/cmd/spo/site/site-hubsite-connect.mdx +4 -0
  67. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.mdx +4 -0
  68. package/docs/docs/cmd/spo/site/site-hubsite-theme-sync.mdx +5 -1
  69. package/docs/docs/cmd/spo/site/site-inplacerecordsmanagement-set.mdx +4 -0
  70. package/docs/docs/cmd/spo/site/site-list.mdx +303 -0
  71. package/docs/docs/cmd/spo/site/site-recyclebinitem-list.mdx +80 -0
  72. package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.mdx +4 -0
  73. package/docs/docs/cmd/spo/site/site-remove.mdx +4 -0
  74. package/docs/docs/cmd/spo/site/site-rename.mdx +92 -0
  75. package/docs/docs/cmd/spo/site/site-set.mdx +13 -0
  76. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.mdx +116 -0
  77. package/docs/docs/cmd/spo/sitedesign/sitedesign-apply.mdx +125 -0
  78. package/docs/docs/cmd/spo/sitedesign/sitedesign-get.mdx +117 -0
  79. package/docs/docs/cmd/spo/sitedesign/sitedesign-list.mdx +94 -0
  80. package/docs/docs/cmd/spo/sitedesign/sitedesign-remove.mdx +4 -0
  81. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.mdx +4 -0
  82. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.mdx +54 -0
  83. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.mdx +4 -0
  84. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-list.mdx +66 -0
  85. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-status-get.mdx +65 -0
  86. package/docs/docs/cmd/spo/sitedesign/sitedesign-set.mdx +117 -0
  87. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.mdx +61 -0
  88. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-list.mdx +60 -0
  89. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.mdx +4 -0
  90. package/docs/docs/cmd/spo/sitescript/sitescript-add.mdx +75 -0
  91. package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +62 -0
  92. package/docs/docs/cmd/spo/sitescript/sitescript-list.mdx +60 -0
  93. package/docs/docs/cmd/spo/sitescript/sitescript-remove.mdx +4 -0
  94. package/docs/docs/cmd/spo/sitescript/sitescript-set.mdx +63 -0
  95. package/docs/docs/cmd/spo/storageentity/storageentity-get.mdx +53 -0
  96. package/docs/docs/cmd/spo/storageentity/storageentity-list.mdx +54 -0
  97. package/docs/docs/cmd/spo/storageentity/storageentity-remove.mdx +4 -0
  98. package/docs/docs/cmd/spo/storageentity/storageentity-set.mdx +4 -0
  99. package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.mdx +4 -0
  100. package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.mdx +35 -0
  101. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +12 -3
  102. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.mdx +67 -0
  103. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.mdx +4 -0
  104. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.mdx +50 -0
  105. package/docs/docs/cmd/spo/tenant/tenant-settings-list.mdx +729 -0
  106. package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +5 -0
  107. package/docs/docs/cmd/spo/theme/theme-apply.mdx +35 -0
  108. package/docs/docs/cmd/spo/theme/theme-get.mdx +74 -0
  109. package/docs/docs/cmd/spo/theme/theme-list.mdx +52 -0
  110. package/docs/docs/cmd/spo/theme/theme-remove.mdx +4 -0
  111. package/docs/docs/cmd/spo/theme/theme-set.mdx +4 -0
  112. package/docs/docs/cmd/teams/chat/chat-member-add.mdx +66 -0
  113. package/npm-shrinkwrap.json +212 -212
  114. package/package.json +10 -10
@@ -38,34 +38,8 @@ class SpoFolderRemoveCommand extends SpoCommand_1.default {
38
38
  }
39
39
  commandAction(logger, args) {
40
40
  return __awaiter(this, void 0, void 0, function* () {
41
- const removeFolder = () => __awaiter(this, void 0, void 0, function* () {
42
- if (this.verbose) {
43
- logger.logToStderr(`Removing folder in site at ${args.options.webUrl}...`);
44
- }
45
- const serverRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
46
- let requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(serverRelativeUrl)}')`;
47
- if (args.options.recycle) {
48
- requestUrl += `/recycle()`;
49
- }
50
- const requestOptions = {
51
- url: requestUrl,
52
- method: 'POST',
53
- headers: {
54
- 'X-HTTP-Method': 'DELETE',
55
- 'If-Match': '*',
56
- 'accept': 'application/json;odata=nometadata'
57
- },
58
- responseType: 'json'
59
- };
60
- try {
61
- yield request_1.default.post(requestOptions);
62
- }
63
- catch (err) {
64
- this.handleRejectedODataJsonPromise(err);
65
- }
66
- });
67
41
  if (args.options.force) {
68
- yield removeFolder();
42
+ yield this.removeFolder(logger, args.options);
69
43
  }
70
44
  else {
71
45
  const result = yield Cli_1.Cli.prompt({
@@ -75,11 +49,39 @@ class SpoFolderRemoveCommand extends SpoCommand_1.default {
75
49
  message: `Are you sure you want to ${args.options.recycle ? "recycle" : "remove"} the folder ${args.options.url} located in site ${args.options.webUrl}?`
76
50
  });
77
51
  if (result.continue) {
78
- yield removeFolder();
52
+ yield this.removeFolder(logger, args.options);
79
53
  }
80
54
  }
81
55
  });
82
56
  }
57
+ removeFolder(logger, options) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ if (this.verbose) {
60
+ logger.logToStderr(`Removing folder in site at ${options.webUrl}...`);
61
+ }
62
+ const serverRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(options.webUrl, options.url);
63
+ let requestUrl = `${options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(serverRelativeUrl)}')`;
64
+ if (options.recycle) {
65
+ requestUrl += `/recycle()`;
66
+ }
67
+ const requestOptions = {
68
+ url: requestUrl,
69
+ method: 'POST',
70
+ headers: {
71
+ 'X-HTTP-Method': 'DELETE',
72
+ 'If-Match': '*',
73
+ 'accept': 'application/json;odata=nometadata'
74
+ },
75
+ responseType: 'json'
76
+ };
77
+ try {
78
+ yield request_1.default.post(requestOptions);
79
+ }
80
+ catch (err) {
81
+ this.handleRejectedODataJsonPromise(err);
82
+ }
83
+ });
84
+ }
83
85
  }
84
86
  _SpoFolderRemoveCommand_instances = new WeakSet(), _SpoFolderRemoveCommand_initTelemetry = function _SpoFolderRemoveCommand_initTelemetry() {
85
87
  this.telemetry.push((args) => {
@@ -25,9 +25,6 @@ class SpoListRetentionLabelEnsureCommand extends SpoCommand_1.default {
25
25
  get name() {
26
26
  return commands_1.default.LIST_RETENTIONLABEL_ENSURE;
27
27
  }
28
- alias() {
29
- return [commands_1.default.LIST_LABEL_SET];
30
- }
31
28
  get description() {
32
29
  return 'Sets a default retention label on the specified list or library.';
33
30
  }
@@ -41,7 +38,6 @@ class SpoListRetentionLabelEnsureCommand extends SpoCommand_1.default {
41
38
  }
42
39
  commandAction(logger, args) {
43
40
  return __awaiter(this, void 0, void 0, function* () {
44
- this.showDeprecationWarning(logger, commands_1.default.LIST_LABEL_SET, commands_1.default.LIST_RETENTIONLABEL_ENSURE);
45
41
  if (args.options.label) {
46
42
  args.options.name = args.options.label;
47
43
  this.warn(logger, `Option 'label' is deprecated. Please use 'name' instead`);
@@ -25,9 +25,6 @@ class SpoListRetentionLabelGetCommand extends SpoCommand_1.default {
25
25
  get name() {
26
26
  return commands_1.default.LIST_RETENTIONLABEL_GET;
27
27
  }
28
- alias() {
29
- return [commands_1.default.LIST_LABEL_GET];
30
- }
31
28
  get description() {
32
29
  return 'Gets the default retention label set on the specified list or library.';
33
30
  }
@@ -41,7 +38,6 @@ class SpoListRetentionLabelGetCommand extends SpoCommand_1.default {
41
38
  }
42
39
  commandAction(logger, args) {
43
40
  return __awaiter(this, void 0, void 0, function* () {
44
- this.showDeprecationWarning(logger, commands_1.default.LIST_LABEL_GET, commands_1.default.LIST_RETENTIONLABEL_GET);
45
41
  try {
46
42
  if (this.verbose) {
47
43
  logger.logToStderr(`Getting label set on the list ${args.options.listId || args.options.listTitle || args.options.listUrl} in site at ${args.options.webUrl}...`);
@@ -15,16 +15,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoListRoleAssignmentAddCommand_instances, _SpoListRoleAssignmentAddCommand_initTelemetry, _SpoListRoleAssignmentAddCommand_initOptions, _SpoListRoleAssignmentAddCommand_initValidators, _SpoListRoleAssignmentAddCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const Cli_1 = require("../../../../cli/Cli");
19
18
  const request_1 = require("../../../../request");
20
19
  const formatting_1 = require("../../../../utils/formatting");
21
20
  const urlUtil_1 = require("../../../../utils/urlUtil");
22
21
  const validation_1 = require("../../../../utils/validation");
23
22
  const SpoCommand_1 = require("../../../base/SpoCommand");
24
23
  const commands_1 = require("../../commands");
25
- const SpoUserGetCommand = require("../user/user-get");
26
- const SpoGroupGetCommand = require("../group/group-get");
27
- const SpoRoleDefinitionListCommand = require("../roledefinition/roledefinition-list");
24
+ const spo_1 = require("../../../../utils/spo");
28
25
  class SpoListRoleAssignmentAddCommand extends SpoCommand_1.default {
29
26
  get name() {
30
27
  return commands_1.default.LIST_ROLEASSIGNMENT_ADD;
@@ -57,13 +54,15 @@ class SpoListRoleAssignmentAddCommand extends SpoCommand_1.default {
57
54
  const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
58
55
  requestUrl += `GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/`;
59
56
  }
60
- args.options.roleDefinitionId = yield this.getRoleDefinitionId(args.options);
57
+ args.options.roleDefinitionId = yield this.getRoleDefinitionId(args.options, logger);
61
58
  if (args.options.upn) {
62
- args.options.principalId = yield this.getUserPrincipalId(args.options);
59
+ const user = yield spo_1.spo.getUserByEmail(args.options.webUrl, args.options.upn, logger, this.verbose);
60
+ args.options.principalId = user.Id;
63
61
  yield this.addRoleAssignment(requestUrl, logger, args.options);
64
62
  }
65
63
  else if (args.options.groupName) {
66
- args.options.principalId = yield this.getGroupPrincipalId(args.options);
64
+ const group = yield spo_1.spo.getGroupByName(args.options.webUrl, args.options.groupName, logger, this.verbose);
65
+ args.options.principalId = group.Id;
67
66
  yield this.addRoleAssignment(requestUrl, logger, args.options);
68
67
  }
69
68
  else {
@@ -89,50 +88,13 @@ class SpoListRoleAssignmentAddCommand extends SpoCommand_1.default {
89
88
  return request_1.default.post(requestOptions);
90
89
  });
91
90
  }
92
- getRoleDefinitionId(options) {
91
+ getRoleDefinitionId(options, logger) {
93
92
  return __awaiter(this, void 0, void 0, function* () {
94
93
  if (!options.roleDefinitionName) {
95
94
  return options.roleDefinitionId;
96
95
  }
97
- const roleDefinitionListCommandOptions = {
98
- webUrl: options.webUrl,
99
- output: 'json',
100
- debug: this.debug,
101
- verbose: this.verbose
102
- };
103
- const output = yield Cli_1.Cli.executeCommandWithOutput(SpoRoleDefinitionListCommand, { options: Object.assign(Object.assign({}, roleDefinitionListCommandOptions), { _: [] }) });
104
- const getRoleDefinitionListOutput = JSON.parse(output.stdout);
105
- const roleDefinitionId = getRoleDefinitionListOutput.find((role) => role.Name === options.roleDefinitionName).Id;
106
- return roleDefinitionId;
107
- });
108
- }
109
- getGroupPrincipalId(options) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- const groupGetCommandOptions = {
112
- webUrl: options.webUrl,
113
- name: options.groupName,
114
- output: 'json',
115
- debug: this.debug,
116
- verbose: this.verbose
117
- };
118
- const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
119
- const getGroupOutput = JSON.parse(output.stdout);
120
- return getGroupOutput.Id;
121
- });
122
- }
123
- getUserPrincipalId(options) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- const userGetCommandOptions = {
126
- webUrl: options.webUrl,
127
- email: options.upn,
128
- id: undefined,
129
- output: 'json',
130
- debug: this.debug,
131
- verbose: this.verbose
132
- };
133
- const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
134
- const getUserOutput = JSON.parse(output.stdout);
135
- return getUserOutput.Id;
96
+ const roleDefinition = yield spo_1.spo.getRoleDefinitionByName(options.webUrl, options.roleDefinitionName, logger, this.verbose);
97
+ return roleDefinition.Id;
136
98
  });
137
99
  }
138
100
  }
@@ -37,37 +37,8 @@ class SpoPageRemoveCommand extends SpoCommand_1.default {
37
37
  }
38
38
  commandAction(logger, args) {
39
39
  return __awaiter(this, void 0, void 0, function* () {
40
- let requestDigest = '';
41
- let pageName = args.options.name;
42
- const removePage = () => __awaiter(this, void 0, void 0, function* () {
43
- try {
44
- const reqDigest = yield spo_1.spo.getRequestDigest(args.options.webUrl);
45
- requestDigest = reqDigest.FormDigestValue;
46
- if (!pageName.endsWith('.aspx')) {
47
- pageName += '.aspx';
48
- }
49
- if (this.verbose) {
50
- logger.logToStderr(`Removing page ${pageName}...`);
51
- }
52
- const requestOptions = {
53
- url: `${args.options
54
- .webUrl}/_api/web/getfilebyserverrelativeurl('${urlUtil_1.urlUtil.getServerRelativeSiteUrl(args.options.webUrl)}/sitepages/${pageName}')`,
55
- headers: {
56
- 'X-RequestDigest': requestDigest,
57
- 'X-HTTP-Method': 'DELETE',
58
- 'content-type': 'application/json;odata=nometadata',
59
- accept: 'application/json;odata=nometadata'
60
- },
61
- responseType: 'json'
62
- };
63
- yield request_1.default.post(requestOptions);
64
- }
65
- catch (err) {
66
- this.handleRejectedODataJsonPromise(err);
67
- }
68
- });
69
40
  if (args.options.force) {
70
- yield removePage();
41
+ yield this.removePage(logger, args);
71
42
  }
72
43
  else {
73
44
  const result = yield Cli_1.Cli.prompt({
@@ -77,11 +48,42 @@ class SpoPageRemoveCommand extends SpoCommand_1.default {
77
48
  message: `Are you sure you want to remove the page '${args.options.name}'?`
78
49
  });
79
50
  if (result.continue) {
80
- yield removePage();
51
+ yield this.removePage(logger, args);
81
52
  }
82
53
  }
83
54
  });
84
55
  }
56
+ removePage(logger, args) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ try {
59
+ let requestDigest = '';
60
+ let pageName = args.options.name;
61
+ const reqDigest = yield spo_1.spo.getRequestDigest(args.options.webUrl);
62
+ requestDigest = reqDigest.FormDigestValue;
63
+ if (!pageName.endsWith('.aspx')) {
64
+ pageName += '.aspx';
65
+ }
66
+ if (this.verbose) {
67
+ logger.logToStderr(`Removing page ${pageName}...`);
68
+ }
69
+ const requestOptions = {
70
+ url: `${args.options
71
+ .webUrl}/_api/web/getfilebyserverrelativeurl('${urlUtil_1.urlUtil.getServerRelativeSiteUrl(args.options.webUrl)}/sitepages/${pageName}')`,
72
+ headers: {
73
+ 'X-RequestDigest': requestDigest,
74
+ 'X-HTTP-Method': 'DELETE',
75
+ 'content-type': 'application/json;odata=nometadata',
76
+ accept: 'application/json;odata=nometadata'
77
+ },
78
+ responseType: 'json'
79
+ };
80
+ yield request_1.default.post(requestOptions);
81
+ }
82
+ catch (err) {
83
+ this.handleRejectedODataJsonPromise(err);
84
+ }
85
+ });
86
+ }
85
87
  }
86
88
  _SpoPageRemoveCommand_instances = new WeakSet(), _SpoPageRemoveCommand_initOptions = function _SpoPageRemoveCommand_initOptions() {
87
89
  this.options.unshift({
@@ -36,29 +36,8 @@ class SpoRoleDefinitionRemoveCommand extends SpoCommand_1.default {
36
36
  }
37
37
  commandAction(logger, args) {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
- const removeRoleDefinition = () => __awaiter(this, void 0, void 0, function* () {
40
- if (this.verbose) {
41
- logger.logToStderr(`Removing role definition from site ${args.options.webUrl}...`);
42
- }
43
- const requestOptions = {
44
- url: `${args.options.webUrl}/_api/web/roledefinitions(${args.options.id})`,
45
- method: 'delete',
46
- headers: {
47
- 'X-HTTP-Method': 'DELETE',
48
- 'If-Match': '*',
49
- 'accept': 'application/json;odata=nometadata'
50
- },
51
- responseType: 'json'
52
- };
53
- try {
54
- yield request_1.default.delete(requestOptions);
55
- }
56
- catch (err) {
57
- this.handleRejectedODataJsonPromise(err);
58
- }
59
- });
60
39
  if (args.options.force) {
61
- yield removeRoleDefinition();
40
+ yield this.removeRoleDefinition(logger, args);
62
41
  }
63
42
  else {
64
43
  const result = yield Cli_1.Cli.prompt({
@@ -68,11 +47,34 @@ class SpoRoleDefinitionRemoveCommand extends SpoCommand_1.default {
68
47
  message: `Are you sure you want to remove the role definition with id ${args.options.id} from site ${args.options.webUrl}?`
69
48
  });
70
49
  if (result.continue) {
71
- yield removeRoleDefinition();
50
+ yield this.removeRoleDefinition(logger, args);
72
51
  }
73
52
  }
74
53
  });
75
54
  }
55
+ removeRoleDefinition(logger, args) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ if (this.verbose) {
58
+ logger.logToStderr(`Removing role definition from site ${args.options.webUrl}...`);
59
+ }
60
+ const requestOptions = {
61
+ url: `${args.options.webUrl}/_api/web/roledefinitions(${args.options.id})`,
62
+ method: 'delete',
63
+ headers: {
64
+ 'X-HTTP-Method': 'DELETE',
65
+ 'If-Match': '*',
66
+ 'accept': 'application/json;odata=nometadata'
67
+ },
68
+ responseType: 'json'
69
+ };
70
+ try {
71
+ yield request_1.default.delete(requestOptions);
72
+ }
73
+ catch (err) {
74
+ this.handleRejectedODataJsonPromise(err);
75
+ }
76
+ });
77
+ }
76
78
  }
77
79
  _SpoRoleDefinitionRemoveCommand_instances = new WeakSet(), _SpoRoleDefinitionRemoveCommand_initTelemetry = function _SpoRoleDefinitionRemoveCommand_initTelemetry() {
78
80
  this.telemetry.push((args) => {
@@ -47,10 +47,10 @@ class SpoSiteAppPermissionAddCommand extends GraphCommand_1.default {
47
47
  }
48
48
  let endpoint = "";
49
49
  if (args.options.appId) {
50
- endpoint = `${this.resource}/v1.0/myorganization/applications?$filter=appId eq '${formatting_1.formatting.encodeQueryParameter(args.options.appId)}'`;
50
+ endpoint = `${this.resource}/v1.0/myorganization/servicePrincipals?$select=appId,displayName&$filter=appId eq '${formatting_1.formatting.encodeQueryParameter(args.options.appId)}'`;
51
51
  }
52
52
  else {
53
- endpoint = `${this.resource}/v1.0/myorganization/applications?$filter=displayName eq '${formatting_1.formatting.encodeQueryParameter(args.options.appDisplayName)}'`;
53
+ endpoint = `${this.resource}/v1.0/myorganization/servicePrincipals?$select=appId,displayName&$filter=displayName eq '${formatting_1.formatting.encodeQueryParameter(args.options.appDisplayName)}'`;
54
54
  }
55
55
  const appRequestOptions = {
56
56
  url: endpoint,
@@ -168,7 +168,7 @@ _SpoSiteAppPermissionAddCommand_instances = new WeakSet(), _SpoSiteAppPermission
168
168
  return validation_1.validation.isValidSharePointUrl(args.options.siteUrl);
169
169
  }));
170
170
  }, _SpoSiteAppPermissionAddCommand_initOptionSets = function _SpoSiteAppPermissionAddCommand_initOptionSets() {
171
- this.optionSets.push({ options: ['appId', 'appDisplayName'] });
171
+ this.optionSets.push({ options: ['appId', 'appDisplayName'], runsWhen: (args) => !args.options.appId && !args.options.appDisplayName });
172
172
  };
173
173
  module.exports = new SpoSiteAppPermissionAddCommand();
174
174
  //# sourceMappingURL=site-apppermission-add.js.map
@@ -15,10 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoSiteCommSiteEnableCommand_instances, _SpoSiteCommSiteEnableCommand_initTelemetry, _SpoSiteCommSiteEnableCommand_initOptions, _SpoSiteCommSiteEnableCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const config_1 = require("../../../../config");
19
18
  const request_1 = require("../../../../request");
20
- const formatting_1 = require("../../../../utils/formatting");
21
- const spo_1 = require("../../../../utils/spo");
22
19
  const validation_1 = require("../../../../utils/validation");
23
20
  const SpoCommand_1 = require("../../../base/SpoCommand");
24
21
  const commands_1 = require("../../commands");
@@ -38,26 +35,20 @@ class SpoSiteCommSiteEnableCommand extends SpoCommand_1.default {
38
35
  }
39
36
  commandAction(logger, args) {
40
37
  return __awaiter(this, void 0, void 0, function* () {
41
- const designPackageId = args.options.designPackageId || '{d604dac3-50d3-405e-9ab9-d4713cda74ef}';
38
+ const designPackageId = args.options.designPackageId || '96c933ac-3698-44c7-9f4a-5fd17d71af9e';
39
+ if (this.verbose) {
40
+ logger.logToStderr(`Enabling communication site at ${args.options.url}...`);
41
+ }
42
42
  try {
43
- const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
44
- if (this.debug) {
45
- logger.logToStderr(`Retrieving request digest...`);
46
- }
47
- const ctxInfo = yield spo_1.spo.getRequestDigest(spoAdminUrl);
48
43
  const requestOptions = {
49
- url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
44
+ url: `${args.options.url}/_api/sitepages/communicationsite/enable`,
50
45
  headers: {
51
- 'X-RequestDigest': ctxInfo.FormDigestValue
46
+ 'accept': 'application/json;odata=nometadata'
52
47
  },
53
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="4" ObjectPathId="3" /><Method Name="EnableCommSite" Id="5" ObjectPathId="3"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.url)}</Parameter><Parameter Type="Guid">${formatting_1.formatting.escapeXml(designPackageId)}</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="3" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
48
+ data: { designPackageId },
49
+ responseType: 'json'
54
50
  };
55
- const res = yield request_1.default.post(requestOptions);
56
- const json = JSON.parse(res);
57
- const response = json[0];
58
- if (response.ErrorInfo) {
59
- throw response.ErrorInfo.ErrorMessage;
60
- }
51
+ yield request_1.default.post(requestOptions);
61
52
  }
62
53
  catch (err) {
63
54
  this.handleRejectedODataJsonPromise(err);
@@ -311,7 +311,7 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
311
311
  }
312
312
  updateSiteProperties(logger, args) {
313
313
  const isGroupConnectedSite = this.isGroupConnectedSite();
314
- const sharedProperties = ['classification', 'disableFlows', 'shareByEmailEnabled', 'sharingCapability', 'noScriptSite'];
314
+ const sharedProperties = ['classification', 'disableFlows', 'socialBarOnSitePagesDisabled', 'shareByEmailEnabled', 'sharingCapability', 'noScriptSite'];
315
315
  const siteProperties = ['title', 'resourceQuota', 'resourceQuotaWarningLevel', 'storageQuota', 'storageQuotaWarningLevel', 'allowSelfServiceUpgrade'];
316
316
  let properties = sharedProperties;
317
317
  properties = properties;
@@ -363,6 +363,9 @@ class SpoSiteSetCommand extends SpoCommand_1.default {
363
363
  if (typeof args.options.disableFlows !== 'undefined') {
364
364
  payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="DisableFlows"><Parameter Type="Boolean">${args.options.disableFlows}</Parameter></SetProperty>`);
365
365
  }
366
+ if (typeof args.options.socialBarOnSitePagesDisabled !== 'undefined') {
367
+ payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="SocialBarOnSitePagesDisabled"><Parameter Type="Boolean">${args.options.socialBarOnSitePagesDisabled}</Parameter></SetProperty>`);
368
+ }
366
369
  if (typeof args.options.shareByEmailEnabled !== 'undefined') {
367
370
  payload.push(`<SetProperty Id="${propertyId++}" ObjectPathId="5" Name="ShareByEmailEnabled"><Parameter Type="Boolean">${args.options.shareByEmailEnabled}</Parameter></SetProperty>`);
368
371
  }
@@ -442,6 +445,7 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
442
445
  Object.assign(this.telemetryProperties, {
443
446
  classification: typeof args.options.classification === 'string',
444
447
  disableFlows: args.options.disableFlows,
448
+ socialBarOnSitePagesDisabled: args.options.socialBarOnSitePagesDisabled,
445
449
  isPublic: args.options.isPublic,
446
450
  owners: typeof args.options.owners !== 'undefined',
447
451
  shareByEmailEnabled: args.options.shareByEmailEnabled,
@@ -470,6 +474,9 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
470
474
  }, {
471
475
  option: '--disableFlows [disableFlows]',
472
476
  autocomplete: ['true', 'false']
477
+ }, {
478
+ option: '--socialBarOnSitePagesDisabled [socialBarOnSitePagesDisabled]',
479
+ autocomplete: ['true', 'false']
473
480
  }, {
474
481
  option: '--isPublic [isPublic]',
475
482
  autocomplete: ['true', 'false']
@@ -517,6 +524,7 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
517
524
  }
518
525
  if (typeof args.options.classification === 'undefined' &&
519
526
  typeof args.options.disableFlows === 'undefined' &&
527
+ typeof args.options.socialBarOnSitePagesDisabled === 'undefined' &&
520
528
  typeof args.options.title === 'undefined' &&
521
529
  typeof args.options.description === 'undefined' &&
522
530
  typeof args.options.isPublic === 'undefined' &&
@@ -580,7 +588,7 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
580
588
  }));
581
589
  }, _SpoSiteSetCommand_initTypes = function _SpoSiteSetCommand_initTypes() {
582
590
  this.types.string.push('classification');
583
- this.types.boolean.push('isPublic', 'disableFlows', 'shareByEmailEnabled', 'allowSelfServiceUpgrade', 'noScriptSite');
591
+ this.types.boolean.push('isPublic', 'disableFlows', 'socialBarOnSitePagesDisabled', 'shareByEmailEnabled', 'allowSelfServiceUpgrade', 'noScriptSite');
584
592
  };
585
593
  module.exports = new SpoSiteSetCommand();
586
594
  //# sourceMappingURL=site-set.js.map
@@ -62,7 +62,8 @@ class SpoTenantAppCatalogAddCommand extends SpoCommand_1.default {
62
62
  });
63
63
  }
64
64
  ensureNoExistingSite(url, force, logger) {
65
- return new Promise((resolve, reject) => {
65
+ var _a, _b;
66
+ return __awaiter(this, void 0, void 0, function* () {
66
67
  if (this.verbose) {
67
68
  logger.logToStderr(`Checking if site ${url} exists...`);
68
69
  }
@@ -74,14 +75,13 @@ class SpoTenantAppCatalogAddCommand extends SpoCommand_1.default {
74
75
  _: []
75
76
  }
76
77
  };
77
- Cli_1.Cli
78
- .executeCommandWithOutput(spoSiteGetCommand, siteGetOptions)
79
- .then(() => {
78
+ try {
79
+ yield Cli_1.Cli.executeCommandWithOutput(spoSiteGetCommand, siteGetOptions);
80
80
  if (this.verbose) {
81
81
  logger.logToStderr(`Found site ${url}`);
82
82
  }
83
83
  if (!force) {
84
- return reject(new Command_1.CommandError(`Another site exists at ${url}`));
84
+ throw new Command_1.CommandError(`Another site exists at ${url}`);
85
85
  }
86
86
  if (this.verbose) {
87
87
  logger.logToStderr(`Deleting site ${url}...`);
@@ -90,24 +90,21 @@ class SpoTenantAppCatalogAddCommand extends SpoCommand_1.default {
90
90
  url: url,
91
91
  skipRecycleBin: true,
92
92
  wait: true,
93
- force: true,
93
+ confirm: true,
94
94
  verbose: this.verbose,
95
95
  debug: this.debug
96
96
  };
97
- Cli_1.Cli
98
- .executeCommand(spoSiteRemoveCommand, { options: Object.assign(Object.assign({}, siteRemoveOptions), { _: [] }) })
99
- .then(() => resolve(), (err) => reject(err));
100
- }, (err) => {
101
- if (err.error.message !== 'File Not Found.' && err.error.message !== '404 FILE NOT FOUND') {
102
- // some other error occurred
103
- return reject(err.error);
97
+ yield Cli_1.Cli.executeCommand(spoSiteRemoveCommand, { options: Object.assign(Object.assign({}, siteRemoveOptions), { _: [] }) });
98
+ }
99
+ catch (err) {
100
+ if (((_a = err.error) === null || _a === void 0 ? void 0 : _a.message) !== 'File not Found' && ((_b = err.error) === null || _b === void 0 ? void 0 : _b.message) !== '404 FILE NOT FOUND') {
101
+ throw err.error || err;
104
102
  }
105
103
  if (this.verbose) {
106
104
  logger.logToStderr(`No site found at ${url}`);
107
105
  }
108
- // site not found. continue
109
- resolve();
110
- });
106
+ // Site not found. Continue
107
+ }
111
108
  });
112
109
  }
113
110
  createAppCatalog(options, logger) {