@pnp/cli-microsoft365 6.11.0-beta.ee225fb → 6.11.0

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 (136) hide show
  1. package/dist/Auth.js +2 -1
  2. package/dist/Command.js +1 -1
  3. package/dist/m365/pa/commands/app/app-permission-ensure.js +177 -0
  4. package/dist/m365/pa/commands/app/app-permission-remove.js +170 -0
  5. package/dist/m365/pa/commands.js +2 -0
  6. package/dist/m365/planner/commands/task/task-add.js +17 -11
  7. package/dist/m365/planner/commands/task/task-get.js +35 -25
  8. package/dist/m365/planner/commands/task/task-list.js +26 -19
  9. package/dist/m365/planner/commands/task/task-remove.js +40 -35
  10. package/dist/m365/planner/commands/task/task-set.js +35 -23
  11. package/dist/m365/spfx/commands/project/DeployWorkflow.js +58 -0
  12. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0-beta.5.js} +1 -1
  13. package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
  14. package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +34 -23
  15. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +171 -0
  16. package/dist/m365/spfx/commands/project/project-github-workflow-model.js +3 -0
  17. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
  18. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0-beta.5.js} +26 -26
  19. package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
  20. package/dist/m365/spfx/commands/spfx-doctor.js +35 -51
  21. package/dist/m365/spfx/commands.js +1 -0
  22. package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +26 -14
  23. package/dist/m365/spo/commands/app/app-add.js +9 -9
  24. package/dist/m365/spo/commands/file/file-add.js +13 -13
  25. package/dist/m365/spo/commands/file/file-checkin.js +1 -1
  26. package/dist/m365/spo/commands/file/file-checkout.js +1 -1
  27. package/dist/m365/spo/commands/file/file-copy.js +38 -4
  28. package/dist/m365/spo/commands/file/file-list.js +4 -4
  29. package/dist/m365/spo/commands/file/file-move.js +2 -2
  30. package/dist/m365/spo/commands/file/file-remove.js +6 -6
  31. package/dist/m365/spo/commands/file/file-rename.js +2 -2
  32. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
  33. package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
  34. package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
  35. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
  36. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
  37. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
  38. package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
  39. package/dist/m365/spo/commands/file/file-version-get.js +1 -1
  40. package/dist/m365/spo/commands/file/file-version-list.js +1 -1
  41. package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
  42. package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
  43. package/dist/m365/spo/commands/folder/folder-add.js +2 -4
  44. package/dist/m365/spo/commands/folder/folder-get.js +1 -1
  45. package/dist/m365/spo/commands/folder/folder-list.js +2 -2
  46. package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
  47. package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
  48. package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
  49. package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
  50. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
  51. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
  52. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
  53. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
  54. package/dist/m365/spo/commands/group/group-list.js +0 -1
  55. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +32 -3
  56. package/dist/m365/spo/commands/page/Page.js +24 -32
  57. package/dist/m365/spo/commands/propertybag/propertybag-base.js +75 -54
  58. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +41 -40
  59. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +32 -32
  60. package/dist/m365/spo/commands/site/FlowsPolicy.js +10 -0
  61. package/dist/m365/spo/commands/site/site-add.js +113 -154
  62. package/dist/m365/spo/commands/site/site-apppermission-add.js +26 -27
  63. package/dist/m365/spo/commands/site/site-apppermission-remove.js +37 -37
  64. package/dist/m365/spo/commands/site/site-apppermission-set.js +15 -16
  65. package/dist/m365/spo/commands/site/site-ensure.js +19 -70
  66. package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +24 -22
  67. package/dist/m365/spo/commands/site/site-list.js +28 -36
  68. package/dist/m365/spo/commands/site/site-remove.js +139 -171
  69. package/dist/m365/spo/commands/site/site-set.js +179 -178
  70. package/dist/m365/spo/commands/theme/theme-remove.js +26 -24
  71. package/dist/m365/spo/commands/theme/theme-set.js +0 -1
  72. package/dist/m365/spo/commands/user/user-remove.js +29 -27
  73. package/dist/m365/spo/commands/web/web-reindex.js +17 -20
  74. package/dist/m365/spo/commands/web/web-remove.js +23 -21
  75. package/dist/m365/spo/commands/web/web-roleassignment-add.js +45 -52
  76. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +58 -61
  77. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +20 -18
  78. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +21 -19
  79. package/dist/m365/yammer/commands/message/message-like-set.js +29 -28
  80. package/dist/m365/yammer/commands/message/message-list.js +9 -26
  81. package/dist/m365/yammer/commands/message/message-remove.js +20 -18
  82. package/dist/m365/yammer/commands/yammer-search.js +42 -56
  83. package/dist/utils/aadGroup.js +20 -0
  84. package/dist/utils/fsUtil.js +5 -0
  85. package/dist/utils/spo.js +601 -1
  86. package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
  87. package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
  88. package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
  89. package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
  90. package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
  91. package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
  92. package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
  93. package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
  94. package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
  95. package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
  96. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
  97. package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
  98. package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
  99. package/docs/docs/cmd/spo/file/file-get.mdx +1 -1
  100. package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
  101. package/docs/docs/cmd/spo/file/file-move.mdx +2 -2
  102. package/docs/docs/cmd/spo/file/file-remove.mdx +8 -8
  103. package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
  104. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +2 -2
  105. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
  106. package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
  107. package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
  108. package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
  109. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
  110. package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
  111. package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
  112. package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
  113. package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
  114. package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
  115. package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
  116. package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
  117. package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
  118. package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
  119. package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
  120. package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
  121. package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
  122. package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
  123. package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
  124. package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
  125. package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
  126. package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
  127. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  128. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
  129. package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
  130. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
  131. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
  132. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
  133. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
  134. package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
  135. package/npm-shrinkwrap.json +698 -345
  136. package/package.json +16 -15
