@pnp/cli-microsoft365 6.0.0-beta.a008afc → 6.0.0-beta.a2ec37b
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/.eslintrc.js +4 -2
- package/dist/Command.js +16 -2
- package/dist/m365/aad/commands/app/app-add.js +36 -13
- package/dist/m365/aad/commands/app/app-list.js +38 -0
- package/dist/m365/aad/commands/user/user-guest-add.js +103 -0
- package/dist/m365/aad/commands.js +2 -0
- package/dist/m365/commands/status.js +6 -1
- package/dist/m365/outlook/commands/mail/mail-send.js +55 -31
- package/dist/m365/outlook/commands/message/message-get.js +97 -0
- package/dist/m365/outlook/commands.js +1 -0
- package/dist/m365/planner/commands/bucket/bucket-get.js +1 -1
- package/dist/m365/planner/commands/plan/plan-get.js +5 -20
- package/dist/m365/pp/commands/card/card-get.js +110 -0
- package/dist/m365/pp/commands/card/card-remove.js +130 -0
- package/dist/m365/pp/commands/gateway/gateway-get.js +70 -0
- package/dist/m365/pp/commands/solution/solution-get.js +117 -0
- package/dist/m365/pp/commands.js +4 -0
- package/dist/m365/spfx/commands/project/project-doctor.js +4 -1
- package/dist/m365/spfx/commands/project/project-externalize.js +4 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010001_YORC_version.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010002_YORC_isCreatingSolution.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010003_YORC_packageManager.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010004_YORC_componentType.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010005_YORC_environment.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010006_YORC_framework.js +3 -2
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010007_YORC_isDomainIsolated.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010009_YORC_sdkVersions_microsoft_graph_client.js +56 -0
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010010_YORC_sdkVersions_teams_js.js +56 -0
- package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.16.0-beta.1.js → upgrade-1.16.0-beta.2.js} +44 -28
- package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
- package/dist/m365/spfx/commands/spfx-doctor.js +3 -3
- package/dist/m365/spo/commands/contenttype/contenttype-add.js +82 -43
- package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +53 -21
- package/dist/m365/spo/commands/contenttype/contenttype-get.js +35 -14
- package/dist/m365/spo/commands/field/field-add.js +26 -1
- package/dist/m365/spo/commands/field/field-set.js +23 -13
- package/dist/m365/spo/commands/folder/folder-list.js +35 -12
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +11 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +12 -1
- package/dist/m365/spo/commands/list/list-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/list/list-roleinheritance-break.js +14 -6
- package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +14 -6
- package/dist/m365/spo/commands/list/list-webhook-add.js +19 -11
- package/dist/m365/spo/commands/list/list-webhook-get.js +17 -10
- package/dist/m365/spo/commands/list/list-webhook-list.js +17 -42
- package/dist/m365/spo/commands/list/list-webhook-remove.js +19 -11
- package/dist/m365/spo/commands/list/list-webhook-set.js +27 -20
- package/dist/m365/spo/commands/listitem/listitem-add.js +24 -14
- package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +18 -8
- package/dist/m365/spo/commands/listitem/listitem-get.js +18 -8
- package/dist/m365/spo/commands/listitem/listitem-isrecord.js +20 -10
- package/dist/m365/spo/commands/listitem/listitem-list.js +21 -11
- package/dist/m365/spo/commands/listitem/listitem-record-declare.js +19 -12
- package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +24 -21
- package/dist/m365/spo/commands/listitem/listitem-remove.js +19 -11
- package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +239 -0
- package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +13 -5
- package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +13 -5
- package/dist/m365/spo/commands/listitem/listitem-set.js +52 -44
- package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +15 -2
- package/dist/m365/spo/commands/site/site-add.js +4 -11
- package/dist/m365/spo/commands/{hubsite/hubsite-connect.js → site/site-hubsite-connect.js} +10 -10
- package/dist/m365/spo/commands/{hubsite/hubsite-disconnect.js → site/site-hubsite-disconnect.js} +13 -13
- package/dist/m365/spo/commands/{hubsite/hubsite-theme-sync.js → site/site-hubsite-theme-sync.js} +11 -11
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +100 -0
- package/dist/m365/spo/commands.js +5 -3
- package/dist/m365/teams/commands/team/team-set.js +0 -7
- package/dist/m365/todo/commands/list/list-get.js +89 -0
- package/dist/m365/todo/commands/task/task-add.js +55 -3
- package/dist/m365/todo/commands/task/task-get.js +108 -0
- package/dist/m365/todo/commands/task/task-set.js +53 -1
- package/dist/m365/todo/commands.js +2 -0
- package/docs/docs/_clisettings.md +18 -0
- package/docs/docs/cmd/aad/app/app-list.md +149 -0
- package/docs/docs/cmd/aad/user/user-guest-add.md +107 -0
- package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +3 -0
- package/docs/docs/cmd/graph/schemaextension/schemaextension-add.md +4 -11
- package/docs/docs/cmd/graph/schemaextension/schemaextension-set.md +4 -10
- package/docs/docs/cmd/outlook/mail/mail-send.md +13 -0
- package/docs/docs/cmd/outlook/message/message-get.md +48 -0
- package/docs/docs/cmd/planner/bucket/bucket-add.md +29 -0
- package/docs/docs/cmd/planner/bucket/bucket-get.md +29 -0
- package/docs/docs/cmd/planner/bucket/bucket-list.md +30 -0
- package/docs/docs/cmd/planner/bucket/bucket-remove.md +4 -0
- package/docs/docs/cmd/planner/bucket/bucket-set.md +4 -0
- package/docs/docs/cmd/planner/plan/plan-add.md +123 -0
- package/docs/docs/cmd/planner/plan/plan-get.md +75 -6
- package/docs/docs/cmd/planner/plan/plan-list.md +45 -0
- package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
- package/docs/docs/cmd/planner/task/task-get.md +0 -3
- package/docs/docs/cmd/pp/card/card-get.md +51 -0
- package/docs/docs/cmd/pp/card/card-remove.md +82 -0
- package/docs/docs/cmd/pp/gateway/gateway-get.md +24 -0
- package/docs/docs/cmd/pp/solution/solution-get.md +51 -0
- package/docs/docs/cmd/spfx/project/project-rename.md +1 -14
- package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
- package/docs/docs/cmd/spo/contenttype/contenttype-add.md +20 -2
- package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.md +22 -4
- package/docs/docs/cmd/spo/contenttype/contenttype-get.md +21 -3
- package/docs/docs/cmd/spo/customaction/customaction-add.md +3 -0
- package/docs/docs/cmd/spo/customaction/customaction-set.md +3 -2
- package/docs/docs/cmd/spo/eventreceiver/eventreceiver-get.md +2 -2
- package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +2 -2
- package/docs/docs/cmd/spo/field/field-add.md +20 -2
- package/docs/docs/cmd/spo/field/field-set.md +15 -3
- package/docs/docs/cmd/spo/folder/folder-list.md +45 -0
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +6 -0
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +6 -0
- package/docs/docs/cmd/spo/hubsite/hubsite-register.md +2 -2
- package/docs/docs/cmd/spo/hubsite/hubsite-unregister.md +2 -2
- package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +11 -8
- package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +16 -7
- package/docs/docs/cmd/spo/list/list-view-set.md +14 -3
- package/docs/docs/cmd/spo/list/list-webhook-add.md +15 -16
- package/docs/docs/cmd/spo/list/list-webhook-get.md +16 -7
- package/docs/docs/cmd/spo/list/list-webhook-list.md +13 -10
- package/docs/docs/cmd/spo/list/list-webhook-remove.md +12 -10
- package/docs/docs/cmd/spo/list/list-webhook-set.md +21 -12
- package/docs/docs/cmd/spo/listitem/listitem-add.md +11 -2
- package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +11 -2
- package/docs/docs/cmd/spo/listitem/listitem-get.md +11 -2
- package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +12 -2
- package/docs/docs/cmd/spo/listitem/listitem-list.md +10 -1
- package/docs/docs/cmd/spo/listitem/listitem-record-declare.md +7 -4
- package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.md +11 -2
- package/docs/docs/cmd/spo/listitem/listitem-remove.md +11 -2
- package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.md +81 -0
- package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +7 -4
- package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-reset.md +8 -5
- package/docs/docs/cmd/spo/listitem/listitem-set.md +7 -4
- package/docs/docs/cmd/spo/page/page-clientsidewebpart-add.md +5 -10
- package/docs/docs/cmd/spo/page/page-control-set.md +2 -1
- package/docs/docs/cmd/spo/site/site-add.md +0 -3
- package/docs/docs/cmd/spo/{hubsite/hubsite-connect.md → site/site-hubsite-connect.md} +4 -4
- package/docs/docs/cmd/spo/{hubsite/hubsite-disconnect.md → site/site-hubsite-disconnect.md} +7 -7
- package/docs/docs/cmd/spo/{hubsite/hubsite-theme-sync.md → site/site-hubsite-theme-sync.md} +5 -5
- package/docs/docs/cmd/spo/term/term-add.md +5 -0
- package/docs/docs/cmd/spo/term/term-set-add.md +6 -1
- package/docs/docs/cmd/spo/web/web-roleinheritance-break.md +44 -0
- package/docs/docs/cmd/teams/team/team-clone.md +0 -3
- package/docs/docs/cmd/teams/team/team-set.md +0 -3
- package/docs/docs/cmd/tenant/id/id-get.md +20 -0
- package/docs/docs/cmd/tenant/report/report-activeusercounts.md +35 -0
- package/docs/docs/cmd/tenant/report/report-activeuserdetail.md +49 -0
- package/docs/docs/cmd/tenant/report/report-office365activationcounts.md +32 -0
- package/docs/docs/cmd/tenant/report/report-office365activationsusercounts.md +30 -0
- package/docs/docs/cmd/tenant/report/report-office365activationsuserdetail.md +36 -0
- package/docs/docs/cmd/tenant/report/report-servicesusercounts.md +41 -0
- package/docs/docs/cmd/tenant/security/security-alerts-list.md +105 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +87 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +91 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.md +62 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.md +51 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.md +64 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.md +52 -0
- package/docs/docs/cmd/todo/list/list-get.md +61 -0
- package/docs/docs/cmd/todo/task/task-add.md +32 -5
- package/docs/docs/cmd/todo/task/task-get.md +75 -0
- package/docs/docs/cmd/todo/task/task-set.md +29 -2
- package/package.json +13 -4
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
19
|
const formatting_1 = require("../../../../utils/formatting");
|
|
20
20
|
const spo_1 = require("../../../../utils/spo");
|
|
21
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
21
22
|
const validation_1 = require("../../../../utils/validation");
|
|
22
23
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
23
24
|
const commands_1 = require("../../commands");
|
|
@@ -38,17 +39,23 @@ class SpoListItemListCommand extends SpoCommand_1.default {
|
|
|
38
39
|
}
|
|
39
40
|
commandAction(logger, args) {
|
|
40
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
let requestUrl = `${args.options.webUrl}/_api/web`;
|
|
43
|
+
if (args.options.listId) {
|
|
44
|
+
requestUrl += `/lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')`;
|
|
45
|
+
}
|
|
46
|
+
else if (args.options.listTitle) {
|
|
47
|
+
requestUrl += `/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
|
|
48
|
+
}
|
|
49
|
+
else if (args.options.listUrl) {
|
|
50
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
51
|
+
requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
|
|
52
|
+
}
|
|
43
53
|
let formDigestValue = '';
|
|
44
54
|
const fieldsArray = args.options.fields ? args.options.fields.split(",")
|
|
45
55
|
: (!args.options.output || args.options.output === "text") ? ["Title", "Id"] : [];
|
|
46
56
|
const fieldsWithSlash = fieldsArray.filter(item => item.includes('/'));
|
|
47
57
|
const fieldsToExpand = fieldsWithSlash.map(e => e.split('/')[0]);
|
|
48
58
|
const expandFieldsArray = fieldsToExpand.filter((item, pos) => fieldsToExpand.indexOf(item) === pos);
|
|
49
|
-
const listRestUrl = listIdArgument ?
|
|
50
|
-
`${args.options.webUrl}/_api/web/lists(guid'${formatting_1.formatting.encodeQueryParameter(listIdArgument)}')`
|
|
51
|
-
: `${args.options.webUrl}/_api/web/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(listTitleArgument)}')`;
|
|
52
59
|
try {
|
|
53
60
|
if (args.options.camlQuery) {
|
|
54
61
|
if (this.debug) {
|
|
@@ -63,7 +70,7 @@ class SpoListItemListCommand extends SpoCommand_1.default {
|
|
|
63
70
|
const filter = args.options.filter ? `$filter=${encodeURIComponent(args.options.filter)}` : ``;
|
|
64
71
|
const fieldSelect = `?$select=Id&${rowLimit}&${filter}`;
|
|
65
72
|
const requestOptions = {
|
|
66
|
-
url: `${
|
|
73
|
+
url: `${requestUrl}/items${fieldSelect}`,
|
|
67
74
|
headers: {
|
|
68
75
|
'accept': 'application/json;odata=nometadata',
|
|
69
76
|
'X-RequestDigest': formDigestValue
|
|
@@ -88,7 +95,7 @@ class SpoListItemListCommand extends SpoCommand_1.default {
|
|
|
88
95
|
}
|
|
89
96
|
: ``;
|
|
90
97
|
const requestOptions = {
|
|
91
|
-
url: `${
|
|
98
|
+
url: `${requestUrl}/${args.options.camlQuery ? `GetItems` : `items${fieldSelect}`}`,
|
|
92
99
|
headers: {
|
|
93
100
|
'accept': 'application/json;odata=nometadata',
|
|
94
101
|
'X-RequestDigest': formDigestValue
|
|
@@ -111,6 +118,7 @@ _SpoListItemListCommand_instances = new WeakSet(), _SpoListItemListCommand_initT
|
|
|
111
118
|
Object.assign(this.telemetryProperties, {
|
|
112
119
|
listId: typeof args.options.listId !== 'undefined',
|
|
113
120
|
listTitle: typeof args.options.listTitle !== 'undefined',
|
|
121
|
+
listUrl: typeof args.options.listUrl !== 'undefined',
|
|
114
122
|
fields: typeof args.options.fields !== 'undefined',
|
|
115
123
|
filter: typeof args.options.filter !== 'undefined',
|
|
116
124
|
pageNumber: typeof args.options.pageNumber !== 'undefined',
|
|
@@ -125,6 +133,8 @@ _SpoListItemListCommand_instances = new WeakSet(), _SpoListItemListCommand_initT
|
|
|
125
133
|
option: '-i, --listId [listId]'
|
|
126
134
|
}, {
|
|
127
135
|
option: '-t, --listTitle [listTitle]'
|
|
136
|
+
}, {
|
|
137
|
+
option: '--listUrl [listUrl]'
|
|
128
138
|
}, {
|
|
129
139
|
option: '-s, --pageSize [pageSize]'
|
|
130
140
|
}, {
|
|
@@ -142,11 +152,11 @@ _SpoListItemListCommand_instances = new WeakSet(), _SpoListItemListCommand_initT
|
|
|
142
152
|
if (isValidSharePointUrl !== true) {
|
|
143
153
|
return isValidSharePointUrl;
|
|
144
154
|
}
|
|
145
|
-
if (!args.options.listId && !args.options.listTitle) {
|
|
146
|
-
return `Specify listId or listTitle`;
|
|
155
|
+
if (!args.options.listId && !args.options.listTitle && !args.options.listUrl) {
|
|
156
|
+
return `Specify listId or listTitle or listUrl`;
|
|
147
157
|
}
|
|
148
|
-
if (args.options.listId
|
|
149
|
-
return
|
|
158
|
+
if ([args.options.listId, args.options.listTitle, args.options.listUrl].filter(o => o).length > 1) {
|
|
159
|
+
return 'Specify listId or listTitle or listUrl but not multiple';
|
|
150
160
|
}
|
|
151
161
|
if (args.options.camlQuery && args.options.fields) {
|
|
152
162
|
return `Specify camlQuery or fields but not both`;
|
|
@@ -19,6 +19,7 @@ const config_1 = require("../../../../config");
|
|
|
19
19
|
const request_1 = require("../../../../request");
|
|
20
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
21
21
|
const spo_1 = require("../../../../utils/spo");
|
|
22
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
22
23
|
const validation_1 = require("../../../../utils/validation");
|
|
23
24
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
24
25
|
const commands_1 = require("../../commands");
|
|
@@ -39,23 +40,22 @@ class SpoListItemRecordDeclareCommand extends SpoCommand_1.default {
|
|
|
39
40
|
}
|
|
40
41
|
commandAction(logger, args) {
|
|
41
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
let formDigestValue = '';
|
|
43
|
-
let webIdentity = '';
|
|
44
|
-
let listId = '';
|
|
45
43
|
try {
|
|
46
|
-
|
|
47
|
-
? `${args.options.webUrl}/_api/web/lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')`
|
|
48
|
-
: `${args.options.webUrl}/_api/web/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
|
|
49
|
-
const contextResponse = yield spo_1.spo.getRequestDigest(args.options.webUrl);
|
|
50
|
-
formDigestValue = contextResponse.FormDigestValue;
|
|
51
|
-
const webIdentityResp = yield spo_1.spo.getCurrentWebIdentity(args.options.webUrl, formDigestValue);
|
|
52
|
-
webIdentity = webIdentityResp.objectIdentity;
|
|
44
|
+
let listId = '';
|
|
53
45
|
if (args.options.listId) {
|
|
54
46
|
listId = args.options.listId;
|
|
55
47
|
}
|
|
56
48
|
else {
|
|
49
|
+
let requestUrl = `${args.options.webUrl}/_api/web`;
|
|
50
|
+
if (args.options.listTitle) {
|
|
51
|
+
requestUrl += `/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
|
|
52
|
+
}
|
|
53
|
+
else if (args.options.listUrl) {
|
|
54
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
55
|
+
requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
|
|
56
|
+
}
|
|
57
57
|
const requestOptions = {
|
|
58
|
-
url: `${
|
|
58
|
+
url: `${requestUrl}?$select=Id`,
|
|
59
59
|
headers: {
|
|
60
60
|
accept: 'application/json;odata=nometadata'
|
|
61
61
|
},
|
|
@@ -64,6 +64,10 @@ class SpoListItemRecordDeclareCommand extends SpoCommand_1.default {
|
|
|
64
64
|
const list = yield request_1.default.get(requestOptions);
|
|
65
65
|
listId = list.Id;
|
|
66
66
|
}
|
|
67
|
+
const contextResponse = yield spo_1.spo.getRequestDigest(args.options.webUrl);
|
|
68
|
+
const formDigestValue = contextResponse.FormDigestValue;
|
|
69
|
+
const webIdentityResp = yield spo_1.spo.getCurrentWebIdentity(args.options.webUrl, formDigestValue);
|
|
70
|
+
const webIdentity = webIdentityResp.objectIdentity;
|
|
67
71
|
const requestBody = this.getDeclareRecordRequestBody(webIdentity, listId, args.options.listItemId, args.options.date || '');
|
|
68
72
|
const requestOptions = {
|
|
69
73
|
url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
@@ -105,6 +109,7 @@ _SpoListItemRecordDeclareCommand_instances = new WeakSet(), _SpoListItemRecordDe
|
|
|
105
109
|
Object.assign(this.telemetryProperties, {
|
|
106
110
|
listId: typeof args.options.listId !== 'undefined',
|
|
107
111
|
listTitle: typeof args.options.listTitle !== 'undefined',
|
|
112
|
+
listUrl: typeof args.options.listUrl !== 'undefined',
|
|
108
113
|
date: typeof args.options.date !== 'undefined'
|
|
109
114
|
});
|
|
110
115
|
});
|
|
@@ -115,6 +120,8 @@ _SpoListItemRecordDeclareCommand_instances = new WeakSet(), _SpoListItemRecordDe
|
|
|
115
120
|
option: '-l, --listId [listId]'
|
|
116
121
|
}, {
|
|
117
122
|
option: '-t, --listTitle [listTitle]'
|
|
123
|
+
}, {
|
|
124
|
+
option: '--listUrl [listUrl]'
|
|
118
125
|
}, {
|
|
119
126
|
option: '-i, --listItemId <listItemId>'
|
|
120
127
|
}, {
|
|
@@ -142,7 +149,7 @@ _SpoListItemRecordDeclareCommand_instances = new WeakSet(), _SpoListItemRecordDe
|
|
|
142
149
|
return true;
|
|
143
150
|
}));
|
|
144
151
|
}, _SpoListItemRecordDeclareCommand_initOptionSets = function _SpoListItemRecordDeclareCommand_initOptionSets() {
|
|
145
|
-
this.optionSets.push(['listId', 'listTitle']);
|
|
152
|
+
this.optionSets.push(['listId', 'listTitle', 'listUrl']);
|
|
146
153
|
};
|
|
147
154
|
module.exports = new SpoListItemRecordDeclareCommand();
|
|
148
155
|
//# sourceMappingURL=listitem-record-declare.js.map
|
|
@@ -19,6 +19,7 @@ const config_1 = require("../../../../config");
|
|
|
19
19
|
const request_1 = require("../../../../request");
|
|
20
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
21
21
|
const spo_1 = require("../../../../utils/spo");
|
|
22
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
22
23
|
const validation_1 = require("../../../../utils/validation");
|
|
23
24
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
24
25
|
const commands_1 = require("../../commands");
|
|
@@ -39,39 +40,38 @@ class SpoListItemRecordUndeclareCommand extends SpoCommand_1.default {
|
|
|
39
40
|
}
|
|
40
41
|
commandAction(logger, args) {
|
|
41
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const listIdArgument = args.options.listId || '';
|
|
43
|
-
const listTitleArgument = args.options.listTitle || '';
|
|
44
|
-
const listRestUrl = (args.options.listId ?
|
|
45
|
-
`${args.options.webUrl}/_api/web/lists(guid'${formatting_1.formatting.encodeQueryParameter(listIdArgument)}')`
|
|
46
|
-
: `${args.options.webUrl}/_api/web/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(listTitleArgument)}')`);
|
|
47
|
-
let formDigestValue = '';
|
|
48
|
-
let environmentListId = '';
|
|
49
43
|
try {
|
|
50
|
-
|
|
51
|
-
|
|
44
|
+
let listId = '';
|
|
45
|
+
if (args.options.listId) {
|
|
46
|
+
listId = args.options.listId;
|
|
52
47
|
}
|
|
53
48
|
else {
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
let requestUrl = `${args.options.webUrl}/_api/web`;
|
|
50
|
+
if (args.options.listTitle) {
|
|
51
|
+
requestUrl += `/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
|
|
56
52
|
}
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
else if (args.options.listUrl) {
|
|
54
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
55
|
+
requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
|
|
56
|
+
}
|
|
57
|
+
const requestOptions = {
|
|
58
|
+
url: `${requestUrl}?$select=Id`,
|
|
59
59
|
headers: {
|
|
60
|
-
|
|
60
|
+
accept: 'application/json;odata=nometadata'
|
|
61
61
|
},
|
|
62
62
|
responseType: 'json'
|
|
63
63
|
};
|
|
64
|
-
const
|
|
65
|
-
|
|
64
|
+
const list = yield request_1.default.get(requestOptions);
|
|
65
|
+
listId = list.Id;
|
|
66
66
|
}
|
|
67
67
|
if (this.debug) {
|
|
68
68
|
logger.logToStderr(`getting request digest for request`);
|
|
69
69
|
}
|
|
70
70
|
const reqDigest = yield spo_1.spo.getRequestDigest(args.options.webUrl);
|
|
71
|
-
formDigestValue = reqDigest.FormDigestValue;
|
|
71
|
+
const formDigestValue = reqDigest.FormDigestValue;
|
|
72
72
|
const objectIdentity = yield spo_1.spo.getCurrentWebIdentity(args.options.webUrl, formDigestValue);
|
|
73
73
|
if (this.verbose) {
|
|
74
|
-
logger.logToStderr(`Undeclare list item as a record in list ${args.options.listId || args.options.listTitle} in site ${args.options.webUrl}...`);
|
|
74
|
+
logger.logToStderr(`Undeclare list item as a record in list ${args.options.listId || args.options.listTitle || args.options.listUrl} in site ${args.options.webUrl}...`);
|
|
75
75
|
}
|
|
76
76
|
const requestOptions = {
|
|
77
77
|
url: `${args.options.webUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
@@ -79,7 +79,7 @@ class SpoListItemRecordUndeclareCommand extends SpoCommand_1.default {
|
|
|
79
79
|
'Content-Type': 'text/xml',
|
|
80
80
|
'X-RequestDigest': formDigestValue
|
|
81
81
|
},
|
|
82
|
-
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><StaticMethod TypeId="{ea8e1356-5910-4e69-bc05-d0c30ed657fc}" Name="UndeclareItemAsRecord" Id="53"><Parameters><Parameter ObjectPathId="49" /></Parameters></StaticMethod></Actions><ObjectPaths><Identity Id="49" Name="${objectIdentity.objectIdentity}:list:${
|
|
82
|
+
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><StaticMethod TypeId="{ea8e1356-5910-4e69-bc05-d0c30ed657fc}" Name="UndeclareItemAsRecord" Id="53"><Parameters><Parameter ObjectPathId="49" /></Parameters></StaticMethod></Actions><ObjectPaths><Identity Id="49" Name="${objectIdentity.objectIdentity}:list:${listId}:item:${args.options.listItemId},1" /></ObjectPaths></Request>`
|
|
83
83
|
};
|
|
84
84
|
yield request_1.default.post(requestOptions);
|
|
85
85
|
// REST post call doesn't return anything
|
|
@@ -94,7 +94,8 @@ _SpoListItemRecordUndeclareCommand_instances = new WeakSet(), _SpoListItemRecord
|
|
|
94
94
|
this.telemetry.push((args) => {
|
|
95
95
|
Object.assign(this.telemetryProperties, {
|
|
96
96
|
listId: typeof args.options.listId !== 'undefined',
|
|
97
|
-
listTitle: typeof args.options.listTitle !== 'undefined'
|
|
97
|
+
listTitle: typeof args.options.listTitle !== 'undefined',
|
|
98
|
+
listUrl: typeof args.options.listUrl !== 'undefined'
|
|
98
99
|
});
|
|
99
100
|
});
|
|
100
101
|
}, _SpoListItemRecordUndeclareCommand_initOptions = function _SpoListItemRecordUndeclareCommand_initOptions() {
|
|
@@ -106,6 +107,8 @@ _SpoListItemRecordUndeclareCommand_instances = new WeakSet(), _SpoListItemRecord
|
|
|
106
107
|
option: '-l, --listId [listId]'
|
|
107
108
|
}, {
|
|
108
109
|
option: '-t, --listTitle [listTitle]'
|
|
110
|
+
}, {
|
|
111
|
+
option: '--listUrl [listUrl]'
|
|
109
112
|
});
|
|
110
113
|
}, _SpoListItemRecordUndeclareCommand_initValidators = function _SpoListItemRecordUndeclareCommand_initValidators() {
|
|
111
114
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -124,7 +127,7 @@ _SpoListItemRecordUndeclareCommand_instances = new WeakSet(), _SpoListItemRecord
|
|
|
124
127
|
return true;
|
|
125
128
|
}));
|
|
126
129
|
}, _SpoListItemRecordUndeclareCommand_initOptionSets = function _SpoListItemRecordUndeclareCommand_initOptionSets() {
|
|
127
|
-
this.optionSets.push(['listId', 'listTitle']);
|
|
130
|
+
this.optionSets.push(['listId', 'listTitle', 'listUrl']);
|
|
128
131
|
};
|
|
129
132
|
module.exports = new SpoListItemRecordUndeclareCommand();
|
|
130
133
|
//# sourceMappingURL=listitem-record-undeclare.js.map
|
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
const Cli_1 = require("../../../../cli/Cli");
|
|
19
19
|
const request_1 = require("../../../../request");
|
|
20
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
21
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
21
22
|
const validation_1 = require("../../../../utils/validation");
|
|
22
23
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
23
24
|
const commands_1 = require("../../commands");
|
|
@@ -40,14 +41,18 @@ class SpoListItemRemoveCommand extends SpoCommand_1.default {
|
|
|
40
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
42
|
const removeListItem = () => __awaiter(this, void 0, void 0, function* () {
|
|
42
43
|
if (this.verbose) {
|
|
43
|
-
logger.logToStderr(`Removing list item in site at ${args.options.webUrl}...`);
|
|
44
|
+
logger.logToStderr(`Removing list from list ${args.options.listId || args.options.listTitle || args.options.listUrl} item in site at ${args.options.webUrl}...`);
|
|
44
45
|
}
|
|
45
|
-
let requestUrl =
|
|
46
|
+
let requestUrl = `${args.options.webUrl}/_api/web`;
|
|
46
47
|
if (args.options.listId) {
|
|
47
|
-
requestUrl
|
|
48
|
+
requestUrl += `/lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')`;
|
|
48
49
|
}
|
|
49
|
-
else {
|
|
50
|
-
requestUrl
|
|
50
|
+
else if (args.options.listTitle) {
|
|
51
|
+
requestUrl += `/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
|
|
52
|
+
}
|
|
53
|
+
else if (args.options.listUrl) {
|
|
54
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
55
|
+
requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
|
|
51
56
|
}
|
|
52
57
|
requestUrl += `/items(${args.options.id})`;
|
|
53
58
|
if (args.options.recycle) {
|
|
@@ -79,7 +84,7 @@ class SpoListItemRemoveCommand extends SpoCommand_1.default {
|
|
|
79
84
|
type: 'confirm',
|
|
80
85
|
name: 'continue',
|
|
81
86
|
default: false,
|
|
82
|
-
message: `Are you sure you want to ${args.options.recycle ? "recycle" : "remove"} the list item ${args.options.id} from list ${args.options.listId || args.options.listTitle} located in site ${args.options.webUrl}?`
|
|
87
|
+
message: `Are you sure you want to ${args.options.recycle ? "recycle" : "remove"} the list item ${args.options.id} from list ${args.options.listId || args.options.listTitle || args.options.listUrl} located in site ${args.options.webUrl}?`
|
|
83
88
|
});
|
|
84
89
|
if (result.continue) {
|
|
85
90
|
yield removeListItem();
|
|
@@ -91,10 +96,11 @@ class SpoListItemRemoveCommand extends SpoCommand_1.default {
|
|
|
91
96
|
_SpoListItemRemoveCommand_instances = new WeakSet(), _SpoListItemRemoveCommand_initTelemetry = function _SpoListItemRemoveCommand_initTelemetry() {
|
|
92
97
|
this.telemetry.push((args) => {
|
|
93
98
|
Object.assign(this.telemetryProperties, {
|
|
94
|
-
listId:
|
|
95
|
-
listTitle:
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
listId: typeof args.options.listId !== 'undefined',
|
|
100
|
+
listTitle: typeof args.options.listTitle !== 'undefined',
|
|
101
|
+
listUrl: typeof args.options.listUrl !== 'undefined',
|
|
102
|
+
recycle: !!args.options.recycle,
|
|
103
|
+
confirm: !!args.options.confirm
|
|
98
104
|
});
|
|
99
105
|
});
|
|
100
106
|
}, _SpoListItemRemoveCommand_initOptions = function _SpoListItemRemoveCommand_initOptions() {
|
|
@@ -106,6 +112,8 @@ _SpoListItemRemoveCommand_instances = new WeakSet(), _SpoListItemRemoveCommand_i
|
|
|
106
112
|
option: '-l, --listId [listId]'
|
|
107
113
|
}, {
|
|
108
114
|
option: '-t, --listTitle [listTitle]'
|
|
115
|
+
}, {
|
|
116
|
+
option: '--listUrl [listUrl]'
|
|
109
117
|
}, {
|
|
110
118
|
option: '--recycle'
|
|
111
119
|
}, {
|
|
@@ -128,7 +136,7 @@ _SpoListItemRemoveCommand_instances = new WeakSet(), _SpoListItemRemoveCommand_i
|
|
|
128
136
|
return true;
|
|
129
137
|
}));
|
|
130
138
|
}, _SpoListItemRemoveCommand_initOptionSets = function _SpoListItemRemoveCommand_initOptionSets() {
|
|
131
|
-
this.optionSets.push(['listId', 'listTitle']);
|
|
139
|
+
this.optionSets.push(['listId', 'listTitle', 'listUrl']);
|
|
132
140
|
};
|
|
133
141
|
module.exports = new SpoListItemRemoveCommand();
|
|
134
142
|
//# sourceMappingURL=listitem-remove.js.map
|
|
@@ -0,0 +1,239 @@
|
|
|
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 _SpoListItemRoleAssignmentAddCommand_instances, _SpoListItemRoleAssignmentAddCommand_initTelemetry, _SpoListItemRoleAssignmentAddCommand_initOptions, _SpoListItemRoleAssignmentAddCommand_initValidators;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const request_1 = require("../../../../request");
|
|
19
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
20
|
+
const commands_1 = require("../../commands");
|
|
21
|
+
const SpoUserGetCommand = require("../user/user-get");
|
|
22
|
+
const SpoGroupGetCommand = require("../group/group-get");
|
|
23
|
+
const SpoRoleDefinitionListCommand = require("../roledefinition/roledefinition-list");
|
|
24
|
+
const validation_1 = require("../../../../utils/validation");
|
|
25
|
+
const formatting_1 = require("../../../../utils/formatting");
|
|
26
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
27
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
28
|
+
class SpoListItemRoleAssignmentAddCommand extends SpoCommand_1.default {
|
|
29
|
+
constructor() {
|
|
30
|
+
super();
|
|
31
|
+
_SpoListItemRoleAssignmentAddCommand_instances.add(this);
|
|
32
|
+
__classPrivateFieldGet(this, _SpoListItemRoleAssignmentAddCommand_instances, "m", _SpoListItemRoleAssignmentAddCommand_initTelemetry).call(this);
|
|
33
|
+
__classPrivateFieldGet(this, _SpoListItemRoleAssignmentAddCommand_instances, "m", _SpoListItemRoleAssignmentAddCommand_initOptions).call(this);
|
|
34
|
+
__classPrivateFieldGet(this, _SpoListItemRoleAssignmentAddCommand_instances, "m", _SpoListItemRoleAssignmentAddCommand_initValidators).call(this);
|
|
35
|
+
}
|
|
36
|
+
get name() {
|
|
37
|
+
return commands_1.default.LISTITEM_ROLEASSIGNMENT_ADD;
|
|
38
|
+
}
|
|
39
|
+
get description() {
|
|
40
|
+
return 'Adds a role assignment to a listitem.';
|
|
41
|
+
}
|
|
42
|
+
commandAction(logger, args) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
if (this.verbose) {
|
|
45
|
+
logger.logToStderr(`Adding role assignment to listitem in site at ${args.options.webUrl}...`);
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
let requestUrl = `${args.options.webUrl}/_api/web/`;
|
|
49
|
+
if (args.options.listId) {
|
|
50
|
+
requestUrl += `lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')/`;
|
|
51
|
+
}
|
|
52
|
+
else if (args.options.listTitle) {
|
|
53
|
+
requestUrl += `lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')/`;
|
|
54
|
+
}
|
|
55
|
+
else if (args.options.listUrl) {
|
|
56
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
57
|
+
requestUrl += `GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/`;
|
|
58
|
+
}
|
|
59
|
+
requestUrl += `items(${args.options.listItemId})/`;
|
|
60
|
+
const roleDefinitionId = yield this.getRoleDefinitionId(args.options);
|
|
61
|
+
let principalId = 0;
|
|
62
|
+
if (args.options.upn) {
|
|
63
|
+
principalId = yield this.getUserPrincipalId(args.options);
|
|
64
|
+
yield this.addRoleAssignment(requestUrl, roleDefinitionId, principalId);
|
|
65
|
+
}
|
|
66
|
+
else if (args.options.groupName) {
|
|
67
|
+
principalId = yield this.getGroupPrincipalId(args.options);
|
|
68
|
+
yield this.addRoleAssignment(requestUrl, roleDefinitionId, principalId);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
principalId = args.options.principalId;
|
|
72
|
+
yield this.addRoleAssignment(requestUrl, roleDefinitionId, principalId);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
this.handleRejectedODataJsonPromise(err);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
addRoleAssignment(requestUrl, roleDefinitionId, principalId) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
try {
|
|
83
|
+
const requestOptions = {
|
|
84
|
+
url: `${requestUrl}roleassignments/addroleassignment(principalid='${principalId}',roledefid='${roleDefinitionId}')`,
|
|
85
|
+
method: 'POST',
|
|
86
|
+
headers: {
|
|
87
|
+
'accept': 'application/json;odata=nometadata',
|
|
88
|
+
'content-type': 'application/json'
|
|
89
|
+
},
|
|
90
|
+
responseType: 'json'
|
|
91
|
+
};
|
|
92
|
+
yield request_1.default.post(requestOptions);
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
return Promise.reject(err);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
getRoleDefinitionId(options) {
|
|
100
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
if (!options.roleDefinitionName) {
|
|
102
|
+
return options.roleDefinitionId;
|
|
103
|
+
}
|
|
104
|
+
try {
|
|
105
|
+
const roleDefinitionListCommandOptions = {
|
|
106
|
+
webUrl: options.webUrl,
|
|
107
|
+
output: 'json',
|
|
108
|
+
debug: this.debug,
|
|
109
|
+
verbose: this.verbose
|
|
110
|
+
};
|
|
111
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoRoleDefinitionListCommand, { options: Object.assign(Object.assign({}, roleDefinitionListCommandOptions), { _: [] }) });
|
|
112
|
+
const getRoleDefinitionListOutput = JSON.parse(output.stdout);
|
|
113
|
+
const roleDefinitionId = getRoleDefinitionListOutput.find((role) => role.Name === options.roleDefinitionName).Id;
|
|
114
|
+
return roleDefinitionId;
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
return Promise.reject(err);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
getGroupPrincipalId(options) {
|
|
122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
try {
|
|
124
|
+
const groupGetCommandOptions = {
|
|
125
|
+
webUrl: options.webUrl,
|
|
126
|
+
name: options.groupName,
|
|
127
|
+
output: 'json',
|
|
128
|
+
debug: this.debug,
|
|
129
|
+
verbose: this.verbose
|
|
130
|
+
};
|
|
131
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
|
|
132
|
+
const getGroupOutput = JSON.parse(output.stdout);
|
|
133
|
+
return getGroupOutput.Id;
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
return Promise.reject(err);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
getUserPrincipalId(options) {
|
|
141
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
142
|
+
try {
|
|
143
|
+
const userGetCommandOptions = {
|
|
144
|
+
webUrl: options.webUrl,
|
|
145
|
+
email: options.upn,
|
|
146
|
+
id: undefined,
|
|
147
|
+
output: 'json',
|
|
148
|
+
debug: this.debug,
|
|
149
|
+
verbose: this.verbose
|
|
150
|
+
};
|
|
151
|
+
const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
|
|
152
|
+
const getUserOutput = JSON.parse(output.stdout);
|
|
153
|
+
return getUserOutput.Id;
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
return Promise.reject(err);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
_SpoListItemRoleAssignmentAddCommand_instances = new WeakSet(), _SpoListItemRoleAssignmentAddCommand_initTelemetry = function _SpoListItemRoleAssignmentAddCommand_initTelemetry() {
|
|
162
|
+
this.telemetry.push((args) => {
|
|
163
|
+
Object.assign(this.telemetryProperties, {
|
|
164
|
+
listId: typeof args.options.listId !== 'undefined',
|
|
165
|
+
listTitle: typeof args.options.listTitle !== 'undefined',
|
|
166
|
+
listUrl: typeof args.options.listUrl !== 'undefined',
|
|
167
|
+
principalId: typeof args.options.principalId !== 'undefined',
|
|
168
|
+
upn: typeof args.options.upn !== 'undefined',
|
|
169
|
+
groupName: typeof args.options.groupName !== 'undefined',
|
|
170
|
+
roleDefinitionId: typeof args.options.roleDefinitionId !== 'undefined',
|
|
171
|
+
roleDefinitionName: typeof args.options.roleDefinitionName !== 'undefined'
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}, _SpoListItemRoleAssignmentAddCommand_initOptions = function _SpoListItemRoleAssignmentAddCommand_initOptions() {
|
|
175
|
+
this.options.unshift({
|
|
176
|
+
option: '-u, --webUrl <webUrl>'
|
|
177
|
+
}, {
|
|
178
|
+
option: '--listItemId <listItemId>'
|
|
179
|
+
}, {
|
|
180
|
+
option: '--listId [listId]'
|
|
181
|
+
}, {
|
|
182
|
+
option: '--listTitle [listTitle]'
|
|
183
|
+
}, {
|
|
184
|
+
option: '--listUrl [listUrl]'
|
|
185
|
+
}, {
|
|
186
|
+
option: '--principalId [principalId]'
|
|
187
|
+
}, {
|
|
188
|
+
option: '--upn [upn]'
|
|
189
|
+
}, {
|
|
190
|
+
option: '--groupName [groupName]'
|
|
191
|
+
}, {
|
|
192
|
+
option: '--roleDefinitionId [roleDefinitionId]'
|
|
193
|
+
}, {
|
|
194
|
+
option: '--roleDefinitionName [roleDefinitionName]'
|
|
195
|
+
});
|
|
196
|
+
}, _SpoListItemRoleAssignmentAddCommand_initValidators = function _SpoListItemRoleAssignmentAddCommand_initValidators() {
|
|
197
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
198
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
199
|
+
if (isValidSharePointUrl !== true) {
|
|
200
|
+
return isValidSharePointUrl;
|
|
201
|
+
}
|
|
202
|
+
if (args.options.listId && !validation_1.validation.isValidGuid(args.options.listId)) {
|
|
203
|
+
return `${args.options.listId} is not a valid GUID`;
|
|
204
|
+
}
|
|
205
|
+
if (args.options.listItemId && isNaN(args.options.listItemId)) {
|
|
206
|
+
return `Specified listItemId ${args.options.listItemId} is not a number`;
|
|
207
|
+
}
|
|
208
|
+
if (args.options.principalId && isNaN(args.options.principalId)) {
|
|
209
|
+
return `Specified principalId ${args.options.principalId} is not a number`;
|
|
210
|
+
}
|
|
211
|
+
if (args.options.roleDefinitionId && isNaN(args.options.roleDefinitionId)) {
|
|
212
|
+
return `Specified roleDefinitionId ${args.options.roleDefinitionId} is not a number`;
|
|
213
|
+
}
|
|
214
|
+
const listOptions = [args.options.listId, args.options.listTitle, args.options.listUrl];
|
|
215
|
+
if (listOptions.some(item => item !== undefined) && listOptions.filter(item => item !== undefined).length > 1) {
|
|
216
|
+
return `Specify either list id or title or list url`;
|
|
217
|
+
}
|
|
218
|
+
if (listOptions.filter(item => item !== undefined).length === 0) {
|
|
219
|
+
return `Specify at least list id or title or list url`;
|
|
220
|
+
}
|
|
221
|
+
const principalOptions = [args.options.principalId, args.options.upn, args.options.groupName];
|
|
222
|
+
if (!principalOptions.some(item => item !== undefined)) {
|
|
223
|
+
return `Specify either principalId, upn or groupName`;
|
|
224
|
+
}
|
|
225
|
+
if (principalOptions.filter(item => item !== undefined).length > 1) {
|
|
226
|
+
return `Specify either principalId, upn or groupName but not multiple`;
|
|
227
|
+
}
|
|
228
|
+
const roleDefinitionOptions = [args.options.roleDefinitionId, args.options.roleDefinitionName];
|
|
229
|
+
if (!roleDefinitionOptions.some(item => item !== undefined)) {
|
|
230
|
+
return `Specify either roleDefinitionId or roleDefinitionName`;
|
|
231
|
+
}
|
|
232
|
+
if (roleDefinitionOptions.filter(item => item !== undefined).length > 1) {
|
|
233
|
+
return `Specify either roleDefinitionId or roleDefinitionName but not multiple`;
|
|
234
|
+
}
|
|
235
|
+
return true;
|
|
236
|
+
}));
|
|
237
|
+
};
|
|
238
|
+
module.exports = new SpoListItemRoleAssignmentAddCommand();
|
|
239
|
+
//# sourceMappingURL=listitem-roleassignment-add.js.map
|
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
const Cli_1 = require("../../../../cli/Cli");
|
|
19
19
|
const request_1 = require("../../../../request");
|
|
20
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
21
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
21
22
|
const validation_1 = require("../../../../utils/validation");
|
|
22
23
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
23
24
|
const commands_1 = require("../../commands");
|
|
@@ -44,12 +45,16 @@ class SpoListItemRoleInheritanceBreakCommand extends SpoCommand_1.default {
|
|
|
44
45
|
}
|
|
45
46
|
const breakListItemRoleInheritance = () => __awaiter(this, void 0, void 0, function* () {
|
|
46
47
|
try {
|
|
47
|
-
let requestUrl = `${args.options.webUrl}/_api/web
|
|
48
|
+
let requestUrl = `${args.options.webUrl}/_api/web`;
|
|
48
49
|
if (args.options.listId) {
|
|
49
|
-
requestUrl +=
|
|
50
|
+
requestUrl += `/lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')`;
|
|
50
51
|
}
|
|
51
|
-
else {
|
|
52
|
-
requestUrl += `/getbytitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
|
|
52
|
+
else if (args.options.listTitle) {
|
|
53
|
+
requestUrl += `/lists/getbytitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
|
|
54
|
+
}
|
|
55
|
+
else if (args.options.listUrl) {
|
|
56
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
57
|
+
requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
|
|
53
58
|
}
|
|
54
59
|
let keepExistingPermissions = true;
|
|
55
60
|
if (args.options.clearExistingPermissions) {
|
|
@@ -92,6 +97,7 @@ _SpoListItemRoleInheritanceBreakCommand_instances = new WeakSet(), _SpoListItemR
|
|
|
92
97
|
Object.assign(this.telemetryProperties, {
|
|
93
98
|
listId: typeof args.options.listId !== 'undefined',
|
|
94
99
|
listTitle: typeof args.options.listTitle !== 'undefined',
|
|
100
|
+
listUrl: typeof args.options.listUrl !== 'undefined',
|
|
95
101
|
clearExistingPermissions: args.options.clearExistingPermissions === true,
|
|
96
102
|
confirm: (!(!args.options.confirm)).toString()
|
|
97
103
|
});
|
|
@@ -105,6 +111,8 @@ _SpoListItemRoleInheritanceBreakCommand_instances = new WeakSet(), _SpoListItemR
|
|
|
105
111
|
option: '-l, --listId [listId]'
|
|
106
112
|
}, {
|
|
107
113
|
option: '-t, --listTitle [listTitle]'
|
|
114
|
+
}, {
|
|
115
|
+
option: '--listUrl [listUrl]'
|
|
108
116
|
}, {
|
|
109
117
|
option: '-c, --clearExistingPermissions'
|
|
110
118
|
}, {
|
|
@@ -125,7 +133,7 @@ _SpoListItemRoleInheritanceBreakCommand_instances = new WeakSet(), _SpoListItemR
|
|
|
125
133
|
return true;
|
|
126
134
|
}));
|
|
127
135
|
}, _SpoListItemRoleInheritanceBreakCommand_initOptionSets = function _SpoListItemRoleInheritanceBreakCommand_initOptionSets() {
|
|
128
|
-
this.optionSets.push(['listId', 'listTitle']);
|
|
136
|
+
this.optionSets.push(['listId', 'listTitle', 'listUrl']);
|
|
129
137
|
};
|
|
130
138
|
module.exports = new SpoListItemRoleInheritanceBreakCommand();
|
|
131
139
|
//# sourceMappingURL=listitem-roleinheritance-break.js.map
|