@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.
- package/dist/Auth.js +2 -1
- package/dist/Command.js +1 -1
- package/dist/m365/pa/commands/app/app-permission-ensure.js +177 -0
- package/dist/m365/pa/commands/app/app-permission-remove.js +170 -0
- package/dist/m365/pa/commands.js +2 -0
- package/dist/m365/planner/commands/task/task-add.js +17 -11
- package/dist/m365/planner/commands/task/task-get.js +35 -25
- package/dist/m365/planner/commands/task/task-list.js +26 -19
- package/dist/m365/planner/commands/task/task-remove.js +40 -35
- package/dist/m365/planner/commands/task/task-set.js +35 -23
- package/dist/m365/spfx/commands/project/DeployWorkflow.js +58 -0
- package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0-beta.5.js} +1 -1
- package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
- package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +34 -23
- package/dist/m365/spfx/commands/project/project-github-workflow-add.js +171 -0
- package/dist/m365/spfx/commands/project/project-github-workflow-model.js +3 -0
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0-beta.5.js} +26 -26
- package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
- package/dist/m365/spfx/commands/spfx-doctor.js +35 -51
- package/dist/m365/spfx/commands.js +1 -0
- package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +26 -14
- package/dist/m365/spo/commands/app/app-add.js +9 -9
- package/dist/m365/spo/commands/file/file-add.js +13 -13
- package/dist/m365/spo/commands/file/file-checkin.js +1 -1
- package/dist/m365/spo/commands/file/file-checkout.js +1 -1
- package/dist/m365/spo/commands/file/file-copy.js +38 -4
- package/dist/m365/spo/commands/file/file-list.js +4 -4
- package/dist/m365/spo/commands/file/file-move.js +2 -2
- package/dist/m365/spo/commands/file/file-remove.js +6 -6
- package/dist/m365/spo/commands/file/file-rename.js +2 -2
- package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
- package/dist/m365/spo/commands/file/file-version-get.js +1 -1
- package/dist/m365/spo/commands/file/file-version-list.js +1 -1
- package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
- package/dist/m365/spo/commands/folder/folder-add.js +2 -4
- package/dist/m365/spo/commands/folder/folder-get.js +1 -1
- package/dist/m365/spo/commands/folder/folder-list.js +2 -2
- package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
- package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
- package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/group/group-list.js +0 -1
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +32 -3
- package/dist/m365/spo/commands/page/Page.js +24 -32
- package/dist/m365/spo/commands/propertybag/propertybag-base.js +75 -54
- package/dist/m365/spo/commands/propertybag/propertybag-remove.js +41 -40
- package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +32 -32
- package/dist/m365/spo/commands/site/FlowsPolicy.js +10 -0
- package/dist/m365/spo/commands/site/site-add.js +113 -154
- package/dist/m365/spo/commands/site/site-apppermission-add.js +26 -27
- package/dist/m365/spo/commands/site/site-apppermission-remove.js +37 -37
- package/dist/m365/spo/commands/site/site-apppermission-set.js +15 -16
- package/dist/m365/spo/commands/site/site-ensure.js +19 -70
- package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +24 -22
- package/dist/m365/spo/commands/site/site-list.js +28 -36
- package/dist/m365/spo/commands/site/site-remove.js +139 -171
- package/dist/m365/spo/commands/site/site-set.js +179 -178
- package/dist/m365/spo/commands/theme/theme-remove.js +26 -24
- package/dist/m365/spo/commands/theme/theme-set.js +0 -1
- package/dist/m365/spo/commands/user/user-remove.js +29 -27
- package/dist/m365/spo/commands/web/web-reindex.js +17 -20
- package/dist/m365/spo/commands/web/web-remove.js +23 -21
- package/dist/m365/spo/commands/web/web-roleassignment-add.js +45 -52
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +58 -61
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +20 -18
- package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +21 -19
- package/dist/m365/yammer/commands/message/message-like-set.js +29 -28
- package/dist/m365/yammer/commands/message/message-list.js +9 -26
- package/dist/m365/yammer/commands/message/message-remove.js +20 -18
- package/dist/m365/yammer/commands/yammer-search.js +42 -56
- package/dist/utils/aadGroup.js +20 -0
- package/dist/utils/fsUtil.js +5 -0
- package/dist/utils/spo.js +601 -1
- package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
- package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
- package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
- package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
- package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
- package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
- package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
- package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
- package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
- package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
- package/docs/docs/cmd/spo/file/file-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-move.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-remove.mdx +8 -8
- package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
- package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
- package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
- package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
- package/npm-shrinkwrap.json +698 -345
- package/package.json +16 -15
|
@@ -41,69 +41,71 @@ class SpoSiteRemoveCommand extends SpoCommand_1.default {
|
|
|
41
41
|
}
|
|
42
42
|
commandAction(logger, args) {
|
|
43
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
if (args.options.confirm) {
|
|
45
|
+
yield this.removeSite(logger, args);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const result = yield Cli_1.Cli.prompt({
|
|
49
|
+
type: 'confirm',
|
|
50
|
+
name: 'continue',
|
|
51
|
+
default: false,
|
|
52
|
+
message: `Are you sure you want to remove the site ${args.options.url}?`
|
|
53
|
+
});
|
|
54
|
+
if (result.continue) {
|
|
55
|
+
yield this.removeSite(logger, args);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
removeSite(logger, args) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
try {
|
|
63
|
+
if (args.options.fromRecycleBin) {
|
|
64
|
+
yield this.deleteSiteWithoutGroup(logger, args);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
const groupId = yield this.getSiteGroupId(args.options.url, logger);
|
|
68
|
+
if (groupId === '00000000-0000-0000-0000-000000000000') {
|
|
69
|
+
if (this.debug) {
|
|
70
|
+
logger.logToStderr('Site is not groupified. Going ahead with the conventional site deletion options');
|
|
71
|
+
}
|
|
47
72
|
yield this.deleteSiteWithoutGroup(logger, args);
|
|
48
73
|
}
|
|
49
74
|
else {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (this.debug) {
|
|
53
|
-
logger.logToStderr('Site is not groupified. Going ahead with the conventional site deletion options');
|
|
54
|
-
}
|
|
55
|
-
yield this.deleteSiteWithoutGroup(logger, args);
|
|
75
|
+
if (this.debug) {
|
|
76
|
+
logger.logToStderr(`Site attached to group ${groupId}. Initiating group delete operation via Graph API`);
|
|
56
77
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
78
|
+
try {
|
|
79
|
+
const group = yield aadGroup_1.aadGroup.getGroupById(groupId);
|
|
80
|
+
if (args.options.skipRecycleBin || args.options.wait) {
|
|
81
|
+
logger.logToStderr(chalk.yellow(`Entered site is a groupified site. Hence, the parameters 'skipRecycleBin' and 'wait' will not be applicable.`));
|
|
60
82
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
yield this.deleteSite(args.options.url, args.options.wait, logger);
|
|
83
|
+
yield this.deleteGroup(group.id, logger);
|
|
84
|
+
yield this.deleteSite(args.options.url, args.options.wait, logger);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
if (this.verbose) {
|
|
88
|
+
logger.logToStderr(`Site group doesn't exist. Searching in the Microsoft 365 deleted groups.`);
|
|
68
89
|
}
|
|
69
|
-
|
|
90
|
+
const deletedGroups = yield this.isSiteGroupDeleted(groupId);
|
|
91
|
+
if (deletedGroups.value.length === 0) {
|
|
70
92
|
if (this.verbose) {
|
|
71
|
-
logger.logToStderr(
|
|
93
|
+
logger.logToStderr("Site group doesn't exist anymore. Deleting the site.");
|
|
72
94
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (this.verbose) {
|
|
76
|
-
logger.logToStderr("Site group doesn't exist anymore. Deleting the site.");
|
|
77
|
-
}
|
|
78
|
-
if (args.options.wait) {
|
|
79
|
-
logger.logToStderr(chalk.yellow(`Entered site is a groupified site. Hence, the parameter 'wait' will not be applicable.`));
|
|
80
|
-
}
|
|
81
|
-
yield this.deleteOrphanedSite(logger, args.options.url);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
throw `Site group still exists in the deleted groups. The site won't be removed.`;
|
|
95
|
+
if (args.options.wait) {
|
|
96
|
+
logger.logToStderr(chalk.yellow(`Entered site is a groupified site. Hence, the parameter 'wait' will not be applicable.`));
|
|
85
97
|
}
|
|
98
|
+
yield this.deleteOrphanedSite(logger, args.options.url);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
throw `Site group still exists in the deleted groups. The site won't be removed.`;
|
|
86
102
|
}
|
|
87
103
|
}
|
|
88
104
|
}
|
|
89
105
|
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
this.handleRejectedPromise(err);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
if (args.options.confirm) {
|
|
95
|
-
yield removeSite();
|
|
96
106
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
type: 'confirm',
|
|
100
|
-
name: 'continue',
|
|
101
|
-
default: false,
|
|
102
|
-
message: `Are you sure you want to remove the site ${args.options.url}?`
|
|
103
|
-
});
|
|
104
|
-
if (result.continue) {
|
|
105
|
-
yield removeSite();
|
|
106
|
-
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
this.handleRejectedPromise(err);
|
|
107
109
|
}
|
|
108
110
|
});
|
|
109
111
|
}
|
|
@@ -118,9 +120,8 @@ class SpoSiteRemoveCommand extends SpoCommand_1.default {
|
|
|
118
120
|
return request_1.default.get(requestOptions);
|
|
119
121
|
}
|
|
120
122
|
deleteOrphanedSite(logger, url) {
|
|
121
|
-
return
|
|
122
|
-
.getSpoAdminUrl(logger, this.debug)
|
|
123
|
-
.then((spoAdminUrl) => {
|
|
123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
124
125
|
const requestOptions = {
|
|
125
126
|
url: `${spoAdminUrl}/_api/GroupSiteManager/Delete?siteUrl='${url}'`,
|
|
126
127
|
headers: {
|
|
@@ -129,140 +130,111 @@ class SpoSiteRemoveCommand extends SpoCommand_1.default {
|
|
|
129
130
|
},
|
|
130
131
|
responseType: 'json'
|
|
131
132
|
};
|
|
132
|
-
return request_1.default.post(requestOptions);
|
|
133
|
+
return yield request_1.default.post(requestOptions);
|
|
133
134
|
});
|
|
134
135
|
}
|
|
135
136
|
deleteSiteWithoutGroup(logger, args) {
|
|
136
|
-
return
|
|
137
|
-
.getSpoAdminUrl(logger, this.debug)
|
|
138
|
-
.
|
|
139
|
-
this.spoAdminUrl = spoAdminUrl;
|
|
140
|
-
return spo_1.spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
141
|
-
})
|
|
142
|
-
.then((res) => {
|
|
143
|
-
this.context = res;
|
|
137
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
this.spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
139
|
+
this.context = yield spo_1.spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
144
140
|
if (args.options.fromRecycleBin) {
|
|
145
141
|
if (this.verbose) {
|
|
146
142
|
logger.logToStderr(`Deleting site from recycle bin ${args.options.url}...`);
|
|
147
143
|
}
|
|
148
|
-
|
|
144
|
+
yield this.deleteSiteFromTheRecycleBin(args.options.url, args.options.wait, logger);
|
|
149
145
|
}
|
|
150
146
|
else {
|
|
151
|
-
|
|
147
|
+
yield this.deleteSite(args.options.url, args.options.wait, logger);
|
|
152
148
|
}
|
|
153
|
-
})
|
|
154
|
-
.then(() => {
|
|
155
149
|
if (args.options.skipRecycleBin) {
|
|
156
150
|
if (this.verbose) {
|
|
157
151
|
logger.logToStderr(`Also deleting site from tenant recycle bin ${args.options.url}...`);
|
|
158
152
|
}
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
return Promise.resolve();
|
|
153
|
+
yield this.deleteSiteFromTheRecycleBin(args.options.url, args.options.wait, logger);
|
|
163
154
|
}
|
|
164
155
|
});
|
|
165
156
|
}
|
|
166
157
|
deleteSite(url, wait, logger) {
|
|
167
|
-
return
|
|
168
|
-
spo_1.spo
|
|
169
|
-
|
|
170
|
-
.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
logger,
|
|
204
|
-
currentContext: this.context,
|
|
205
|
-
debug: this.debug,
|
|
206
|
-
verbose: this.verbose
|
|
207
|
-
});
|
|
208
|
-
}, operation.PollingInterval);
|
|
209
|
-
}
|
|
158
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
this.context = yield spo_1.spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
160
|
+
if (this.verbose) {
|
|
161
|
+
logger.logToStderr(`Deleting site ${url}...`);
|
|
162
|
+
}
|
|
163
|
+
const requestOptions = {
|
|
164
|
+
url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
165
|
+
headers: {
|
|
166
|
+
'X-RequestDigest': this.context.FormDigestValue
|
|
167
|
+
},
|
|
168
|
+
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="55" ObjectPathId="54"/><ObjectPath Id="57" ObjectPathId="56"/><Query Id="58" ObjectPathId="54"><Query SelectAllProperties="true"><Properties/></Query></Query><Query Id="59" ObjectPathId="56"><Query SelectAllProperties="false"><Properties><Property Name="IsComplete" ScalarProperty="true"/><Property Name="PollingInterval" ScalarProperty="true"/></Properties></Query></Query></Actions><ObjectPaths><Constructor Id="54" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}"/><Method Id="56" ParentId="54" Name="RemoveSite"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(url)}</Parameter></Parameters></Method></ObjectPaths></Request>`
|
|
169
|
+
};
|
|
170
|
+
const response = yield request_1.default.post(requestOptions);
|
|
171
|
+
const json = JSON.parse(response);
|
|
172
|
+
const responseContent = json[0];
|
|
173
|
+
if (responseContent.ErrorInfo) {
|
|
174
|
+
throw responseContent.ErrorInfo.ErrorMessage;
|
|
175
|
+
}
|
|
176
|
+
const operation = json[json.length - 1];
|
|
177
|
+
const isComplete = operation.IsComplete;
|
|
178
|
+
if (!wait || isComplete) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
yield new Promise((resolve, reject) => {
|
|
182
|
+
setTimeout(() => {
|
|
183
|
+
spo_1.spo.waitUntilFinished({
|
|
184
|
+
operationId: JSON.stringify(operation._ObjectIdentity_),
|
|
185
|
+
siteUrl: this.spoAdminUrl,
|
|
186
|
+
resolve,
|
|
187
|
+
reject,
|
|
188
|
+
logger,
|
|
189
|
+
currentContext: this.context,
|
|
190
|
+
debug: this.debug,
|
|
191
|
+
verbose: this.verbose
|
|
192
|
+
});
|
|
193
|
+
}, operation.PollingInterval);
|
|
210
194
|
});
|
|
211
195
|
});
|
|
212
196
|
}
|
|
213
197
|
deleteSiteFromTheRecycleBin(url, wait, logger) {
|
|
214
|
-
return
|
|
215
|
-
spo_1.spo
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
logger,
|
|
248
|
-
currentContext: this.context,
|
|
249
|
-
debug: this.debug,
|
|
250
|
-
verbose: this.verbose
|
|
251
|
-
});
|
|
252
|
-
}, operation.PollingInterval);
|
|
253
|
-
}
|
|
198
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
199
|
+
this.context = yield spo_1.spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
200
|
+
const requestOptions = {
|
|
201
|
+
url: `${this.spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
202
|
+
headers: {
|
|
203
|
+
'X-RequestDigest': this.context.FormDigestValue
|
|
204
|
+
},
|
|
205
|
+
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="185" ObjectPathId="184" /><Query Id="186" ObjectPathId="184"><Query SelectAllProperties="false"><Properties><Property Name="IsComplete" ScalarProperty="true" /><Property Name="PollingInterval" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Method Id="184" ParentId="175" Name="RemoveDeletedSite"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(url)}</Parameter></Parameters></Method><Constructor Id="175" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
|
|
206
|
+
};
|
|
207
|
+
const response = yield request_1.default.post(requestOptions);
|
|
208
|
+
const json = JSON.parse(response);
|
|
209
|
+
const responseContent = json[0];
|
|
210
|
+
if (responseContent.ErrorInfo) {
|
|
211
|
+
throw responseContent.ErrorInfo.ErrorMessage;
|
|
212
|
+
}
|
|
213
|
+
const operation = json[json.length - 1];
|
|
214
|
+
const isComplete = operation.IsComplete;
|
|
215
|
+
if (!wait || isComplete) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
yield new Promise((resolve, reject) => {
|
|
219
|
+
setTimeout(() => {
|
|
220
|
+
spo_1.spo.waitUntilFinished({
|
|
221
|
+
operationId: JSON.stringify(operation._ObjectIdentity_),
|
|
222
|
+
siteUrl: this.spoAdminUrl,
|
|
223
|
+
resolve,
|
|
224
|
+
reject,
|
|
225
|
+
logger,
|
|
226
|
+
currentContext: this.context,
|
|
227
|
+
debug: this.debug,
|
|
228
|
+
verbose: this.verbose
|
|
229
|
+
});
|
|
230
|
+
}, operation.PollingInterval);
|
|
254
231
|
});
|
|
255
232
|
});
|
|
256
233
|
}
|
|
257
234
|
getSiteGroupId(url, logger) {
|
|
258
|
-
return
|
|
259
|
-
.getSpoAdminUrl(logger, this.debug)
|
|
260
|
-
.
|
|
261
|
-
this.spoAdminUrl = _spoAdminUrl;
|
|
262
|
-
return spo_1.spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
263
|
-
})
|
|
264
|
-
.then((res) => {
|
|
265
|
-
this.context = res;
|
|
235
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
236
|
+
this.spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
|
|
237
|
+
this.context = yield spo_1.spo.ensureFormDigest(this.spoAdminUrl, logger, this.context, this.debug);
|
|
266
238
|
if (this.verbose) {
|
|
267
239
|
logger.logToStderr(`Retrieving the group Id of the site ${url}`);
|
|
268
240
|
}
|
|
@@ -273,18 +245,14 @@ class SpoSiteRemoveCommand extends SpoCommand_1.default {
|
|
|
273
245
|
},
|
|
274
246
|
data: `<Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009" AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}"><Actions><ObjectPath Id="4" ObjectPathId="3"/><Query Id="5" ObjectPathId="3"><Query SelectAllProperties="false"><Properties><Property Name="GroupId" ScalarProperty="true"/></Properties></Query></Query></Actions><ObjectPaths><Constructor Id="1" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}"/><Method Id="3" ParentId="1" Name="GetSitePropertiesByUrl"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(url)}</Parameter></Parameters></Method></ObjectPaths></Request>`
|
|
275
247
|
};
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
if (response.ErrorInfo) {
|
|
282
|
-
return Promise.reject(response.ErrorInfo.ErrorMessage);
|
|
283
|
-
}
|
|
284
|
-
else {
|
|
285
|
-
const groupId = json[json.length - 1].GroupId.replace('/Guid(', '').replace(')/', '');
|
|
286
|
-
return Promise.resolve(groupId);
|
|
248
|
+
const response = yield request_1.default.post(requestOptions);
|
|
249
|
+
const json = JSON.parse(response);
|
|
250
|
+
const responseContent = json[0];
|
|
251
|
+
if (responseContent.ErrorInfo) {
|
|
252
|
+
throw responseContent.ErrorInfo.ErrorMessage;
|
|
287
253
|
}
|
|
254
|
+
const groupId = json[json.length - 1].GroupId.replace('/Guid(', '').replace(')/', '');
|
|
255
|
+
return groupId;
|
|
288
256
|
});
|
|
289
257
|
}
|
|
290
258
|
deleteGroup(groupId, logger) {
|