@pnp/cli-microsoft365 6.9.0-beta.91abae4 → 6.9.0-beta.d8f8efb
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/cli/Cli.js +16 -0
- package/dist/m365/aad/commands/app/app-add.js +258 -249
- package/dist/m365/aad/commands/app/app-get.js +65 -62
- package/dist/m365/aad/commands/app/app-remove.js +22 -23
- package/dist/m365/aad/commands/app/app-role-add.js +35 -34
- package/dist/m365/aad/commands/app/app-role-list.js +22 -23
- package/dist/m365/aad/commands/app/app-role-remove.js +76 -73
- package/dist/m365/aad/commands/app/app-set.js +103 -103
- package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +16 -14
- package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +43 -52
- package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +20 -16
- package/dist/m365/aad/commands/o365group/o365group-add.js +40 -37
- package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +7 -6
- package/dist/m365/aad/commands/o365group/o365group-list.js +6 -11
- package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +7 -8
- package/dist/m365/aad/commands/o365group/o365group-teamify.js +15 -16
- package/dist/m365/aad/commands/o365group/o365group-user-list.js +17 -10
- package/dist/m365/aad/commands/o365group/o365group-user-set.js +17 -10
- package/dist/m365/aad/commands/policy/policy-list.js +12 -13
- package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +1 -3
- package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +19 -20
- package/dist/m365/aad/commands/sp/sp-add.js +22 -23
- package/dist/m365/aad/commands/sp/sp-get.js +22 -23
- package/dist/m365/cli/commands/config/config-set.js +1 -0
- package/dist/m365/commands/login.js +20 -0
- package/dist/m365/file/commands/convert/convert-pdf.js +147 -143
- package/dist/m365/file/commands/file-add.js +87 -93
- package/dist/m365/file/commands/file-list.js +49 -55
- package/dist/m365/onedrive/commands/onedrive-list.js +21 -32
- package/dist/m365/pa/commands/app/app-export.js +3 -4
- package/dist/m365/pa/commands/app/app-get.js +11 -9
- package/dist/m365/pa/commands/app/app-remove.js +1 -1
- package/dist/m365/pa/commands/pcf/pcf-init.js +1 -2
- package/dist/m365/pa/commands/solution/solution-init.js +1 -2
- package/dist/m365/pa/commands/solution/solution-reference-add.js +1 -2
- package/dist/m365/planner/commands/bucket/bucket-add.js +15 -13
- package/dist/m365/planner/commands/bucket/bucket-get.js +27 -28
- package/dist/m365/planner/commands/bucket/bucket-list.js +15 -13
- package/dist/m365/planner/commands/bucket/bucket-remove.js +33 -34
- package/dist/m365/planner/commands/bucket/bucket-set.js +33 -34
- package/dist/m365/planner/commands/plan/plan-add.js +49 -52
- package/dist/m365/planner/commands/plan/plan-set.js +19 -20
- package/dist/m365/planner/commands/task/task-add.js +75 -78
- package/dist/m365/planner/commands/task/task-checklistitem-add.js +11 -10
- package/dist/m365/planner/commands/task/task-checklistitem-remove.js +10 -8
- package/dist/m365/planner/commands/task/task-get.js +53 -56
- package/dist/m365/planner/commands/task/task-list.js +23 -24
- package/dist/m365/planner/commands/task/task-reference-add.js +11 -10
- package/dist/m365/planner/commands/task/task-reference-remove.js +13 -14
- package/dist/m365/planner/commands/task/task-remove.js +44 -48
- package/dist/m365/planner/commands/task/task-set.js +83 -87
- package/dist/m365/pp/commands/card/card-get.js +6 -1
- package/dist/m365/purview/commands/retentionevent/retentionevent-add.js +0 -5
- package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +0 -5
- package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +0 -5
- package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +0 -5
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +0 -5
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +0 -5
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +0 -5
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +0 -5
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +0 -5
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +0 -5
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-get.js +0 -5
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-list.js +0 -5
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-remove.js +19 -22
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-set.js +0 -5
- package/dist/m365/spfx/commands/project/JsonRule.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +1 -0
- package/dist/m365/spo/commands/app/app-teamspackage-download.js +17 -24
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +154 -0
- package/dist/m365/spo/commands/commandset/commandset-set.js +11 -2
- package/dist/m365/spo/commands/homesite/homesite-remove.js +1 -1
- package/dist/m365/spo/commands/list/list-sensitivitylabel-ensure.js +127 -0
- package/dist/m365/spo/commands/navigation/navigation-node-add.js +31 -1
- package/dist/m365/spo/commands/navigation/navigation-node-set.js +31 -2
- package/dist/m365/{teams/Message.js → spo/commands/tenant/Solution.js} +1 -1
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +156 -0
- package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +215 -0
- package/dist/m365/spo/commands/tenant/tenant-commandset-get.js +114 -0
- package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +50 -0
- package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +1 -1
- package/dist/m365/spo/commands.js +6 -0
- package/dist/settingsNames.js +1 -0
- package/dist/utils/md.js +1 -3
- package/dist/utils/spo.js +60 -0
- package/docs/docs/cmd/aad/app/app-add.mdx +113 -0
- package/docs/docs/cmd/aad/app/app-get.mdx +217 -0
- package/docs/docs/cmd/aad/app/app-list.mdx +21 -0
- package/docs/docs/cmd/aad/app/app-role-add.mdx +4 -0
- package/docs/docs/cmd/aad/app/app-role-list.mdx +63 -0
- package/docs/docs/cmd/aad/app/app-role-remove.mdx +4 -0
- package/docs/docs/cmd/aad/app/app-set.mdx +4 -0
- package/docs/docs/cmd/aad/approleassignment/approleassignment-add.mdx +61 -0
- package/docs/docs/cmd/aad/approleassignment/approleassignment-list.mdx +59 -0
- package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.mdx +4 -0
- package/docs/docs/cmd/aad/group/group-get.mdx +24 -0
- package/docs/docs/cmd/aad/group/group-list.mdx +98 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-add.mdx +114 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-get.mdx +115 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-list.mdx +115 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-remove.mdx +4 -0
- package/docs/docs/cmd/aad/groupsetting/groupsetting-set.mdx +4 -0
- package/docs/docs/cmd/aad/groupsettingtemplate/groupsettingtemplate-get.mdx +63 -0
- package/docs/docs/cmd/aad/groupsettingtemplate/groupsettingtemplate-list.mdx +63 -0
- package/docs/docs/cmd/aad/o365group/o365group-add.mdx +122 -0
- package/docs/docs/cmd/aad/o365group/o365group-conversation-list.mdx +68 -0
- package/docs/docs/cmd/aad/o365group/o365group-conversation-post-list.mdx +77 -0
- package/docs/docs/cmd/aad/o365group/o365group-get.mdx +122 -0
- package/docs/docs/cmd/aad/o365group/o365group-list.mdx +99 -0
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-clear.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-list.mdx +96 -0
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-remove.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-remove.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-renew.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activitycounts.mdx +48 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activitydetail.mdx +60 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activityfilecounts.mdx +46 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activitygroupcounts.mdx +46 -0
- package/docs/docs/cmd/aad/o365group/o365group-report-activitystorage.mdx +46 -0
- package/docs/docs/cmd/aad/o365group/o365group-set.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-teamify.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-user-add.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-user-list.mdx +56 -0
- package/docs/docs/cmd/aad/o365group/o365group-user-remove.mdx +4 -0
- package/docs/docs/cmd/aad/o365group/o365group-user-set.mdx +8 -4
- package/docs/docs/cmd/aad/oauth2grant/oauth2grant-add.mdx +4 -0
- package/docs/docs/cmd/aad/oauth2grant/oauth2grant-list.mdx +59 -0
- package/docs/docs/cmd/aad/oauth2grant/oauth2grant-remove.mdx +4 -0
- package/docs/docs/cmd/aad/oauth2grant/oauth2grant-set.mdx +4 -0
- package/docs/docs/cmd/aad/policy/policy-list.mdx +77 -0
- package/docs/docs/cmd/aad/siteclassification/siteclassification-disable.mdx +4 -0
- package/docs/docs/cmd/aad/siteclassification/siteclassification-enable.mdx +4 -0
- package/docs/docs/cmd/aad/siteclassification/siteclassification-get.mdx +57 -0
- package/docs/docs/cmd/aad/siteclassification/siteclassification-set.mdx +4 -0
- package/docs/docs/cmd/aad/sp/sp-add.mdx +136 -0
- package/docs/docs/cmd/aad/sp/sp-get.mdx +166 -0
- package/docs/docs/cmd/aad/user/user-get.mdx +75 -0
- package/docs/docs/cmd/aad/user/user-guest-add.mdx +23 -0
- package/docs/docs/cmd/aad/user/user-hibp.mdx +82 -0
- package/docs/docs/cmd/aad/user/user-license-add.mdx +2 -2
- package/docs/docs/cmd/aad/user/user-license-remove.mdx +2 -2
- package/docs/docs/cmd/aad/user/user-list.mdx +52 -0
- package/docs/docs/cmd/aad/user/user-password-validate.mdx +67 -0
- package/docs/docs/cmd/aad/user/user-signin-list.mdx +131 -0
- package/docs/docs/cmd/login.mdx +39 -0
- package/docs/docs/cmd/purview/retentionevent/retentionevent-add.mdx +0 -6
- package/docs/docs/cmd/purview/retentionevent/retentionevent-get.mdx +0 -6
- package/docs/docs/cmd/purview/retentionevent/retentionevent-list.mdx +0 -7
- package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.mdx +0 -6
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-get.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-list.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-remove.mdx +0 -6
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.mdx +0 -6
- package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-set.mdx +72 -0
- package/docs/docs/cmd/spo/commandset/commandset-set.mdx +12 -3
- package/docs/docs/cmd/spo/list/list-sensitivitylabel-ensure.mdx +64 -0
- package/docs/docs/cmd/spo/navigation/navigation-node-add.mdx +7 -4
- package/docs/docs/cmd/spo/navigation/navigation-node-set.mdx +9 -0
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +81 -0
- package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +183 -0
- package/docs/docs/cmd/spo/tenant/tenant-commandset-get.mdx +155 -0
- package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +114 -0
- package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
- package/docs/docs/cmd/status.mdx +6 -3
- package/package.json +1 -1
- package/dist/m365/aad/commands/approleassignment/AppRoleAssignment.js +0 -3
- package/dist/m365/aad/commands/approleassignment/ServicePrincipal.js +0 -3
- package/dist/m365/aad/commands/groupsetting/GroupSetting.js +0 -3
- package/dist/m365/aad/commands/groupsettingtemplate/GroupSettingTemplate.js +0 -3
- package/dist/m365/aad/commands/siteclassification/DirectorySetting.js +0 -10
- package/dist/m365/aad/commands/siteclassification/DirectorySettingTemplatesRsp.js +0 -3
- package/dist/m365/aad/commands/siteclassification/DirectorySettingValue.js +0 -3
- package/dist/m365/outlook/Message.js +0 -3
- package/dist/m365/spo/commands/site/SitePermission.js +0 -3
- package/dist/m365/teams/Channel.js +0 -3
- package/dist/m365/teams/ConversationMember.js +0 -3
- package/dist/m365/teams/Reply.js +0 -3
- package/dist/m365/teams/Tab.js +0 -3
- package/dist/m365/teams/Team.js +0 -3
- package/dist/m365/teams/TeamsApp.js +0 -3
- package/dist/m365/teams/TeamsAppInstallation.js +0 -3
- package/dist/m365/teams/TeamsTabConfiguration.js +0 -3
- package/dist/m365/teams/commands/Meeting.js +0 -3
|
@@ -95,19 +95,18 @@ class FileListCommand extends GraphCommand_1.default {
|
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
getDocumentLibrary(siteId, folderUrl, folderUrlFromUser, logger) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
.get(requestOptions)
|
|
110
|
-
.then((drives) => {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
if (this.verbose) {
|
|
100
|
+
logger.logToStderr(`Getting document library...`);
|
|
101
|
+
}
|
|
102
|
+
const requestOptions = {
|
|
103
|
+
url: `${this.resource}/v1.0/sites/${siteId}/drives?$select=webUrl,id`,
|
|
104
|
+
headers: {
|
|
105
|
+
accept: 'application/json;odata.metadata=none'
|
|
106
|
+
},
|
|
107
|
+
responseType: 'json'
|
|
108
|
+
};
|
|
109
|
+
const drives = yield request_1.default.get(requestOptions);
|
|
111
110
|
const lowerCaseFolderUrl = folderUrl.href.toLowerCase();
|
|
112
111
|
const drive = drives.value
|
|
113
112
|
.sort((a, b) => b.webUrl.localeCompare(a.webUrl))
|
|
@@ -119,29 +118,28 @@ class FileListCommand extends GraphCommand_1.default {
|
|
|
119
118
|
lowerCaseFolderUrl[driveUrl.length] === '/');
|
|
120
119
|
});
|
|
121
120
|
if (!drive) {
|
|
122
|
-
|
|
121
|
+
throw `Document library '${folderUrlFromUser}' not found`;
|
|
123
122
|
}
|
|
124
123
|
if (this.verbose) {
|
|
125
124
|
logger.logToStderr(`Document library: ${drive.webUrl}, ${drive.id}`);
|
|
126
125
|
}
|
|
127
|
-
return
|
|
126
|
+
return drive;
|
|
128
127
|
});
|
|
129
128
|
}
|
|
130
129
|
getStartingFolderId(documentLibrary, folderUrl, logger) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
.get(requestOptions)
|
|
144
|
-
.then((folder) => {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
if (this.verbose) {
|
|
132
|
+
logger.logToStderr(`Getting starting folder id...`);
|
|
133
|
+
}
|
|
134
|
+
const documentLibraryRelativeFolderUrl = folderUrl.href.replace(new RegExp(documentLibrary.webUrl, 'i'), '');
|
|
135
|
+
const requestOptions = {
|
|
136
|
+
url: `${this.resource}/v1.0/drives/${documentLibrary.id}/root${documentLibraryRelativeFolderUrl.length > 0 ? `:${documentLibraryRelativeFolderUrl}` : ''}?$select=id`,
|
|
137
|
+
headers: {
|
|
138
|
+
accept: 'application/json;odata.metadata=none'
|
|
139
|
+
},
|
|
140
|
+
responseType: 'json'
|
|
141
|
+
};
|
|
142
|
+
const folder = yield request_1.default.get(requestOptions);
|
|
145
143
|
if (this.verbose) {
|
|
146
144
|
logger.logToStderr(`Starting folder id: ${folder.id}`);
|
|
147
145
|
}
|
|
@@ -149,37 +147,33 @@ class FileListCommand extends GraphCommand_1.default {
|
|
|
149
147
|
});
|
|
150
148
|
}
|
|
151
149
|
loadFoldersToGetFilesFrom(folderId, driveId, recursive) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
.get(requestOptions)
|
|
164
|
-
.then((subfolders) => {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
if (!recursive) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const requestOptions = {
|
|
155
|
+
url: `${this.resource}/v1.0/drives/${driveId}/items('${folderId}')/children?$filter=folder ne null&$select=id`,
|
|
156
|
+
headers: {
|
|
157
|
+
accept: 'application/json;odata.metadata=none'
|
|
158
|
+
},
|
|
159
|
+
responseType: 'json'
|
|
160
|
+
};
|
|
161
|
+
const subfolders = yield request_1.default.get(requestOptions);
|
|
165
162
|
const subfolderIds = subfolders.value.map((subfolder) => subfolder.id);
|
|
166
163
|
this.foldersToGetFilesFrom = this.foldersToGetFilesFrom.concat(subfolderIds);
|
|
167
|
-
|
|
168
|
-
.all(subfolderIds.map((subfolderId) => this.loadFoldersToGetFilesFrom(subfolderId, driveId, recursive)))
|
|
169
|
-
.then(_ => Promise.resolve());
|
|
164
|
+
yield Promise.all(subfolderIds.map((subfolderId) => this.loadFoldersToGetFilesFrom(subfolderId, driveId, recursive)));
|
|
170
165
|
});
|
|
171
166
|
}
|
|
172
167
|
loadFilesFromFolders(driveId, folderIds, logger) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
.all(folderIds.map((folderId) =>
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
.then(res => {
|
|
168
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
169
|
+
if (this.verbose) {
|
|
170
|
+
logger.logToStderr(`Loading files from folders...`);
|
|
171
|
+
}
|
|
172
|
+
let files = [];
|
|
173
|
+
const res = yield Promise.all(folderIds.map((folderId) =>
|
|
174
|
+
// get items from folder. Because we can't filter out folders here
|
|
175
|
+
// we need to get all items from the folder and filter them out later
|
|
176
|
+
odata_1.odata.getAllItems(`${this.resource}/v1.0/drives/${driveId}/items/${folderId}/children`)));
|
|
183
177
|
// flatten data from all promises
|
|
184
178
|
files = files.concat(...res);
|
|
185
179
|
// remove folders from the list of files
|
|
@@ -41,39 +41,28 @@ class OneDriveListCommand extends SpoCommand_1.default {
|
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
getAllSites(spoAdminUrl, startIndex, formDigest, logger) {
|
|
44
|
-
return
|
|
45
|
-
spo_1.spo
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
else {
|
|
65
|
-
const sites = json[json.length - 1];
|
|
66
|
-
this.allSites.push(...sites._Child_Items_);
|
|
67
|
-
if (sites.NextStartIndexFromSharePoint) {
|
|
68
|
-
this
|
|
69
|
-
.getAllSites(spoAdminUrl, sites.NextStartIndexFromSharePoint, formDigest, logger)
|
|
70
|
-
.then(_ => resolve(), err => reject(err));
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
resolve();
|
|
74
|
-
}
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const formDigestInfo = yield spo_1.spo.ensureFormDigest(spoAdminUrl, logger, formDigest, this.debug);
|
|
46
|
+
const requestOptions = {
|
|
47
|
+
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
48
|
+
headers: {
|
|
49
|
+
'X-RequestDigest': formDigestInfo.FormDigestValue
|
|
50
|
+
},
|
|
51
|
+
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="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="IncludeDetail" Type="Boolean">false</Property><Property Name="IncludePersonalSite" Type="Enum">1</Property><Property Name="StartIndex" Type="String">${startIndex}</Property><Property Name="Template" Type="String">SPSPERS</Property></Parameter></Parameters></Method></ObjectPaths></Request>`
|
|
52
|
+
};
|
|
53
|
+
const res = yield request_1.default.post(requestOptions);
|
|
54
|
+
const json = JSON.parse(res);
|
|
55
|
+
const response = json[0];
|
|
56
|
+
if (response.ErrorInfo) {
|
|
57
|
+
throw (response.ErrorInfo.ErrorMessage);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const sites = json[json.length - 1];
|
|
61
|
+
this.allSites.push(...sites._Child_Items_);
|
|
62
|
+
if (sites.NextStartIndexFromSharePoint) {
|
|
63
|
+
yield this.getAllSites(spoAdminUrl, sites.NextStartIndexFromSharePoint, formDigest, logger);
|
|
75
64
|
}
|
|
76
|
-
}
|
|
65
|
+
}
|
|
77
66
|
});
|
|
78
67
|
}
|
|
79
68
|
}
|
|
@@ -22,6 +22,7 @@ const path = require("path");
|
|
|
22
22
|
const formatting_1 = require("../../../../utils/formatting");
|
|
23
23
|
const request_1 = require("../../../../request");
|
|
24
24
|
const PowerPlatformCommand_1 = require("../../../base/PowerPlatformCommand");
|
|
25
|
+
const promises_1 = require("timers/promises");
|
|
25
26
|
class PaAppExportCommand extends PowerPlatformCommand_1.default {
|
|
26
27
|
get name() {
|
|
27
28
|
return commands_1.default.APP_EXPORT;
|
|
@@ -32,6 +33,7 @@ class PaAppExportCommand extends PowerPlatformCommand_1.default {
|
|
|
32
33
|
constructor() {
|
|
33
34
|
super();
|
|
34
35
|
_PaAppExportCommand_instances.add(this);
|
|
36
|
+
this.pollingInterval = 5000;
|
|
35
37
|
__classPrivateFieldGet(this, _PaAppExportCommand_instances, "m", _PaAppExportCommand_initTelemetry).call(this);
|
|
36
38
|
__classPrivateFieldGet(this, _PaAppExportCommand_instances, "m", _PaAppExportCommand_initOptions).call(this);
|
|
37
39
|
__classPrivateFieldGet(this, _PaAppExportCommand_instances, "m", _PaAppExportCommand_initValidators).call(this);
|
|
@@ -144,7 +146,7 @@ class PaAppExportCommand extends PowerPlatformCommand_1.default {
|
|
|
144
146
|
link = response.properties.packageLink.value;
|
|
145
147
|
}
|
|
146
148
|
else {
|
|
147
|
-
|
|
149
|
+
(0, promises_1.setTimeout)(this.pollingInterval);
|
|
148
150
|
}
|
|
149
151
|
if (this.verbose) {
|
|
150
152
|
logger.logToStderr(`Current status of the get package link: ${status}`);
|
|
@@ -153,9 +155,6 @@ class PaAppExportCommand extends PowerPlatformCommand_1.default {
|
|
|
153
155
|
return link;
|
|
154
156
|
});
|
|
155
157
|
}
|
|
156
|
-
sleep(ms) {
|
|
157
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
158
|
-
}
|
|
159
158
|
}
|
|
160
159
|
_PaAppExportCommand_instances = new WeakSet(), _PaAppExportCommand_initTelemetry = function _PaAppExportCommand_initTelemetry() {
|
|
161
160
|
this.telemetry.push((args) => {
|
|
@@ -89,15 +89,17 @@ class PaAppGetCommand extends PowerAppsCommand_1.default {
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
getApps(args, logger) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
if (this.verbose) {
|
|
94
|
+
logger.logToStderr(`Retrieving all apps...`);
|
|
95
|
+
}
|
|
96
|
+
const options = {
|
|
97
|
+
output: 'json',
|
|
98
|
+
debug: this.debug,
|
|
99
|
+
verbose: this.verbose
|
|
100
|
+
};
|
|
101
|
+
return yield Cli_1.Cli.executeCommandWithOutput(paAppListCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
|
|
102
|
+
});
|
|
101
103
|
}
|
|
102
104
|
setProperties(app) {
|
|
103
105
|
app.displayName = app.properties.displayName;
|
|
@@ -44,7 +44,7 @@ class PaAppRemoveCommand extends PowerAppsCommand_1.default {
|
|
|
44
44
|
const removePaApp = () => __awaiter(this, void 0, void 0, function* () {
|
|
45
45
|
const requestOptions = {
|
|
46
46
|
url: `${this.resource}/providers/Microsoft.PowerApps/apps/${formatting_1.formatting.encodeQueryParameter(args.options.name)}?api-version=2017-08-01`,
|
|
47
|
-
|
|
47
|
+
fullResponse: true,
|
|
48
48
|
headers: {
|
|
49
49
|
accept: 'application/json'
|
|
50
50
|
},
|
|
@@ -19,7 +19,6 @@ const chalk = require("chalk");
|
|
|
19
19
|
const fs = require("fs");
|
|
20
20
|
const path = require("path");
|
|
21
21
|
const uuid_1 = require("uuid");
|
|
22
|
-
const Command_1 = require("../../../../Command");
|
|
23
22
|
const validation_1 = require("../../../../utils/validation");
|
|
24
23
|
const AnonymousCommand_1 = require("../../../base/AnonymousCommand");
|
|
25
24
|
const commands_1 = require("../../commands");
|
|
@@ -77,7 +76,7 @@ class PaPcfInitCommand extends AnonymousCommand_1.default {
|
|
|
77
76
|
logger.log(`Be sure to run '${chalk.grey('npm install')}' in this directory to install project dependencies.`);
|
|
78
77
|
}
|
|
79
78
|
catch (err) {
|
|
80
|
-
throw
|
|
79
|
+
throw err;
|
|
81
80
|
}
|
|
82
81
|
});
|
|
83
82
|
}
|
|
@@ -19,7 +19,6 @@ const chalk = require("chalk");
|
|
|
19
19
|
const fs = require("fs");
|
|
20
20
|
const path = require("path");
|
|
21
21
|
const uuid_1 = require("uuid");
|
|
22
|
-
const Command_1 = require("../../../../Command");
|
|
23
22
|
const validation_1 = require("../../../../utils/validation");
|
|
24
23
|
const AnonymousCommand_1 = require("../../../base/AnonymousCommand");
|
|
25
24
|
const commands_1 = require("../../commands");
|
|
@@ -89,7 +88,7 @@ class PaSolutionInitCommand extends AnonymousCommand_1.default {
|
|
|
89
88
|
}
|
|
90
89
|
}
|
|
91
90
|
catch (err) {
|
|
92
|
-
throw
|
|
91
|
+
throw err;
|
|
93
92
|
}
|
|
94
93
|
});
|
|
95
94
|
}
|
|
@@ -17,7 +17,6 @@ var _PaSolutionReferenceAddCommand_instances, _PaSolutionReferenceAddCommand_ini
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const fs = require("fs");
|
|
19
19
|
const path = require("path");
|
|
20
|
-
const Command_1 = require("../../../../Command");
|
|
21
20
|
const AnonymousCommand_1 = require("../../../base/AnonymousCommand");
|
|
22
21
|
const cds_project_mutator_1 = require("../../cds-project-mutator");
|
|
23
22
|
const commands_1 = require("../../commands");
|
|
@@ -51,7 +50,7 @@ class PaSolutionReferenceAddCommand extends AnonymousCommand_1.default {
|
|
|
51
50
|
fs.writeFileSync(cdsProjectFilePath, cdsProjectMutator.cdsProjectDocument);
|
|
52
51
|
}
|
|
53
52
|
catch (err) {
|
|
54
|
-
throw
|
|
53
|
+
throw err;
|
|
55
54
|
}
|
|
56
55
|
});
|
|
57
56
|
}
|
|
@@ -64,21 +64,23 @@ class PlannerBucketAddCommand extends GraphCommand_1.default {
|
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
getPlanId(args) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
.getGroupId(args)
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
if (args.options.planId) {
|
|
69
|
+
return args.options.planId;
|
|
70
|
+
}
|
|
71
|
+
const groupId = yield this.getGroupId(args);
|
|
72
|
+
const plan = yield planner_1.planner.getPlanByTitle(args.options.planTitle, groupId);
|
|
73
|
+
return plan.id;
|
|
74
|
+
});
|
|
74
75
|
}
|
|
75
76
|
getGroupId(args) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
.getGroupByDisplayName(args.options.ownerGroupName)
|
|
81
|
-
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
if (args.options.ownerGroupId) {
|
|
79
|
+
return args.options.ownerGroupId;
|
|
80
|
+
}
|
|
81
|
+
const group = yield aadGroup_1.aadGroup.getGroupByDisplayName(args.options.ownerGroupName);
|
|
82
|
+
return group.id;
|
|
83
|
+
});
|
|
82
84
|
}
|
|
83
85
|
}
|
|
84
86
|
_PlannerBucketAddCommand_instances = new WeakSet(), _PlannerBucketAddCommand_initTelemetry = function _PlannerBucketAddCommand_initTelemetry() {
|
|
@@ -49,13 +49,12 @@ class PlannerBucketGetCommand extends GraphCommand_1.default {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
getBucketId(args) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
.getPlanId(args)
|
|
58
|
-
.then((planId) => {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const { id, name } = args.options;
|
|
54
|
+
if (id) {
|
|
55
|
+
return id;
|
|
56
|
+
}
|
|
57
|
+
const planId = yield this.getPlanId(args);
|
|
59
58
|
const requestOptions = {
|
|
60
59
|
url: `${this.resource}/v1.0/planner/plans/${planId}/buckets`,
|
|
61
60
|
headers: {
|
|
@@ -63,28 +62,27 @@ class PlannerBucketGetCommand extends GraphCommand_1.default {
|
|
|
63
62
|
},
|
|
64
63
|
responseType: 'json'
|
|
65
64
|
};
|
|
66
|
-
|
|
67
|
-
})
|
|
68
|
-
.then(buckets => {
|
|
65
|
+
const buckets = yield request_1.default.get(requestOptions);
|
|
69
66
|
const filteredBuckets = buckets.value.filter(b => name.toLowerCase() === b.name.toLowerCase());
|
|
70
67
|
if (!filteredBuckets.length) {
|
|
71
|
-
|
|
68
|
+
throw `The specified bucket ${name} does not exist`;
|
|
72
69
|
}
|
|
73
70
|
if (filteredBuckets.length > 1) {
|
|
74
|
-
|
|
71
|
+
throw `Multiple buckets with name ${name} found: ${filteredBuckets.map(x => x.id)}`;
|
|
75
72
|
}
|
|
76
|
-
return
|
|
73
|
+
return filteredBuckets[0].id.toString();
|
|
77
74
|
});
|
|
78
75
|
}
|
|
79
76
|
getPlanId(args) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
.getGroupId(args)
|
|
86
|
-
|
|
87
|
-
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
const { planId, planTitle } = args.options;
|
|
79
|
+
if (planId) {
|
|
80
|
+
return planId;
|
|
81
|
+
}
|
|
82
|
+
const groupId = yield this.getGroupId(args);
|
|
83
|
+
const plan = yield planner_1.planner.getPlanByTitle(planTitle, groupId);
|
|
84
|
+
return plan.id;
|
|
85
|
+
});
|
|
88
86
|
}
|
|
89
87
|
getBucketById(id) {
|
|
90
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -99,13 +97,14 @@ class PlannerBucketGetCommand extends GraphCommand_1.default {
|
|
|
99
97
|
});
|
|
100
98
|
}
|
|
101
99
|
getGroupId(args) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
.getGroupByDisplayName(ownerGroupName)
|
|
108
|
-
|
|
100
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
const { ownerGroupId, ownerGroupName } = args.options;
|
|
102
|
+
if (ownerGroupId) {
|
|
103
|
+
return ownerGroupId;
|
|
104
|
+
}
|
|
105
|
+
const group = yield aadGroup_1.aadGroup.getGroupByDisplayName(ownerGroupName);
|
|
106
|
+
return group.id;
|
|
107
|
+
});
|
|
109
108
|
}
|
|
110
109
|
}
|
|
111
110
|
_PlannerBucketGetCommand_instances = new WeakSet(), _PlannerBucketGetCommand_initTelemetry = function _PlannerBucketGetCommand_initTelemetry() {
|
|
@@ -52,21 +52,23 @@ class PlannerBucketListCommand extends GraphCommand_1.default {
|
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
getPlanId(args) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
.getGroupId(args)
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
if (args.options.planId) {
|
|
57
|
+
return args.options.planId;
|
|
58
|
+
}
|
|
59
|
+
const groupId = yield this.getGroupId(args);
|
|
60
|
+
const plan = yield planner_1.planner.getPlanByTitle(args.options.planTitle, groupId);
|
|
61
|
+
return plan.id;
|
|
62
|
+
});
|
|
62
63
|
}
|
|
63
64
|
getGroupId(args) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
.getGroupByDisplayName(args.options.ownerGroupName)
|
|
69
|
-
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
if (args.options.ownerGroupId) {
|
|
67
|
+
return args.options.ownerGroupId;
|
|
68
|
+
}
|
|
69
|
+
const group = yield aadGroup_1.aadGroup.getGroupByDisplayName(args.options.ownerGroupName);
|
|
70
|
+
return group.id;
|
|
71
|
+
});
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
_PlannerBucketListCommand_instances = new WeakSet(), _PlannerBucketListCommand_initTelemetry = function _PlannerBucketListCommand_initTelemetry() {
|
|
@@ -73,19 +73,18 @@ class PlannerBucketRemoveCommand extends GraphCommand_1.default {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
getBucket(args) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
.getPlanId(args)
|
|
88
|
-
.then(planId => {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
if (args.options.id) {
|
|
78
|
+
const requestOptions = {
|
|
79
|
+
url: `${this.resource}/v1.0/planner/buckets/${args.options.id}`,
|
|
80
|
+
headers: {
|
|
81
|
+
accept: 'application/json'
|
|
82
|
+
},
|
|
83
|
+
responseType: 'json'
|
|
84
|
+
};
|
|
85
|
+
return yield request_1.default.get(requestOptions);
|
|
86
|
+
}
|
|
87
|
+
const planId = yield this.getPlanId(args);
|
|
89
88
|
const requestOptions = {
|
|
90
89
|
url: `${this.resource}/v1.0/planner/plans/${planId}/buckets`,
|
|
91
90
|
headers: {
|
|
@@ -93,37 +92,37 @@ class PlannerBucketRemoveCommand extends GraphCommand_1.default {
|
|
|
93
92
|
},
|
|
94
93
|
responseType: 'json'
|
|
95
94
|
};
|
|
96
|
-
|
|
97
|
-
})
|
|
98
|
-
.then(buckets => {
|
|
95
|
+
const buckets = yield request_1.default.get(requestOptions);
|
|
99
96
|
const filteredBuckets = buckets.value.filter(b => args.options.name.toLowerCase() === b.name.toLowerCase());
|
|
100
97
|
if (!filteredBuckets.length) {
|
|
101
|
-
|
|
98
|
+
throw `The specified bucket ${args.options.name} does not exist`;
|
|
102
99
|
}
|
|
103
100
|
if (filteredBuckets.length > 1) {
|
|
104
|
-
|
|
101
|
+
throw `Multiple buckets with name ${args.options.name} found: ${filteredBuckets.map(x => x.id)}`;
|
|
105
102
|
}
|
|
106
|
-
return
|
|
103
|
+
return filteredBuckets[0];
|
|
107
104
|
});
|
|
108
105
|
}
|
|
109
106
|
getPlanId(args) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
.getGroupId(args)
|
|
116
|
-
|
|
117
|
-
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const { planId, planTitle } = args.options;
|
|
109
|
+
if (planId) {
|
|
110
|
+
return planId;
|
|
111
|
+
}
|
|
112
|
+
const groupId = yield this.getGroupId(args);
|
|
113
|
+
const plan = yield planner_1.planner.getPlanByTitle(planTitle, groupId);
|
|
114
|
+
return plan.id;
|
|
115
|
+
});
|
|
118
116
|
}
|
|
119
117
|
getGroupId(args) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
.getGroupByDisplayName(ownerGroupName)
|
|
126
|
-
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
const { ownerGroupId, ownerGroupName } = args.options;
|
|
120
|
+
if (ownerGroupId) {
|
|
121
|
+
return ownerGroupId;
|
|
122
|
+
}
|
|
123
|
+
const group = yield aadGroup_1.aadGroup.getGroupByDisplayName(ownerGroupName);
|
|
124
|
+
return group.id;
|
|
125
|
+
});
|
|
127
126
|
}
|
|
128
127
|
}
|
|
129
128
|
_PlannerBucketRemoveCommand_instances = new WeakSet(), _PlannerBucketRemoveCommand_initTelemetry = function _PlannerBucketRemoveCommand_initTelemetry() {
|