@pnp/cli-microsoft365 6.3.0 → 6.4.0-beta.140530d
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/.devcontainer/Dockerfile +5 -2
- package/.eslintrc.js +4 -0
- package/Dockerfile +6 -3
- package/README.md +12 -1
- package/dist/Auth.js +1 -3
- package/dist/Command.js +1 -0
- package/dist/m365/aad/commands/user/user-get.js +3 -0
- package/dist/m365/aad/commands/user/user-license-remove.js +2 -1
- package/dist/m365/aad/commands/user/user-recyclebinitem-restore.js +2 -9
- package/dist/m365/aad/commands/user/user-set.js +3 -0
- package/dist/m365/aad/commands/user/user-signin-list.js +3 -0
- package/dist/m365/file/commands/file-list.js +5 -1
- package/dist/m365/flow/commands/flow-disable.js +9 -2
- package/dist/m365/flow/commands/flow-enable.js +9 -2
- package/dist/m365/flow/commands/flow-get.js +9 -2
- package/dist/m365/flow/commands/flow-list.js +1 -1
- package/dist/m365/flow/commands/flow-remove.js +2 -2
- package/dist/m365/flow/commands/owner/owner-ensure.js +147 -0
- package/dist/m365/flow/commands/owner/owner-list.js +89 -0
- package/dist/m365/flow/commands/owner/owner-remove.js +147 -0
- package/dist/m365/flow/commands/run/run-cancel.js +9 -2
- package/dist/m365/flow/commands/run/run-list.js +5 -2
- package/dist/m365/flow/commands.js +3 -0
- package/dist/m365/planner/commands/roster/roster-member-add.js +3 -0
- package/dist/m365/planner/commands/roster/roster-member-get.js +98 -0
- package/dist/m365/planner/commands.js +1 -0
- package/dist/m365/purview/commands/retentionevent/retentionevent-add.js +138 -0
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +48 -14
- package/dist/m365/purview/commands.js +1 -0
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.17.0-beta.1.js +59 -0
- package/dist/m365/spfx/commands/project/project-upgrade.js +16 -13
- package/dist/m365/spfx/commands/spfx-doctor.js +43 -29
- package/dist/m365/spo/commands/commandset/commandset-add.js +138 -0
- package/dist/m365/spo/commands/commandset/commandset-get.js +128 -0
- package/dist/m365/spo/commands/commandset/commandset-list.js +77 -0
- package/dist/m365/spo/commands/commandset/commandset-remove.js +146 -0
- package/dist/m365/spo/commands/commandset/commandset-set.js +182 -0
- package/dist/m365/spo/commands/customaction/customaction-get.js +27 -7
- package/dist/m365/spo/commands/file/file-move.js +1 -1
- package/dist/m365/spo/commands/group/group-member-add.js +54 -95
- package/dist/m365/spo/commands/list/list-add.js +11 -8
- package/dist/m365/spo/commands/list/list-set.js +3 -3
- package/dist/m365/spo/commands/navigation/navigation-node-add.js +5 -4
- package/dist/m365/spo/commands/navigation/navigation-node-set.js +5 -1
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +118 -0
- package/dist/m365/spo/commands/term/term-get.js +68 -48
- package/dist/m365/spo/commands/user/user-ensure.js +105 -0
- package/dist/m365/spo/commands.js +7 -0
- package/dist/m365/todo/commands/task/task-add.js +35 -3
- package/dist/utils/aadGroup.js +18 -0
- package/dist/utils/aadUser.js +37 -0
- package/dist/utils/md.js +7 -0
- package/dist/utils/spo.js +32 -0
- package/docs/docs/cmd/aad/app/app-add.md +3 -3
- package/docs/docs/cmd/aad/approleassignment/approleassignment-add.md +5 -5
- package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.md +3 -3
- package/docs/docs/cmd/aad/user/user-remove.md +1 -1
- package/docs/docs/cmd/cli/completion/completion-clink-update.md +4 -4
- package/docs/docs/cmd/flow/owner/owner-ensure.md +61 -0
- package/docs/docs/cmd/flow/owner/owner-list.md +90 -0
- package/docs/docs/cmd/flow/owner/owner-remove.md +67 -0
- package/docs/docs/cmd/flow/run/run-list.md +28 -0
- package/docs/docs/cmd/onenote/page/page-list.md +1 -1
- package/docs/docs/cmd/outlook/mail/mail-send.md +7 -3
- package/docs/docs/cmd/outlook/message/message-get.md +143 -0
- package/docs/docs/cmd/outlook/message/message-list.md +119 -0
- package/docs/docs/cmd/outlook/message/message-move.md +4 -0
- package/docs/docs/cmd/outlook/report/report-mailactivitycounts.md +40 -0
- package/docs/docs/cmd/outlook/report/report-mailactivityusercounts.md +40 -0
- package/docs/docs/cmd/outlook/report/report-mailactivityuserdetail.md +45 -0
- package/docs/docs/cmd/outlook/report/report-mailappusageappsusercounts.md +43 -0
- package/docs/docs/cmd/outlook/report/report-mailappusageusercounts.md +44 -0
- package/docs/docs/cmd/outlook/report/report-mailappusageuserdetail.md +48 -0
- package/docs/docs/cmd/outlook/report/report-mailappusageversionsusercounts.md +41 -0
- package/docs/docs/cmd/outlook/report/report-mailboxusagedetail.md +49 -0
- package/docs/docs/cmd/outlook/report/report-mailboxusagemailboxcount.md +37 -0
- package/docs/docs/cmd/outlook/report/report-mailboxusagequotastatusmailboxcounts.md +40 -0
- package/docs/docs/cmd/outlook/report/report-mailboxusagestorage.md +36 -0
- package/docs/docs/cmd/outlook/room/room-list.md +81 -0
- package/docs/docs/cmd/outlook/roomlist/roomlist-list.md +58 -0
- package/docs/docs/cmd/planner/plan/plan-add.md +3 -3
- package/docs/docs/cmd/planner/plan/plan-set.md +73 -7
- package/docs/docs/cmd/planner/roster/roster-add.md +16 -1
- package/docs/docs/cmd/planner/roster/roster-member-get.md +87 -0
- package/docs/docs/cmd/planner/task/task-add.md +230 -0
- package/docs/docs/cmd/planner/task/task-checklistitem-add.md +55 -0
- package/docs/docs/cmd/planner/task/task-checklistitem-list.md +55 -0
- package/docs/docs/cmd/planner/task/task-checklistitem-remove.md +4 -0
- package/docs/docs/cmd/planner/task/task-get.md +131 -0
- package/docs/docs/cmd/planner/task/task-list.md +92 -0
- package/docs/docs/cmd/planner/task/task-reference-add.md +46 -0
- package/docs/docs/cmd/planner/task/task-reference-list.md +46 -0
- package/docs/docs/cmd/planner/task/task-reference-remove.md +4 -0
- package/docs/docs/cmd/planner/task/task-remove.md +4 -0
- package/docs/docs/cmd/planner/task/task-set.md +230 -0
- package/docs/docs/cmd/planner/tenant/tenant-settings-list.md +55 -0
- package/docs/docs/cmd/planner/tenant/tenant-settings-set.md +55 -0
- package/docs/docs/cmd/pp/card/card-get.md +2 -2
- package/docs/docs/cmd/pp/card/card-list.md +2 -2
- package/docs/docs/cmd/purview/retentionevent/retentionevent-add.md +149 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +7 -7
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.md +12 -0
- package/docs/docs/cmd/skype/report/report-activitycounts.md +38 -0
- package/docs/docs/cmd/skype/report/report-activityusercounts.md +38 -0
- package/docs/docs/cmd/skype/report/report-activityuserdetail.md +67 -0
- package/docs/docs/cmd/spfx/project/project-doctor.md +3 -3
- package/docs/docs/cmd/spfx/project/project-externalize.md +3 -3
- package/docs/docs/cmd/spfx/project/project-permissions-grant.md +21 -0
- package/docs/docs/cmd/spfx/project/project-upgrade.md +3 -3
- package/docs/docs/cmd/spfx/spfx-doctor.md +3 -3
- package/docs/docs/cmd/spo/cdn/cdn-get.md +6 -6
- package/docs/docs/cmd/spo/cdn/cdn-origin-add.md +3 -3
- package/docs/docs/cmd/spo/cdn/cdn-origin-list.md +3 -3
- package/docs/docs/cmd/spo/cdn/cdn-origin-remove.md +3 -3
- package/docs/docs/cmd/spo/cdn/cdn-policy-list.md +3 -3
- package/docs/docs/cmd/spo/cdn/cdn-policy-set.md +3 -3
- package/docs/docs/cmd/spo/cdn/cdn-set.md +3 -3
- package/docs/docs/cmd/spo/commandset/commandset-add.md +159 -0
- package/docs/docs/cmd/spo/commandset/commandset-get.md +149 -0
- package/docs/docs/cmd/spo/commandset/commandset-list.md +109 -0
- package/docs/docs/cmd/spo/commandset/commandset-remove.md +55 -0
- package/docs/docs/cmd/spo/commandset/commandset-set.md +71 -0
- package/docs/docs/cmd/spo/customaction/customaction-get.md +113 -11
- package/docs/docs/cmd/spo/externaluser/externaluser-list.md +2 -0
- package/docs/docs/cmd/spo/group/group-member-add.md +26 -4
- package/docs/docs/cmd/spo/hidedefaultthemes/hidedefaultthemes-get.md +2 -0
- package/docs/docs/cmd/spo/hidedefaultthemes/hidedefaultthemes-set.md +2 -0
- package/docs/docs/cmd/spo/homesite/homesite-remove.md +2 -0
- package/docs/docs/cmd/spo/homesite/homesite-set.md +2 -0
- package/docs/docs/cmd/spo/knowledgehub/knowledgehub-get.md +2 -0
- package/docs/docs/cmd/spo/knowledgehub/knowledgehub-remove.md +2 -0
- package/docs/docs/cmd/spo/knowledgehub/knowledgehub-set.md +3 -3
- package/docs/docs/cmd/spo/list/list-add.md +2 -2
- package/docs/docs/cmd/spo/list/list-set.md +2 -2
- package/docs/docs/cmd/spo/listitem/listitem-add.md +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-batch-add.md +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-set.md +1 -1
- package/docs/docs/cmd/spo/navigation/navigation-node-add.md +3 -3
- package/docs/docs/cmd/spo/navigation/navigation-node-set.md +2 -2
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.md +2 -0
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.md +2 -0
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-remove.md +2 -0
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-list.md +2 -0
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-remove.md +2 -0
- package/docs/docs/cmd/spo/orgnewssite/orgnewssite-set.md +3 -3
- package/docs/docs/cmd/spo/site/site-appcatalog-add.md +2 -0
- package/docs/docs/cmd/spo/site/site-appcatalog-remove.md +3 -3
- package/docs/docs/cmd/spo/site/site-commsite-enable.md +2 -0
- package/docs/docs/cmd/spo/site/site-list.md +3 -3
- package/docs/docs/cmd/spo/site/site-remove.md +3 -3
- package/docs/docs/cmd/spo/site/site-rename.md +3 -3
- package/docs/docs/cmd/spo/site/site-set.md +5 -5
- package/docs/docs/cmd/spo/storageentity/storageentity-remove.md +3 -3
- package/docs/docs/cmd/spo/storageentity/storageentity-set.md +3 -3
- package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.md +3 -3
- package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.md +2 -0
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +3 -3
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-get.md +142 -0
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.md +2 -0
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.md +3 -3
- package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.md +3 -3
- package/docs/docs/cmd/spo/tenant/tenant-settings-list.md +2 -0
- package/docs/docs/cmd/spo/tenant/tenant-settings-set.md +28 -26
- package/docs/docs/cmd/spo/term/term-add.md +3 -3
- package/docs/docs/cmd/spo/term/term-get.md +3 -3
- package/docs/docs/cmd/spo/term/term-group-add.md +2 -0
- package/docs/docs/cmd/spo/term/term-group-get.md +2 -0
- package/docs/docs/cmd/spo/term/term-group-list.md +2 -0
- package/docs/docs/cmd/spo/term/term-list.md +3 -1
- package/docs/docs/cmd/spo/term/term-set-add.md +3 -3
- package/docs/docs/cmd/spo/term/term-set-get.md +2 -0
- package/docs/docs/cmd/spo/term/term-set-list.md +2 -0
- package/docs/docs/cmd/spo/theme/theme-apply.md +3 -3
- package/docs/docs/cmd/spo/theme/theme-get.md +2 -0
- package/docs/docs/cmd/spo/theme/theme-list.md +2 -0
- package/docs/docs/cmd/spo/theme/theme-remove.md +2 -0
- package/docs/docs/cmd/spo/theme/theme-set.md +3 -3
- package/docs/docs/cmd/spo/user/user-ensure.md +109 -0
- package/docs/docs/cmd/teams/channel/channel-get.md +1 -1
- package/docs/docs/cmd/teams/channel/channel-member-add.md +2 -2
- package/docs/docs/cmd/teams/message/message-get.md +39 -4
- package/docs/docs/cmd/teams/message/message-list.md +41 -6
- package/docs/docs/cmd/teams/message/message-reply-list.md +39 -4
- package/docs/docs/cmd/teams/messagingsettings/messagingsettings-list.md +20 -2
- package/docs/docs/cmd/teams/messagingsettings/messagingsettings-set.md +8 -8
- package/docs/docs/cmd/teams/report/report-deviceusagedistributionusercounts.md +12 -5
- package/docs/docs/cmd/teams/report/report-deviceusageusercounts.md +13 -6
- package/docs/docs/cmd/teams/report/report-deviceusageuserdetail.md +14 -7
- package/docs/docs/cmd/teams/report/report-directroutingcalls.md +13 -6
- package/docs/docs/cmd/teams/report/report-pstncalls.md +13 -6
- package/docs/docs/cmd/teams/report/report-useractivitycounts.md +13 -6
- package/docs/docs/cmd/teams/report/report-useractivityusercounts.md +13 -6
- package/docs/docs/cmd/teams/report/report-useractivityuserdetail.md +13 -6
- package/docs/docs/cmd/teams/tab/tab-add.md +16 -0
- package/docs/docs/cmd/teams/tab/tab-get.md +17 -0
- package/docs/docs/cmd/teams/tab/tab-list.md +19 -0
- package/docs/docs/cmd/teams/team/team-add.md +77 -8
- package/docs/docs/cmd/teams/team/team-app-list.md +18 -2
- package/docs/docs/cmd/teams/team/team-archive.md +2 -2
- package/docs/docs/cmd/teams/team/team-clone.md +8 -8
- package/docs/docs/cmd/teams/team/team-get.md +34 -4
- package/docs/docs/cmd/teams/team/team-list.md +34 -3
- package/docs/docs/cmd/teams/team/team-remove.md +3 -3
- package/docs/docs/cmd/teams/team/team-set.md +8 -8
- package/docs/docs/cmd/teams/team/team-unarchive.md +3 -2
- package/docs/docs/cmd/teams/user/user-app-add.md +3 -3
- package/docs/docs/cmd/teams/user/user-app-list.md +18 -2
- package/docs/docs/cmd/teams/user/user-app-remove.md +4 -4
- package/docs/docs/cmd/teams/user/user-list.md +21 -4
- package/docs/docs/cmd/todo/task/task-add.md +47 -2
- package/npm-shrinkwrap.json +279 -194
- package/package.json +15 -14
|
@@ -106,7 +106,7 @@ class SpoListAddCommand extends SpoCommand_1.default {
|
|
|
106
106
|
mapRequestBody(options) {
|
|
107
107
|
const requestBody = {
|
|
108
108
|
Title: options.title,
|
|
109
|
-
BaseTemplate: ListTemplateType_1.ListTemplateType[options.baseTemplate.trim()].valueOf()
|
|
109
|
+
BaseTemplate: options.baseTemplate ? ListTemplateType_1.ListTemplateType[options.baseTemplate.trim()].valueOf() : ListTemplateType_1.ListTemplateType.GenericList
|
|
110
110
|
};
|
|
111
111
|
if (options.description) {
|
|
112
112
|
requestBody.Description = options.description;
|
|
@@ -148,7 +148,7 @@ class SpoListAddCommand extends SpoCommand_1.default {
|
|
|
148
148
|
requestBody.DisableGridEditing = options.disableGridEditing;
|
|
149
149
|
}
|
|
150
150
|
if (options.draftVersionVisibility) {
|
|
151
|
-
requestBody.DraftVersionVisibility = options.draftVersionVisibility;
|
|
151
|
+
requestBody.DraftVersionVisibility = DraftVisibilityType_1.DraftVisibilityType[options.draftVersionVisibility.trim()];
|
|
152
152
|
}
|
|
153
153
|
if (options.emailAlias) {
|
|
154
154
|
requestBody.EmailAlias = options.emailAlias;
|
|
@@ -226,7 +226,7 @@ class SpoListAddCommand extends SpoCommand_1.default {
|
|
|
226
226
|
requestBody.IsApplicationList = options.isApplicationList;
|
|
227
227
|
}
|
|
228
228
|
if (options.listExperienceOptions) {
|
|
229
|
-
requestBody.ListExperienceOptions = options.listExperienceOptions;
|
|
229
|
+
requestBody.ListExperienceOptions = ListExperience_1.ListExperience[options.listExperienceOptions.trim()];
|
|
230
230
|
}
|
|
231
231
|
if (options.majorVersionLimit) {
|
|
232
232
|
requestBody.MajorVersionLimit = options.majorVersionLimit;
|
|
@@ -296,6 +296,7 @@ _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry =
|
|
|
296
296
|
const telemetryProps = {};
|
|
297
297
|
// add properties with identifiable data
|
|
298
298
|
[
|
|
299
|
+
'baseTemplate',
|
|
299
300
|
'description',
|
|
300
301
|
'templateFeatureId',
|
|
301
302
|
'schemaXml',
|
|
@@ -342,7 +343,7 @@ _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry =
|
|
|
342
343
|
this.options.unshift({
|
|
343
344
|
option: '-t, --title <title>'
|
|
344
345
|
}, {
|
|
345
|
-
option: '--baseTemplate
|
|
346
|
+
option: '--baseTemplate [baseTemplate]',
|
|
346
347
|
autocomplete: this.listTemplateTypeMap
|
|
347
348
|
}, {
|
|
348
349
|
option: '-u, --webUrl <webUrl>'
|
|
@@ -520,9 +521,11 @@ _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry =
|
|
|
520
521
|
if (isValidSharePointUrl !== true) {
|
|
521
522
|
return isValidSharePointUrl;
|
|
522
523
|
}
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
524
|
+
if (args.options.baseTemplate) {
|
|
525
|
+
const template = ListTemplateType_1.ListTemplateType[args.options.baseTemplate.trim()];
|
|
526
|
+
if (!template) {
|
|
527
|
+
return `${args.options.baseTemplate} is not a valid baseTemplate value`;
|
|
528
|
+
}
|
|
526
529
|
}
|
|
527
530
|
if (args.options.templateFeatureId &&
|
|
528
531
|
!validation_1.validation.isValidGuid(args.options.templateFeatureId)) {
|
|
@@ -538,7 +541,7 @@ _SpoListAddCommand_instances = new WeakSet(), _SpoListAddCommand_initTelemetry =
|
|
|
538
541
|
}
|
|
539
542
|
if (args.options.draftVersionVisibility) {
|
|
540
543
|
const draftType = DraftVisibilityType_1.DraftVisibilityType[args.options.draftVersionVisibility.trim()];
|
|
541
|
-
if (
|
|
544
|
+
if (draftType === undefined) {
|
|
542
545
|
return `${args.options.draftVersionVisibility} is not a valid draftVisibilityType value`;
|
|
543
546
|
}
|
|
544
547
|
}
|
|
@@ -150,7 +150,7 @@ class SpoListSetCommand extends SpoCommand_1.default {
|
|
|
150
150
|
requestBody.DisableGridEditing = options.disableGridEditing;
|
|
151
151
|
}
|
|
152
152
|
if (options.draftVersionVisibility) {
|
|
153
|
-
requestBody.DraftVersionVisibility = options.draftVersionVisibility;
|
|
153
|
+
requestBody.DraftVersionVisibility = DraftVisibilityType_1.DraftVisibilityType[options.draftVersionVisibility.trim()];
|
|
154
154
|
}
|
|
155
155
|
if (options.emailAlias) {
|
|
156
156
|
requestBody.EmailAlias = options.emailAlias;
|
|
@@ -228,7 +228,7 @@ class SpoListSetCommand extends SpoCommand_1.default {
|
|
|
228
228
|
requestBody.IsApplicationList = options.isApplicationList;
|
|
229
229
|
}
|
|
230
230
|
if (options.listExperienceOptions) {
|
|
231
|
-
requestBody.ListExperienceOptions = options.listExperienceOptions;
|
|
231
|
+
requestBody.ListExperienceOptions = ListExperience_1.ListExperience[options.listExperienceOptions.trim()];
|
|
232
232
|
}
|
|
233
233
|
if (options.majorVersionLimit) {
|
|
234
234
|
requestBody.MajorVersionLimit = options.majorVersionLimit;
|
|
@@ -545,7 +545,7 @@ _SpoListSetCommand_instances = new WeakSet(), _SpoListSetCommand_initTelemetry =
|
|
|
545
545
|
}
|
|
546
546
|
if (args.options.draftVersionVisibility) {
|
|
547
547
|
const draftType = DraftVisibilityType_1.DraftVisibilityType[args.options.draftVersionVisibility.trim()];
|
|
548
|
-
if (
|
|
548
|
+
if (draftType === undefined) {
|
|
549
549
|
return `${args.options.draftVersionVisibility} is not a valid draftVisibilityType value`;
|
|
550
550
|
}
|
|
551
551
|
}
|
|
@@ -38,7 +38,7 @@ class SpoNavigationNodeAddCommand extends SpoCommand_1.default {
|
|
|
38
38
|
return ['url'];
|
|
39
39
|
}
|
|
40
40
|
commandAction(logger, args) {
|
|
41
|
-
var _a;
|
|
41
|
+
var _a, _b;
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
43
|
if (this.verbose) {
|
|
44
44
|
logger.logToStderr(`Adding navigation node...`);
|
|
@@ -56,7 +56,7 @@ class SpoNavigationNodeAddCommand extends SpoCommand_1.default {
|
|
|
56
56
|
data: {
|
|
57
57
|
AudienceIds: (_a = args.options.audienceIds) === null || _a === void 0 ? void 0 : _a.split(','),
|
|
58
58
|
Title: args.options.title,
|
|
59
|
-
Url: args.options.url,
|
|
59
|
+
Url: (_b = args.options.url) !== null && _b !== void 0 ? _b : 'http://linkless.header/',
|
|
60
60
|
IsExternal: args.options.isExternal === true
|
|
61
61
|
}
|
|
62
62
|
};
|
|
@@ -76,7 +76,8 @@ _SpoNavigationNodeAddCommand_instances = new WeakSet(), _SpoNavigationNodeAddCom
|
|
|
76
76
|
isExternal: args.options.isExternal,
|
|
77
77
|
location: typeof args.options.location !== 'undefined',
|
|
78
78
|
parentNodeId: typeof args.options.parentNodeId !== 'undefined',
|
|
79
|
-
audienceIds: typeof args.options.audienceIds !== 'undefined'
|
|
79
|
+
audienceIds: typeof args.options.audienceIds !== 'undefined',
|
|
80
|
+
url: typeof args.options.url !== 'undefined'
|
|
80
81
|
});
|
|
81
82
|
});
|
|
82
83
|
}, _SpoNavigationNodeAddCommand_initOptions = function _SpoNavigationNodeAddCommand_initOptions() {
|
|
@@ -88,7 +89,7 @@ _SpoNavigationNodeAddCommand_instances = new WeakSet(), _SpoNavigationNodeAddCom
|
|
|
88
89
|
}, {
|
|
89
90
|
option: '-t, --title <title>'
|
|
90
91
|
}, {
|
|
91
|
-
option: '--url
|
|
92
|
+
option: '--url [url]'
|
|
92
93
|
}, {
|
|
93
94
|
option: '--parentNodeId [parentNodeId]'
|
|
94
95
|
}, {
|
|
@@ -40,10 +40,14 @@ class SpoNavigationNodeSetCommand extends SpoCommand_1.default {
|
|
|
40
40
|
if (this.verbose) {
|
|
41
41
|
logger.logToStderr(`Setting navigation node...`);
|
|
42
42
|
}
|
|
43
|
+
let url = args.options.url;
|
|
44
|
+
if (url === '') {
|
|
45
|
+
url = 'http://linkless.header/';
|
|
46
|
+
}
|
|
43
47
|
const requestBody = {
|
|
44
48
|
Title: args.options.title,
|
|
45
49
|
IsExternal: args.options.isExternal,
|
|
46
|
-
Url:
|
|
50
|
+
Url: url
|
|
47
51
|
};
|
|
48
52
|
if (args.options.audienceIds !== undefined) {
|
|
49
53
|
requestBody.AudienceIds = args.options.audienceIds === '' ? [] : args.options.audienceIds.split(',');
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _SpoTenantApplicationCustomizerGetCommand_instances, _SpoTenantApplicationCustomizerGetCommand_initTelemetry, _SpoTenantApplicationCustomizerGetCommand_initOptions, _SpoTenantApplicationCustomizerGetCommand_initValidators, _SpoTenantApplicationCustomizerGetCommand_initOptionSets;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Command_1 = require("../../../../Command");
|
|
19
|
+
const request_1 = require("../../../../request");
|
|
20
|
+
const formatting_1 = require("../../../../utils/formatting");
|
|
21
|
+
const spo_1 = require("../../../../utils/spo");
|
|
22
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
23
|
+
const validation_1 = require("../../../../utils/validation");
|
|
24
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
25
|
+
const commands_1 = require("../../commands");
|
|
26
|
+
class SpoTenantApplicationCustomizerGetCommand extends SpoCommand_1.default {
|
|
27
|
+
get name() {
|
|
28
|
+
return commands_1.default.TENANT_APPLICATIONCUSTOMIZER_GET;
|
|
29
|
+
}
|
|
30
|
+
get description() {
|
|
31
|
+
return 'Get an application customizer that is installed tenant wide';
|
|
32
|
+
}
|
|
33
|
+
constructor() {
|
|
34
|
+
super();
|
|
35
|
+
_SpoTenantApplicationCustomizerGetCommand_instances.add(this);
|
|
36
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerGetCommand_instances, "m", _SpoTenantApplicationCustomizerGetCommand_initTelemetry).call(this);
|
|
37
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerGetCommand_instances, "m", _SpoTenantApplicationCustomizerGetCommand_initOptions).call(this);
|
|
38
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerGetCommand_instances, "m", _SpoTenantApplicationCustomizerGetCommand_initValidators).call(this);
|
|
39
|
+
__classPrivateFieldGet(this, _SpoTenantApplicationCustomizerGetCommand_instances, "m", _SpoTenantApplicationCustomizerGetCommand_initOptionSets).call(this);
|
|
40
|
+
}
|
|
41
|
+
commandAction(logger, args) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const appCatalogUrl = yield spo_1.spo.getTenantAppCatalogUrl(logger, this.debug);
|
|
44
|
+
if (!appCatalogUrl) {
|
|
45
|
+
throw new Command_1.CommandError('No app catalog URL found');
|
|
46
|
+
}
|
|
47
|
+
let filter = '';
|
|
48
|
+
if (args.options.title) {
|
|
49
|
+
filter = `Title eq '${args.options.title}'`;
|
|
50
|
+
}
|
|
51
|
+
else if (args.options.id) {
|
|
52
|
+
filter = `GUID eq '${args.options.id}'`;
|
|
53
|
+
}
|
|
54
|
+
else if (args.options.clientSideComponentId) {
|
|
55
|
+
filter = `TenantWideExtensionComponentId eq '${args.options.clientSideComponentId}'`;
|
|
56
|
+
}
|
|
57
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(appCatalogUrl, '/lists/TenantWideExtensions');
|
|
58
|
+
const reqOptions = {
|
|
59
|
+
url: `${appCatalogUrl}/_api/web/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/items?$filter=${filter}`,
|
|
60
|
+
headers: {
|
|
61
|
+
'accept': 'application/json;odata=nometadata'
|
|
62
|
+
},
|
|
63
|
+
responseType: 'json'
|
|
64
|
+
};
|
|
65
|
+
let listItemInstances;
|
|
66
|
+
try {
|
|
67
|
+
listItemInstances = yield request_1.default.get(reqOptions);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
return this.handleRejectedODataJsonPromise(err);
|
|
71
|
+
}
|
|
72
|
+
if (listItemInstances) {
|
|
73
|
+
if (listItemInstances.value.length === 0) {
|
|
74
|
+
throw new Command_1.CommandError('The specified application customizer was not found');
|
|
75
|
+
}
|
|
76
|
+
if (listItemInstances.value.length > 1) {
|
|
77
|
+
throw new Command_1.CommandError(`Multiple application customizers with ${args.options.title || args.options.clientSideComponentId} were found. Please disambiguate (IDs): ${listItemInstances.value.map(item => item.GUID).join(', ')}`);
|
|
78
|
+
}
|
|
79
|
+
listItemInstances.value.forEach(v => delete v['ID']);
|
|
80
|
+
logger.log(listItemInstances.value[0]);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
throw new Command_1.CommandError('The specified application customizer was not found');
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
_SpoTenantApplicationCustomizerGetCommand_instances = new WeakSet(), _SpoTenantApplicationCustomizerGetCommand_initTelemetry = function _SpoTenantApplicationCustomizerGetCommand_initTelemetry() {
|
|
89
|
+
this.telemetry.push((args) => {
|
|
90
|
+
Object.assign(this.telemetryProperties, {
|
|
91
|
+
title: typeof args.options.title !== 'undefined',
|
|
92
|
+
id: typeof args.options.id !== 'undefined',
|
|
93
|
+
clientSideComponentId: typeof args.options.clientSideComponentId !== 'undefined'
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
}, _SpoTenantApplicationCustomizerGetCommand_initOptions = function _SpoTenantApplicationCustomizerGetCommand_initOptions() {
|
|
97
|
+
this.options.unshift({
|
|
98
|
+
option: '-t, --title [title]'
|
|
99
|
+
}, {
|
|
100
|
+
option: '-i, --id [id]'
|
|
101
|
+
}, {
|
|
102
|
+
option: '-c, --clientSideComponentId [clientSideComponentId]'
|
|
103
|
+
});
|
|
104
|
+
}, _SpoTenantApplicationCustomizerGetCommand_initValidators = function _SpoTenantApplicationCustomizerGetCommand_initValidators() {
|
|
105
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
if (args.options.id && !validation_1.validation.isValidGuid(args.options.id)) {
|
|
107
|
+
return `${args.options.id} is not a valid GUID`;
|
|
108
|
+
}
|
|
109
|
+
if (args.options.clientSideComponentId && !validation_1.validation.isValidGuid(args.options.clientSideComponentId)) {
|
|
110
|
+
return `${args.options.clientSideComponentId} is not a valid GUID`;
|
|
111
|
+
}
|
|
112
|
+
return true;
|
|
113
|
+
}));
|
|
114
|
+
}, _SpoTenantApplicationCustomizerGetCommand_initOptionSets = function _SpoTenantApplicationCustomizerGetCommand_initOptionSets() {
|
|
115
|
+
this.optionSets.push({ options: ['title', 'id', 'clientSideComponentId'] });
|
|
116
|
+
};
|
|
117
|
+
module.exports = new SpoTenantApplicationCustomizerGetCommand();
|
|
118
|
+
//# sourceMappingURL=tenant-applicationcustomizer-get.js.map
|
|
@@ -22,6 +22,7 @@ const spo_1 = require("../../../../utils/spo");
|
|
|
22
22
|
const validation_1 = require("../../../../utils/validation");
|
|
23
23
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
24
24
|
const commands_1 = require("../../commands");
|
|
25
|
+
const os = require("os");
|
|
25
26
|
class SpoTermGetCommand extends SpoCommand_1.default {
|
|
26
27
|
get name() {
|
|
27
28
|
return commands_1.default.TERM_GET;
|
|
@@ -50,32 +51,34 @@ class SpoTermGetCommand extends SpoCommand_1.default {
|
|
|
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="14" ObjectPathId="13" /><ObjectIdentityQuery Id="15" ObjectPathId="13" /><Query Id="16" ObjectPathId="13"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><StaticMethod Id="6" Name="GetTaxonomySession" TypeId="{981cbc68-9edc-4f8d-872f-71146fcbb84f}" /><Method Id="7" ParentId="6" Name="GetDefaultSiteCollectionTermStore" /><Method Id="13" ParentId="7" Name="GetTerm"><Parameters><Parameter Type="Guid">{${args.options.id}}</Parameter></Parameters></Method></ObjectPaths></Request>`;
|
|
51
52
|
}
|
|
52
53
|
else {
|
|
53
|
-
|
|
54
|
-
const termSetQuery = args.options.termSetId ? `<Method Id="103" ParentId="101" Name="GetById"><Parameters><Parameter Type="Guid">{${args.options.termSetId}}</Parameter></Parameters></Method>` : `<Method Id="103" ParentId="101" Name="GetByName"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.termSetName)}</Parameter></Parameters></Method>`;
|
|
55
|
-
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="91" ObjectPathId="90" /><ObjectIdentityQuery Id="92" ObjectPathId="90" /><ObjectPath Id="94" ObjectPathId="93" /><ObjectIdentityQuery Id="95" ObjectPathId="93" /><ObjectPath Id="97" ObjectPathId="96" /><ObjectPath Id="99" ObjectPathId="98" /><ObjectIdentityQuery Id="100" ObjectPathId="98" /><ObjectPath Id="102" ObjectPathId="101" /><ObjectPath Id="104" ObjectPathId="103" /><ObjectIdentityQuery Id="105" ObjectPathId="103" /><ObjectPath Id="107" ObjectPathId="106" /><ObjectPath Id="109" ObjectPathId="108" /><ObjectIdentityQuery Id="110" ObjectPathId="108" /><Query Id="111" ObjectPathId="108"><Query SelectAllProperties="true"><Properties /></Query></Query></Actions><ObjectPaths><StaticMethod Id="90" Name="GetTaxonomySession" TypeId="{981cbc68-9edc-4f8d-872f-71146fcbb84f}" /><Method Id="93" ParentId="90" Name="GetDefaultSiteCollectionTermStore" /><Property Id="96" ParentId="93" Name="Groups" />${termGroupQuery}<Property Id="101" ParentId="98" Name="TermSets" />${termSetQuery}<Property Id="106" ParentId="103" Name="Terms" /><Method Id="108" ParentId="106" Name="GetByName"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.name)}</Parameter></Parameters></Method></ObjectPaths></Request>`;
|
|
54
|
+
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" /><ObjectIdentityQuery Id="3" ObjectPathId="1" /><ObjectPath Id="5" ObjectPathId="4" /><ObjectIdentityQuery Id="6" ObjectPathId="4" /><ObjectPath Id="8" ObjectPathId="7" /><ObjectPath Id="10" ObjectPathId="9" /><ObjectIdentityQuery Id="11" ObjectPathId="9" /><ObjectPath Id="13" ObjectPathId="12" /><ObjectPath Id="15" ObjectPathId="14" /><ObjectIdentityQuery Id="16" ObjectPathId="14" /><ObjectPath Id="18" ObjectPathId="17" /><SetProperty Id="19" ObjectPathId="17" Name="TrimUnavailable"><Parameter Type="Boolean">true</Parameter></SetProperty><SetProperty Id="20" ObjectPathId="17" Name="TermLabel"><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.name)}</Parameter></SetProperty><ObjectPath Id="22" ObjectPathId="21" /><Query Id="23" ObjectPathId="21"><Query SelectAllProperties="true"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties /></ChildItemQuery></Query></Actions><ObjectPaths><StaticMethod Id="1" Name="GetTaxonomySession" TypeId="{981cbc68-9edc-4f8d-872f-71146fcbb84f}" /><Method Id="4" ParentId="1" Name="GetDefaultSiteCollectionTermStore" /><Property Id="7" ParentId="4" Name="Groups" /><Method Id="9" ParentId="7" Name="${args.options.termGroupName === undefined ? "GetById" : "GetByName"}"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.termGroupName) || args.options.termGroupId}</Parameter></Parameters></Method><Property Id="12" ParentId="9" Name="TermSets" /><Method Id="14" ParentId="12" Name="${args.options.termSetName === undefined ? "GetById" : "GetByName"}"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.termSetName) || args.options.termSetId}</Parameter></Parameters></Method><Constructor Id="17" TypeId="{61a1d689-2744-4ea3-a88b-c95bee9803aa}" /><Method Id="21" ParentId="14" Name="GetTerms"><Parameters><Parameter ObjectPathId="17" /></Parameters></Method></ObjectPaths></Request>`;
|
|
56
55
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
},
|
|
62
|
-
data: data
|
|
63
|
-
};
|
|
64
|
-
const processQuery = yield request_1.default.post(requestOptions);
|
|
65
|
-
const json = JSON.parse(processQuery);
|
|
66
|
-
const response = json[0];
|
|
67
|
-
if (response.ErrorInfo) {
|
|
68
|
-
throw response.ErrorInfo.ErrorMessage;
|
|
56
|
+
let term;
|
|
57
|
+
const csomResponse = yield this.executeCsomCall(data, spoAdminUrl, res);
|
|
58
|
+
if (csomResponse === null) {
|
|
59
|
+
throw `Term with id '${args.options.id}' could not be found.`;
|
|
69
60
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
61
|
+
else if (csomResponse._Child_Items_ !== undefined) {
|
|
62
|
+
const terms = csomResponse;
|
|
63
|
+
if (terms._Child_Items_.length === 0) {
|
|
64
|
+
throw `Term with name '${args.options.name}' could not be found.`;
|
|
65
|
+
}
|
|
66
|
+
if (terms._Child_Items_.length > 1) {
|
|
67
|
+
const disambiguationText = terms._Child_Items_.map(c => {
|
|
68
|
+
return `- ${this.getTermId(c.Id)} - ${c.PathOfTerm}`;
|
|
69
|
+
}).join(os.EOL);
|
|
70
|
+
throw new Error(`Multiple terms with the specific term name found. Please disambiguate:${os.EOL}${disambiguationText}`);
|
|
71
|
+
}
|
|
72
|
+
term = terms._Child_Items_[0];
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
term = csomResponse;
|
|
73
76
|
}
|
|
74
77
|
delete term._ObjectIdentity_;
|
|
75
78
|
delete term._ObjectType_;
|
|
76
|
-
term.CreatedDate =
|
|
77
|
-
term.Id = term.Id
|
|
78
|
-
term.LastModifiedDate =
|
|
79
|
+
term.CreatedDate = this.parseTermDateToIsoString(term.CreatedDate);
|
|
80
|
+
term.Id = this.getTermId(term.Id);
|
|
81
|
+
term.LastModifiedDate = this.parseTermDateToIsoString(term.LastModifiedDate);
|
|
79
82
|
logger.log(term);
|
|
80
83
|
}
|
|
81
84
|
catch (err) {
|
|
@@ -83,6 +86,31 @@ class SpoTermGetCommand extends SpoCommand_1.default {
|
|
|
83
86
|
}
|
|
84
87
|
});
|
|
85
88
|
}
|
|
89
|
+
executeCsomCall(data, spoAdminUrl, res) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
const requestOptions = {
|
|
92
|
+
url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
93
|
+
headers: {
|
|
94
|
+
'X-RequestDigest': res.FormDigestValue
|
|
95
|
+
},
|
|
96
|
+
data: data
|
|
97
|
+
};
|
|
98
|
+
const processQuery = yield request_1.default.post(requestOptions);
|
|
99
|
+
const json = JSON.parse(processQuery);
|
|
100
|
+
const response = json[0];
|
|
101
|
+
if (response.ErrorInfo) {
|
|
102
|
+
throw response.ErrorInfo.ErrorMessage;
|
|
103
|
+
}
|
|
104
|
+
const responseObject = json[json.length - 1];
|
|
105
|
+
return responseObject;
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
getTermId(termId) {
|
|
109
|
+
return termId.replace('/Guid(', '').replace(')/', '');
|
|
110
|
+
}
|
|
111
|
+
parseTermDateToIsoString(dateAsString) {
|
|
112
|
+
return new Date(Number(dateAsString.replace('/Date(', '').replace(')/', ''))).toISOString();
|
|
113
|
+
}
|
|
86
114
|
}
|
|
87
115
|
_SpoTermGetCommand_instances = new WeakSet(), _SpoTermGetCommand_initTelemetry = function _SpoTermGetCommand_initTelemetry() {
|
|
88
116
|
this.telemetry.push((args) => {
|
|
@@ -111,39 +139,31 @@ _SpoTermGetCommand_instances = new WeakSet(), _SpoTermGetCommand_initTelemetry =
|
|
|
111
139
|
});
|
|
112
140
|
}, _SpoTermGetCommand_initValidators = function _SpoTermGetCommand_initValidators() {
|
|
113
141
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
if (args.options.id) {
|
|
115
|
-
|
|
116
|
-
return `${args.options.id} is not a valid GUID`;
|
|
117
|
-
}
|
|
142
|
+
if (args.options.id && !validation_1.validation.isValidGuid(args.options.id)) {
|
|
143
|
+
return `${args.options.id} is not a valid GUID`;
|
|
118
144
|
}
|
|
119
|
-
if (args.options.
|
|
120
|
-
|
|
121
|
-
return 'Specify termGroupId or termGroupName';
|
|
122
|
-
}
|
|
123
|
-
if (!args.options.termSetId && !args.options.termSetName) {
|
|
124
|
-
return 'Specify termSetId or termSetName';
|
|
125
|
-
}
|
|
145
|
+
if (args.options.termGroupId && !validation_1.validation.isValidGuid(args.options.termGroupId)) {
|
|
146
|
+
return `${args.options.termGroupId} is not a valid GUID`;
|
|
126
147
|
}
|
|
127
|
-
if (args.options.
|
|
128
|
-
return
|
|
129
|
-
}
|
|
130
|
-
if (args.options.termGroupId) {
|
|
131
|
-
if (!validation_1.validation.isValidGuid(args.options.termGroupId)) {
|
|
132
|
-
return `${args.options.termGroupId} is not a valid GUID`;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (args.options.termSetId && args.options.termSetName) {
|
|
136
|
-
return 'Specify termSetId or termSetName but not both';
|
|
137
|
-
}
|
|
138
|
-
if (args.options.termSetId) {
|
|
139
|
-
if (!validation_1.validation.isValidGuid(args.options.termSetId)) {
|
|
140
|
-
return `${args.options.termSetId} is not a valid GUID`;
|
|
141
|
-
}
|
|
148
|
+
if (args.options.termSetId && !validation_1.validation.isValidGuid(args.options.termSetId)) {
|
|
149
|
+
return `${args.options.termSetId} is not a valid GUID`;
|
|
142
150
|
}
|
|
143
151
|
return true;
|
|
144
152
|
}));
|
|
145
153
|
}, _SpoTermGetCommand_initOptionSets = function _SpoTermGetCommand_initOptionSets() {
|
|
146
|
-
this.optionSets.push({
|
|
154
|
+
this.optionSets.push({
|
|
155
|
+
options: ['id', 'name']
|
|
156
|
+
}, {
|
|
157
|
+
options: ['termGroupId', 'termGroupName'],
|
|
158
|
+
runsWhen: (args) => {
|
|
159
|
+
return args.options.name !== undefined;
|
|
160
|
+
}
|
|
161
|
+
}, {
|
|
162
|
+
options: ['termSetId', 'termSetName'],
|
|
163
|
+
runsWhen: (args) => {
|
|
164
|
+
return args.options.name !== undefined;
|
|
165
|
+
}
|
|
166
|
+
});
|
|
147
167
|
};
|
|
148
168
|
module.exports = new SpoTermGetCommand();
|
|
149
169
|
//# sourceMappingURL=term-get.js.map
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _SpoUserEnsureCommand_instances, _SpoUserEnsureCommand_initTelemetry, _SpoUserEnsureCommand_initOptions, _SpoUserEnsureCommand_initValidators, _SpoUserEnsureCommand_initOptionSets;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const request_1 = require("../../../../request");
|
|
19
|
+
const aadUser_1 = require("../../../../utils/aadUser");
|
|
20
|
+
const validation_1 = require("../../../../utils/validation");
|
|
21
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
22
|
+
const commands_1 = require("../../commands");
|
|
23
|
+
class SpoUserEnsureCommand extends SpoCommand_1.default {
|
|
24
|
+
get name() {
|
|
25
|
+
return commands_1.default.USER_ENSURE;
|
|
26
|
+
}
|
|
27
|
+
get description() {
|
|
28
|
+
return 'Ensures that a user is available on a specific site';
|
|
29
|
+
}
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
_SpoUserEnsureCommand_instances.add(this);
|
|
33
|
+
__classPrivateFieldGet(this, _SpoUserEnsureCommand_instances, "m", _SpoUserEnsureCommand_initTelemetry).call(this);
|
|
34
|
+
__classPrivateFieldGet(this, _SpoUserEnsureCommand_instances, "m", _SpoUserEnsureCommand_initOptions).call(this);
|
|
35
|
+
__classPrivateFieldGet(this, _SpoUserEnsureCommand_instances, "m", _SpoUserEnsureCommand_initValidators).call(this);
|
|
36
|
+
__classPrivateFieldGet(this, _SpoUserEnsureCommand_instances, "m", _SpoUserEnsureCommand_initOptionSets).call(this);
|
|
37
|
+
}
|
|
38
|
+
commandAction(logger, args) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
if (this.verbose) {
|
|
41
|
+
logger.logToStderr(`Ensuring user ${args.options.aadId || args.options.userName} at site ${args.options.webUrl}`);
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const requestBody = {
|
|
45
|
+
logonName: args.options.userName || (yield this.getUpnByUserId(args.options.aadId, logger))
|
|
46
|
+
};
|
|
47
|
+
const requestOptions = {
|
|
48
|
+
url: `${args.options.webUrl}/_api/web/ensureuser`,
|
|
49
|
+
headers: {
|
|
50
|
+
accept: 'application/json;odata=nometadata'
|
|
51
|
+
},
|
|
52
|
+
data: requestBody,
|
|
53
|
+
responseType: 'json'
|
|
54
|
+
};
|
|
55
|
+
const response = yield request_1.default.post(requestOptions);
|
|
56
|
+
logger.log(response);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
this.handleRejectedODataJsonPromise(err);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
getUpnByUserId(aadId, logger) {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
if (this.verbose) {
|
|
66
|
+
logger.logToStderr(`Retrieving user principal name for user with id ${aadId}`);
|
|
67
|
+
}
|
|
68
|
+
return yield aadUser_1.aadUser.getUpnByUserId(aadId);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
_SpoUserEnsureCommand_instances = new WeakSet(), _SpoUserEnsureCommand_initTelemetry = function _SpoUserEnsureCommand_initTelemetry() {
|
|
73
|
+
this.telemetry.push((args) => {
|
|
74
|
+
Object.assign(this.telemetryProperties, {
|
|
75
|
+
aadId: typeof args.options.aadId !== 'undefined',
|
|
76
|
+
userName: typeof args.options.userName !== 'undefined'
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}, _SpoUserEnsureCommand_initOptions = function _SpoUserEnsureCommand_initOptions() {
|
|
80
|
+
this.options.unshift({
|
|
81
|
+
option: '-u, --webUrl <webUrl>'
|
|
82
|
+
}, {
|
|
83
|
+
option: '--aadId [aadId]'
|
|
84
|
+
}, {
|
|
85
|
+
option: '--userName [userName]'
|
|
86
|
+
});
|
|
87
|
+
}, _SpoUserEnsureCommand_initValidators = function _SpoUserEnsureCommand_initValidators() {
|
|
88
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
90
|
+
if (isValidSharePointUrl !== true) {
|
|
91
|
+
return isValidSharePointUrl;
|
|
92
|
+
}
|
|
93
|
+
if (args.options.aadId && !validation_1.validation.isValidGuid(args.options.aadId)) {
|
|
94
|
+
return `${args.options.aadId} is not a valid GUID.`;
|
|
95
|
+
}
|
|
96
|
+
if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
|
|
97
|
+
return `${args.options.userName} is not a valid userName.`;
|
|
98
|
+
}
|
|
99
|
+
return true;
|
|
100
|
+
}));
|
|
101
|
+
}, _SpoUserEnsureCommand_initOptionSets = function _SpoUserEnsureCommand_initOptionSets() {
|
|
102
|
+
this.optionSets.push({ options: ['aadId', 'userName'] });
|
|
103
|
+
};
|
|
104
|
+
module.exports = new SpoUserEnsureCommand();
|
|
105
|
+
//# sourceMappingURL=user-ensure.js.map
|
|
@@ -23,6 +23,11 @@ exports.default = {
|
|
|
23
23
|
CDN_POLICY_LIST: `${prefix} cdn policy list`,
|
|
24
24
|
CDN_POLICY_SET: `${prefix} cdn policy set`,
|
|
25
25
|
CDN_SET: `${prefix} cdn set`,
|
|
26
|
+
COMMANDSET_ADD: `${prefix} commandset add`,
|
|
27
|
+
COMMANDSET_GET: `${prefix} commandset get`,
|
|
28
|
+
COMMANDSET_LIST: `${prefix} commandset list`,
|
|
29
|
+
COMMANDSET_REMOVE: `${prefix} commandset remove`,
|
|
30
|
+
COMMANDSET_SET: `${prefix} commandset set`,
|
|
26
31
|
CONTENTTYPE_ADD: `${prefix} contenttype add`,
|
|
27
32
|
CONTENTTYPE_FIELD_REMOVE: `${prefix} contenttype field remove`,
|
|
28
33
|
CONTENTTYPE_FIELD_SET: `${prefix} contenttype field set`,
|
|
@@ -279,6 +284,7 @@ exports.default = {
|
|
|
279
284
|
TENANT_APPCATALOG_ADD: `${prefix} tenant appcatalog add`,
|
|
280
285
|
TENANT_APPCATALOGURL_GET: `${prefix} tenant appcatalogurl get`,
|
|
281
286
|
TENANT_APPLICATIONCUSTOMIZER_ADD: `${prefix} tenant applicationcustomizer add`,
|
|
287
|
+
TENANT_APPLICATIONCUSTOMIZER_GET: `${prefix} tenant applicationcustomizer get`,
|
|
282
288
|
TENANT_RECYCLEBINITEM_LIST: `${prefix} tenant recyclebinitem list`,
|
|
283
289
|
TENANT_RECYCLEBINITEM_REMOVE: `${prefix} tenant recyclebinitem remove`,
|
|
284
290
|
TENANT_RECYCLEBINITEM_RESTORE: `${prefix} tenant recyclebinitem restore`,
|
|
@@ -298,6 +304,7 @@ exports.default = {
|
|
|
298
304
|
THEME_LIST: `${prefix} theme list`,
|
|
299
305
|
THEME_REMOVE: `${prefix} theme remove`,
|
|
300
306
|
THEME_SET: `${prefix} theme set`,
|
|
307
|
+
USER_ENSURE: `${prefix} user ensure`,
|
|
301
308
|
USER_GET: `${prefix} user get`,
|
|
302
309
|
USER_LIST: `${prefix} user list`,
|
|
303
310
|
USER_REMOVE: `${prefix} user remove`,
|