@@ -16,14 +16,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoSiteEnsureCommand_instances, _SpoSiteEnsureCommand_initOptions, _SpoSiteEnsureCommand_initTypes, _SpoSiteEnsureCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const chalk = require("chalk");
19
- const Cli_1 = require("../../../../cli/Cli");
20
19
  const validation_1 = require("../../../../utils/validation");
21
20
  const SpoCommand_1 = require("../../../base/SpoCommand");
22
21
  const commands_1 = require("../../commands");
23
- const spoWebGetCommand = require("../web/web-get");
24
22
  const SharingCapabilities_1 = require("./SharingCapabilities");
25
- const spoSiteAddCommand = require("./site-add");
26
- const spoSiteSetCommand = require("./site-set");
23
+ const spo_1 = require("../../../../utils/spo");
27
24
  class SpoSiteEnsureCommand extends SpoCommand_1.default {
28
25
  get name() {
29
26
  return commands_1.default.SITE_ENSURE;
@@ -42,10 +39,7 @@ class SpoSiteEnsureCommand extends SpoCommand_1.default {
42
39
  return __awaiter(this, void 0, void 0, function* () {
43
40
  try {
44
41
  const res = yield this.ensureSite(logger, args);
45
- if (this.debug) {
46
- logger.logToStderr(res.stderr);
47
- }
48
- logger.log(res.stdout);
42
+ logger.log(res);
49
43
  if (this.verbose) {
50
44
  logger.logToStderr(chalk.green('DONE'));
51
45
  }
@@ -63,9 +57,9 @@ class SpoSiteEnsureCommand extends SpoCommand_1.default {
63
57
  }
64
58
  catch (err) {
65
59
  if (this.debug) {
66
- logger.logToStderr(err.stderr);
60
+ logger.logToStderr(err);
67
61
  }
68
- if (err.error.message !== '404 FILE NOT FOUND') {
62
+ if (err.error !== '404 FILE NOT FOUND') {
69
63
  throw err;
70
64
  }
71
65
  if (this.verbose) {
@@ -74,12 +68,15 @@ class SpoSiteEnsureCommand extends SpoCommand_1.default {
74
68
  return this.createSite(args, logger);
75
69
  }
76
70
  if (this.debug) {
77
- logger.logToStderr(getWebOutput.stderr);
71
+ logger.logToStderr(getWebOutput);
78
72
  }
79
73
  if (this.verbose) {
80
74
  logger.logToStderr(`Site found at ${args.options.url}. Checking if site matches conditions...`);
81
75
  }
82
- const web = JSON.parse(getWebOutput.stdout);
76
+ const web = {
77
+ Configuration: getWebOutput.Configuration,
78
+ WebTemplate: getWebOutput.WebTemplate
79
+ };
83
80
  if (args.options.type) {
84
81
  // type was specified so we need to check if the existing site matches
85
82
  // it. If not, we throw an error and stop
@@ -93,7 +90,7 @@ class SpoSiteEnsureCommand extends SpoCommand_1.default {
93
90
  expectedWebTemplate = 'SITEPAGEPUBLISHING#0';
94
91
  break;
95
92
  case 'ClassicSite':
96
- expectedWebTemplate = args.options.webTemplate;
93
+ expectedWebTemplate = args.options.webTemplate || 'STS#0';
97
94
  break;
98
95
  default:
99
96
  throw `${args.options.type} is not a valid site type. Allowed types are TeamSite,CommunicationSite,ClassicSite`;
@@ -112,51 +109,20 @@ class SpoSiteEnsureCommand extends SpoCommand_1.default {
112
109
  });
113
110
  }
114
111
  getWeb(args, logger) {
115
- if (this.verbose) {
116
- logger.logToStderr(`Checking if site ${args.options.url} exists...`);
117
- }
118
- const options = {
119
- url: args.options.url,
120
- output: 'json',
121
- debug: this.debug,
122
- verbose: this.verbose
123
- };
124
- return Cli_1.Cli.executeCommandWithOutput(spoWebGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ if (this.verbose) {
114
+ logger.logToStderr(`Checking if site ${args.options.url} exists...`);
115
+ }
116
+ return yield spo_1.spo.getWeb(args.options.url, logger, this.verbose);
117
+ });
125
118
  }
126
119
  createSite(args, logger) {
127
120
  return __awaiter(this, void 0, void 0, function* () {
128
121
  if (this.verbose) {
129
122
  logger.logToStderr(`Creating site...`);
130
123
  }
131
- const options = {
132
- type: args.options.type,
133
- title: args.options.title,
134
- alias: args.options.alias,
135
- description: args.options.description,
136
- classification: args.options.classification,
137
- isPublic: args.options.isPublic,
138
- lcid: args.options.lcid,
139
- url: typeof args.options.type === 'undefined' || args.options.type === 'TeamSite' ? undefined : args.options.url,
140
- owners: args.options.owners,
141
- shareByEmailEnabled: args.options.shareByEmailEnabled,
142
- siteDesign: args.options.siteDesign,
143
- siteDesignId: args.options.siteDesignId,
144
- timeZone: args.options.timeZone,
145
- webTemplate: args.options.webTemplate,
146
- resourceQuota: args.options.resourceQuota,
147
- resourceQuotaWarningLevel: args.options.resourceQuotaWarningLevel,
148
- storageQuota: args.options.storageQuota,
149
- storageQuotaWarningLevel: args.options.storageQuotaWarningLevel,
150
- removeDeletedSite: args.options.removeDeletedSite,
151
- wait: args.options.wait,
152
- verbose: this.verbose,
153
- debug: this.debug
154
- };
155
- const validationResult = yield spoSiteAddCommand.validate({ options: options }, Cli_1.Cli.getCommandInfo(spoSiteAddCommand));
156
- if (validationResult !== true) {
157
- return Promise.reject(validationResult);
158
- }
159
- return Cli_1.Cli.executeCommandWithOutput(spoSiteAddCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
124
+ const url = typeof args.options.type === 'undefined' || args.options.type === 'TeamSite' ? undefined : args.options.url;
125
+ return yield spo_1.spo.addSite(args.options.title, logger, this.verbose, args.options.wait, args.options.type, args.options.alias, args.options.description, args.options.owners, args.options.shareByEmailEnabled, args.options.removeDeletedSite, args.options.classification, args.options.isPublic, args.options.lcid, url, args.options.siteDesign, args.options.siteDesignId, args.options.timeZone, args.options.webTemplate, args.options.resourceQuota, args.options.resourceQuotaWarningLevel, args.options.storageQuota, args.options.storageQuotaWarningLevel);
160
126
  });
161
127
  }
162
128
  updateSite(args, logger) {
@@ -164,24 +130,7 @@ class SpoSiteEnsureCommand extends SpoCommand_1.default {
164
130
  if (this.verbose) {
165
131
  logger.logToStderr(`Updating site...`);
166
132
  }
167
- const options = {
168
- classification: args.options.classification,
169
- disableFlows: args.options.disableFlows,
170
- isPublic: args.options.isPublic,
171
- owners: args.options.owners,
172
- shareByEmailEnabled: args.options.shareByEmailEnabled,
173
- siteDesignId: args.options.siteDesignId,
174
- title: args.options.title,
175
- url: args.options.url,
176
- sharingCapability: args.options.sharingCapability,
177
- verbose: this.verbose,
178
- debug: this.debug
179
- };
180
- const validationResult = yield spoSiteSetCommand.validate({ options: options }, Cli_1.Cli.getCommandInfo(spoSiteSetCommand));
181
- if (validationResult !== true) {
182
- return Promise.reject(validationResult);
183
- }
184
- return Cli_1.Cli.executeCommandWithOutput(spoSiteSetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
133
+ return yield spo_1.spo.updateSite(args.options.url, logger, this.verbose, args.options.title, args.options.classification, args.options.disableFlows, args.options.isPublic, args.options.owners, args.options.shareByEmailEnabled, args.options.siteDesignId, args.options.sharingCapability);
185
134
  });
186
135
  }
187
136
  /**
@@ -37,28 +37,8 @@ class SpoSiteHubSiteDisconnectCommand extends SpoCommand_1.default {
37
37
  }
38
38
  commandAction(logger, args) {
39
39
  return __awaiter(this, void 0, void 0, function* () {
40
- const disconnectHubSite = () => __awaiter(this, void 0, void 0, function* () {
41
- try {
42
- const res = yield spo_1.spo.getRequestDigest(args.options.siteUrl);
43
- if (this.verbose) {
44
- logger.logToStderr(`Disconnecting site collection ${args.options.siteUrl} from its hubsite...`);
45
- }
46
- const requestOptions = {
47
- url: `${args.options.siteUrl}/_api/site/JoinHubSite('00000000-0000-0000-0000-000000000000')`,
48
- headers: {
49
- 'X-RequestDigest': res.FormDigestValue,
50
- accept: 'application/json;odata=nometadata'
51
- },
52
- responseType: 'json'
53
- };
54
- yield request_1.default.post(requestOptions);
55
- }
56
- catch (err) {
57
- this.handleRejectedODataJsonPromise(err);
58
- }
59
- });
60
40
  if (args.options.confirm) {
61
- yield disconnectHubSite();
41
+ yield this.disconnectHubSite(logger, args);
62
42
  }
63
43
  else {
64
44
  const result = yield Cli_1.Cli.prompt({
@@ -68,8 +48,30 @@ class SpoSiteHubSiteDisconnectCommand extends SpoCommand_1.default {
68
48
  message: `Are you sure you want to disconnect the site collection ${args.options.siteUrl} from its hub site?`
69
49
  });
70
50
  if (result.continue) {
71
- yield disconnectHubSite();
51
+ yield this.disconnectHubSite(logger, args);
52
+ }
53
+ }
54
+ });
55
+ }
56
+ disconnectHubSite(logger, args) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ try {
59
+ const res = yield spo_1.spo.getRequestDigest(args.options.siteUrl);
60
+ if (this.verbose) {
61
+ logger.logToStderr(`Disconnecting site collection ${args.options.siteUrl} from its hubsite...`);
72
62
  }
63
+ const requestOptions = {
64
+ url: `${args.options.siteUrl}/_api/site/JoinHubSite('00000000-0000-0000-0000-000000000000')`,
65
+ headers: {
66
+ 'X-RequestDigest': res.FormDigestValue,
67
+ accept: 'application/json;odata=nometadata'
68
+ },
69
+ responseType: 'json'
70
+ };
71
+ yield request_1.default.post(requestOptions);
72
+ }
73
+ catch (err) {
74
+ this.handleRejectedODataJsonPromise(err);
73
75
  }
74
76
  });
75
77
  }
@@ -58,43 +58,35 @@ class SpoSiteListCommand extends SpoCommand_1.default {
58
58
  });
59
59
  }
60
60
  getAllSites(spoAdminUrl, filter, startIndex, personalSite, webTemplate, formDigest, deleted, logger) {
61
- return new Promise((resolve, reject) => {
62
- spo_1.spo
63
- .ensureFormDigest(spoAdminUrl, logger, formDigest, this.debug)
64
- .then((res) => {
65
- let requestBody = `<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="2" ObjectPathId="1" /><ObjectPath Id="4" ObjectPathId="3" /><Query Id="5" ObjectPathId="3"><Query SelectAllProperties="true"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><Constructor Id="1" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="3" ParentId="1" Name="GetSitePropertiesFromSharePointByFilters"><Parameters><Parameter TypeId="{b92aeee2-c92c-4b67-abcc-024e471bc140}"><Property Name="Filter" Type="String">${filter}</Property><Property Name="IncludeDetail" Type="Boolean">false</Property><Property Name="IncludePersonalSite" Type="Enum">${personalSite}</Property><Property Name="StartIndex" Type="String">${startIndex}</Property><Property Name="Template" Type="String">${webTemplate}</Property></Parameter></Parameters></Method></ObjectPaths></Request>`;
66
- if (deleted) {
67
- requestBody = `<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" /><ObjectPath Id="6" ObjectPathId="5" /><Query Id="7" ObjectPathId="5"><Query SelectAllProperties="true"><Properties><Property Name="NextStartIndexFromSharePoint" ScalarProperty="true" /></Properties></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><Constructor Id="3" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="5" ParentId="3" Name="GetDeletedSitePropertiesFromSharePoint"><Parameters><Parameter Type="String">${startIndex}</Parameter></Parameters></Method></ObjectPaths></Request>`;
68
- }
69
- const requestOptions = {
70
- url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
71
- headers: {
72
- 'X-RequestDigest': res.FormDigestValue
73
- },
74
- data: requestBody
75
- };
76
- return request_1.default.post(requestOptions);
77
- })
78
- .then((res) => {
79
- const json = JSON.parse(res);
80
- const response = json[0];
81
- if (response.ErrorInfo) {
82
- reject(response.ErrorInfo.ErrorMessage);
83
- return;
84
- }
85
- else {
86
- const sites = json[json.length - 1];
87
- this.allSites.push(...sites._Child_Items_);
88
- if (sites.NextStartIndexFromSharePoint) {
89
- this
90
- .getAllSites(spoAdminUrl, filter, sites.NextStartIndexFromSharePoint, personalSite, webTemplate, formDigest, deleted, logger)
91
- .then(_ => resolve(), err => reject(err));
92
- }
93
- else {
94
- resolve();
95
- }
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const res = yield spo_1.spo.ensureFormDigest(spoAdminUrl, logger, formDigest, this.debug);
63
+ let requestBody = `<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="2" ObjectPathId="1" /><ObjectPath Id="4" ObjectPathId="3" /><Query Id="5" ObjectPathId="3"><Query SelectAllProperties="true"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><Constructor Id="1" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="3" ParentId="1" Name="GetSitePropertiesFromSharePointByFilters"><Parameters><Parameter TypeId="{b92aeee2-c92c-4b67-abcc-024e471bc140}"><Property Name="Filter" Type="String">${filter}</Property><Property Name="IncludeDetail" Type="Boolean">false</Property><Property Name="IncludePersonalSite" Type="Enum">${personalSite}</Property><Property Name="StartIndex" Type="String">${startIndex}</Property><Property Name="Template" Type="String">${webTemplate}</Property></Parameter></Parameters></Method></ObjectPaths></Request>`;
64
+ if (deleted) {
65
+ requestBody = `<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" /><ObjectPath Id="6" ObjectPathId="5" /><Query Id="7" ObjectPathId="5"><Query SelectAllProperties="true"><Properties><Property Name="NextStartIndexFromSharePoint" ScalarProperty="true" /></Properties></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><Constructor Id="3" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="5" ParentId="3" Name="GetDeletedSitePropertiesFromSharePoint"><Parameters><Parameter Type="String">${startIndex}</Parameter></Parameters></Method></ObjectPaths></Request>`;
66
+ }
67
+ const requestOptions = {
68
+ url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
69
+ headers: {
70
+ 'X-RequestDigest': res.FormDigestValue
71
+ },
72
+ data: requestBody
73
+ };
74
+ const res1 = yield request_1.default.post(requestOptions);
75
+ const json = JSON.parse(res1);
76
+ const response = json[0];
77
+ logger.log(response);
78
+ if (response.ErrorInfo) {
79
+ throw response.ErrorInfo.ErrorMessage;
80
+ }
81
+ else {
82
+ const sites = json[json.length - 1];
83
+ logger.log(sites);
84
+ this.allSites.push(...sites._Child_Items_);
85
+ if (sites.NextStartIndexFromSharePoint) {
86
+ yield this.getAllSites(spoAdminUrl, filter, sites.NextStartIndexFromSharePoint, personalSite, webTemplate, formDigest, deleted, logger);
96
87
  }
97
- }, err => reject(err));
88
+ return;
89
+ }
98
90
  });
99
91
  }
100
92
  getWebTemplateId(options) {