@pnp/cli-microsoft365 6.0.0-beta.42305df → 6.0.0-beta.48a730d
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 +15 -2
- package/README.md +5 -0
- 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/Environment.js +3 -0
- package/dist/m365/pp/commands/card/card-get.js +110 -0
- package/dist/m365/pp/commands/card/card-list.js +68 -0
- package/dist/m365/pp/commands/card/card-remove.js +130 -0
- package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +6 -12
- package/dist/m365/pp/commands/environment/environment-get.js +75 -0
- package/dist/m365/pp/commands/gateway/gateway-get.js +70 -0
- package/dist/m365/pp/commands/solution/Solution.js +3 -0
- package/dist/m365/pp/commands/solution/solution-get.js +117 -0
- package/dist/m365/pp/commands/solution/solution-list.js +87 -0
- package/dist/m365/pp/commands.js +7 -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.14.0.js +0 -2
- 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 +5 -2
- package/dist/m365/spfx/commands/spfx-doctor.js +39 -9
- 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/eventreceiver/EventReceiver.js +3 -0
- package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +182 -0
- 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/file/file-copy.js +25 -39
- package/dist/m365/spo/commands/file/file-move.js +24 -37
- package/dist/m365/spo/commands/file/file-rename.js +19 -16
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +129 -0
- package/dist/m365/spo/commands/folder/folder-list.js +35 -12
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +168 -0
- 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/group/AssociatedGroupPropertiesCollection.js +3 -0
- package/dist/m365/spo/commands/group/group-list.js +49 -10
- package/dist/m365/spo/commands/list/list-contenttype-add.js +21 -18
- package/dist/m365/spo/commands/list/list-contenttype-default-set.js +59 -47
- package/dist/m365/spo/commands/list/list-contenttype-list.js +16 -8
- package/dist/m365/spo/commands/list/list-contenttype-remove.js +16 -8
- package/dist/m365/spo/commands/list/list-roleassignment-add.js +10 -10
- package/dist/m365/spo/commands/list/list-roleassignment-remove.js +8 -8
- 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-roleassignment-remove.js +8 -8
- 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-roleassignment-add.js +10 -10
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +8 -8
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +100 -0
- package/dist/m365/spo/commands.js +8 -3
- package/dist/m365/teams/commands/channel/channel-add.js +9 -9
- 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/dist/utils/md.js +8 -1
- 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-list.md +33 -0
- package/docs/docs/cmd/pp/card/card-remove.md +82 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +2 -2
- package/docs/docs/cmd/pp/environment/environment-get.md +38 -0
- package/docs/docs/cmd/pp/environment/environment-list.md +1 -1
- 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/pp/solution/solution-list.md +33 -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/spfx/spfx-doctor.md +10 -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 +69 -0
- 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/file/file-roleinheritance-break.md +54 -0
- package/docs/docs/cmd/spo/folder/folder-list.md +45 -0
- package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.md +57 -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/group/group-list.md +10 -1
- 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-contenttype-add.md +15 -6
- package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +16 -7
- package/docs/docs/cmd/spo/list/list-contenttype-list.md +15 -6
- package/docs/docs/cmd/spo/list/list-contenttype-remove.md +16 -7
- 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/channel/channel-add.md +4 -4
- 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 -3
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
|
@@ -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
|
|
@@ -58,15 +58,15 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
58
58
|
}
|
|
59
59
|
requestUrl += `items(${args.options.listItemId})/`;
|
|
60
60
|
if (args.options.upn) {
|
|
61
|
-
args.options.principalId = yield this.
|
|
62
|
-
yield this.
|
|
61
|
+
args.options.principalId = yield this.getUserPrincipalId(args.options);
|
|
62
|
+
yield this.removeRoleAssignment(requestUrl, logger, args.options);
|
|
63
63
|
}
|
|
64
64
|
else if (args.options.groupName) {
|
|
65
|
-
args.options.principalId = yield this.
|
|
66
|
-
yield this.
|
|
65
|
+
args.options.principalId = yield this.getGroupPrincipalId(args.options);
|
|
66
|
+
yield this.removeRoleAssignment(requestUrl, logger, args.options);
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
|
-
yield this.
|
|
69
|
+
yield this.removeRoleAssignment(requestUrl, logger, args.options);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
catch (err) {
|
|
@@ -89,7 +89,7 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
89
89
|
}
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
removeRoleAssignment(requestUrl, logger, options) {
|
|
93
93
|
const requestOptions = {
|
|
94
94
|
url: `${requestUrl}roleassignments/removeroleassignment(principalid='${options.principalId}')`,
|
|
95
95
|
method: 'POST',
|
|
@@ -104,7 +104,7 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
104
104
|
.then(_ => Promise.resolve())
|
|
105
105
|
.catch((err) => Promise.reject(err));
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
getGroupPrincipalId(options) {
|
|
108
108
|
const groupGetCommandOptions = {
|
|
109
109
|
webUrl: options.webUrl,
|
|
110
110
|
name: options.groupName,
|
|
@@ -120,7 +120,7 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand_1.default {
|
|
|
120
120
|
return Promise.reject(err);
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
|
-
|
|
123
|
+
getUserPrincipalId(options) {
|
|
124
124
|
const userGetCommandOptions = {
|
|
125
125
|
webUrl: options.webUrl,
|
|
126
126
|
email: options.upn,
|
|
@@ -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
|
|
@@ -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 SpoListItemRoleInheritanceResetCommand extends SpoCommand_1.default {
|
|
|
44
45
|
}
|
|
45
46
|
const resetListItemRoleInheritance = () => __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
|
const requestOptions = {
|
|
55
60
|
url: `${requestUrl}/items(${args.options.listItemId})/resetroleinheritance`,
|
|
@@ -88,6 +93,7 @@ _SpoListItemRoleInheritanceResetCommand_instances = new WeakSet(), _SpoListItemR
|
|
|
88
93
|
Object.assign(this.telemetryProperties, {
|
|
89
94
|
listId: typeof args.options.listId !== 'undefined',
|
|
90
95
|
listTitle: typeof args.options.listTitle !== 'undefined',
|
|
96
|
+
listUrl: typeof args.options.listUrl !== 'undefined',
|
|
91
97
|
confirm: (!(!args.options.confirm)).toString()
|
|
92
98
|
});
|
|
93
99
|
});
|
|
@@ -100,6 +106,8 @@ _SpoListItemRoleInheritanceResetCommand_instances = new WeakSet(), _SpoListItemR
|
|
|
100
106
|
option: '--listId [listId]'
|
|
101
107
|
}, {
|
|
102
108
|
option: '--listTitle [listTitle]'
|
|
109
|
+
}, {
|
|
110
|
+
option: '--listUrl [listUrl]'
|
|
103
111
|
}, {
|
|
104
112
|
option: '--confirm'
|
|
105
113
|
});
|
|
@@ -118,7 +126,7 @@ _SpoListItemRoleInheritanceResetCommand_instances = new WeakSet(), _SpoListItemR
|
|
|
118
126
|
return true;
|
|
119
127
|
}));
|
|
120
128
|
}, _SpoListItemRoleInheritanceResetCommand_initOptionSets = function _SpoListItemRoleInheritanceResetCommand_initOptionSets() {
|
|
121
|
-
this.optionSets.push(['listId', 'listTitle']);
|
|
129
|
+
this.optionSets.push(['listId', 'listTitle', 'listUrl']);
|
|
122
130
|
};
|
|
123
131
|
module.exports = new SpoListItemRoleInheritanceResetCommand();
|
|
124
132
|
//# sourceMappingURL=listitem-roleinheritance-reset.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");
|
|
@@ -43,35 +44,41 @@ class SpoListItemSetCommand extends SpoCommand_1.default {
|
|
|
43
44
|
}
|
|
44
45
|
commandAction(logger, args) {
|
|
45
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
const listIdArgument = args.options.listId || '';
|
|
47
|
-
const listTitleArgument = args.options.listTitle || '';
|
|
48
|
-
const listRestUrl = (args.options.listId ?
|
|
49
|
-
`${args.options.webUrl}/_api/web/lists(guid'${formatting_1.formatting.encodeQueryParameter(listIdArgument)}')`
|
|
50
|
-
: `${args.options.webUrl}/_api/web/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(listTitleArgument)}')`);
|
|
51
47
|
let contentTypeName = '';
|
|
52
|
-
let
|
|
53
|
-
let environmentListId = '';
|
|
48
|
+
let listId = '';
|
|
54
49
|
try {
|
|
55
|
-
|
|
50
|
+
let requestUrl = `${args.options.webUrl}/_api/web`;
|
|
51
|
+
if (args.options.listId) {
|
|
52
|
+
listId = args.options.listId;
|
|
53
|
+
requestUrl += `/lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')`;
|
|
54
|
+
}
|
|
55
|
+
else if (args.options.listTitle) {
|
|
56
|
+
requestUrl += `/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
|
|
57
|
+
}
|
|
58
|
+
else if (args.options.listUrl) {
|
|
59
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
60
|
+
requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
|
|
61
|
+
}
|
|
62
|
+
if (args.options.systemUpdate && !args.options.listId) {
|
|
56
63
|
if (this.verbose) {
|
|
57
64
|
logger.logToStderr(`Getting list id...`);
|
|
58
65
|
}
|
|
59
66
|
const listRequestOptions = {
|
|
60
|
-
url: `${
|
|
67
|
+
url: `${requestUrl}?$select=Id`,
|
|
61
68
|
headers: {
|
|
62
69
|
'accept': 'application/json;odata=nometadata'
|
|
63
70
|
},
|
|
64
71
|
responseType: 'json'
|
|
65
72
|
};
|
|
66
|
-
const
|
|
67
|
-
|
|
73
|
+
const list = yield request_1.default.get(listRequestOptions);
|
|
74
|
+
listId = list.Id;
|
|
68
75
|
}
|
|
69
76
|
if (args.options.contentType) {
|
|
70
77
|
if (this.verbose) {
|
|
71
78
|
logger.logToStderr(`Getting content types for list...`);
|
|
72
79
|
}
|
|
73
80
|
const requestOptions = {
|
|
74
|
-
url: `${
|
|
81
|
+
url: `${requestUrl}/contenttypes?$select=Name,Id`,
|
|
75
82
|
headers: {
|
|
76
83
|
'accept': 'application/json;odata=nometadata'
|
|
77
84
|
},
|
|
@@ -112,9 +119,9 @@ class SpoListItemSetCommand extends SpoCommand_1.default {
|
|
|
112
119
|
res = yield spo_1.spo.getRequestDigest(args.options.webUrl);
|
|
113
120
|
}
|
|
114
121
|
if (this.verbose) {
|
|
115
|
-
logger.logToStderr(`Updating item in list ${args.options.listId || args.options.listTitle} in site ${args.options.webUrl}...`);
|
|
122
|
+
logger.logToStderr(`Updating item in list ${args.options.listId || args.options.listTitle || args.options.listUrl} in site ${args.options.webUrl}...`);
|
|
116
123
|
}
|
|
117
|
-
formDigestValue = args.options.systemUpdate ? res['FormDigestValue'] : '';
|
|
124
|
+
const formDigestValue = args.options.systemUpdate ? res['FormDigestValue'] : '';
|
|
118
125
|
let objectIdentity = '';
|
|
119
126
|
if (args.options.systemUpdate) {
|
|
120
127
|
objectIdentity = yield this.requestObjectIdentity(args.options.webUrl, logger, formDigestValue);
|
|
@@ -133,7 +140,7 @@ class SpoListItemSetCommand extends SpoCommand_1.default {
|
|
|
133
140
|
<Method Name="SystemUpdate" Id="2" ObjectPathId="147" />
|
|
134
141
|
</Actions>
|
|
135
142
|
<ObjectPaths>
|
|
136
|
-
<Identity Id="147" Name="${objectIdentity}:list:${
|
|
143
|
+
<Identity Id="147" Name="${objectIdentity}:list:${listId}:item:${args.options.id},1" />
|
|
137
144
|
</ObjectPaths>
|
|
138
145
|
</Request>`
|
|
139
146
|
: {
|
|
@@ -158,7 +165,7 @@ class SpoListItemSetCommand extends SpoCommand_1.default {
|
|
|
158
165
|
data: requestBody
|
|
159
166
|
} :
|
|
160
167
|
{
|
|
161
|
-
url: `${
|
|
168
|
+
url: `${requestUrl}/items(${args.options.id})/ValidateUpdateListItem()`,
|
|
162
169
|
headers: {
|
|
163
170
|
'accept': 'application/json;odata=nometadata'
|
|
164
171
|
},
|
|
@@ -186,7 +193,7 @@ class SpoListItemSetCommand extends SpoCommand_1.default {
|
|
|
186
193
|
}
|
|
187
194
|
}
|
|
188
195
|
const requestOptionsItems = {
|
|
189
|
-
url: `${
|
|
196
|
+
url: `${requestUrl}/items(${itemId})`,
|
|
190
197
|
headers: {
|
|
191
198
|
'accept': 'application/json;odata=nometadata'
|
|
192
199
|
},
|
|
@@ -205,6 +212,7 @@ class SpoListItemSetCommand extends SpoCommand_1.default {
|
|
|
205
212
|
const excludeOptions = [
|
|
206
213
|
'listTitle',
|
|
207
214
|
'listId',
|
|
215
|
+
'listUrl',
|
|
208
216
|
'webUrl',
|
|
209
217
|
'id',
|
|
210
218
|
'contentType',
|
|
@@ -247,31 +255,28 @@ class SpoListItemSetCommand extends SpoCommand_1.default {
|
|
|
247
255
|
* @param cmd command cmd
|
|
248
256
|
*/
|
|
249
257
|
requestObjectIdentity(webUrl, logger, formDigestValue) {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
request_1.default.post(requestOptions)
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
}).catch((err) => {
|
|
273
|
-
reject(err);
|
|
274
|
-
});
|
|
258
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
259
|
+
const requestOptions = {
|
|
260
|
+
url: `${webUrl}/_vti_bin/client.svc/ProcessQuery`,
|
|
261
|
+
headers: {
|
|
262
|
+
'X-RequestDigest': formDigestValue
|
|
263
|
+
},
|
|
264
|
+
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><Query Id="1" ObjectPathId="5"><Query SelectAllProperties="false"><Properties><Property Name="ServerRelativeUrl" ScalarProperty="true" /></Properties></Query></Query></Actions><ObjectPaths><Property Id="5" ParentId="3" Name="Web" /><StaticProperty Id="3" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" /></ObjectPaths></Request>`
|
|
265
|
+
};
|
|
266
|
+
const response = yield request_1.default.post(requestOptions);
|
|
267
|
+
if (this.debug) {
|
|
268
|
+
logger.logToStderr('Attempt to get _ObjectIdentity_ key values');
|
|
269
|
+
}
|
|
270
|
+
const json = JSON.parse(response);
|
|
271
|
+
const contents = json.find(x => { return x['ErrorInfo']; });
|
|
272
|
+
if (contents && contents.ErrorInfo) {
|
|
273
|
+
throw contents.ErrorInfo.ErrorMessage || 'ClientSvc unknown error';
|
|
274
|
+
}
|
|
275
|
+
const identityObject = json.find(x => { return x['_ObjectIdentity_']; });
|
|
276
|
+
if (identityObject) {
|
|
277
|
+
return identityObject['_ObjectIdentity_'];
|
|
278
|
+
}
|
|
279
|
+
throw 'Cannot proceed. _ObjectIdentity_ not found'; // this is not supposed to happen
|
|
275
280
|
});
|
|
276
281
|
}
|
|
277
282
|
}
|
|
@@ -280,6 +285,7 @@ _SpoListItemSetCommand_instances = new WeakSet(), _SpoListItemSetCommand_initTel
|
|
|
280
285
|
Object.assign(this.telemetryProperties, {
|
|
281
286
|
listId: typeof args.options.listId !== 'undefined',
|
|
282
287
|
listTitle: typeof args.options.listTitle !== 'undefined',
|
|
288
|
+
listUrl: typeof args.options.listUrl !== 'undefined',
|
|
283
289
|
contentType: typeof args.options.contentType !== 'undefined',
|
|
284
290
|
systemUpdate: typeof args.options.systemUpdate !== 'undefined'
|
|
285
291
|
});
|
|
@@ -293,6 +299,8 @@ _SpoListItemSetCommand_instances = new WeakSet(), _SpoListItemSetCommand_initTel
|
|
|
293
299
|
option: '-l, --listId [listId]'
|
|
294
300
|
}, {
|
|
295
301
|
option: '-t, --listTitle [listTitle]'
|
|
302
|
+
}, {
|
|
303
|
+
option: '--listUrl [listUrl]'
|
|
296
304
|
}, {
|
|
297
305
|
option: '-c, --contentType [contentType]'
|
|
298
306
|
}, {
|
|
@@ -311,10 +319,10 @@ _SpoListItemSetCommand_instances = new WeakSet(), _SpoListItemSetCommand_initTel
|
|
|
311
319
|
return true;
|
|
312
320
|
}));
|
|
313
321
|
}, _SpoListItemSetCommand_initTypes = function _SpoListItemSetCommand_initTypes() {
|
|
314
|
-
this.types.string.push('webUrl', 'listId', 'listTitle', 'id', 'contentType');
|
|
322
|
+
this.types.string.push('webUrl', 'listId', 'listTitle', 'listUrl', 'id', 'contentType');
|
|
315
323
|
this.types.boolean.push('systemUpdate');
|
|
316
324
|
}, _SpoListItemSetCommand_initOptionSets = function _SpoListItemSetCommand_initOptionSets() {
|
|
317
|
-
this.optionSets.push(['listId', 'listTitle']);
|
|
325
|
+
this.optionSets.push(['listId', 'listTitle', 'listUrl']);
|
|
318
326
|
};
|
|
319
327
|
module.exports = new SpoListItemSetCommand();
|
|
320
328
|
//# sourceMappingURL=listitem-set.js.map
|
|
@@ -18,7 +18,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
19
|
const validation_1 = require("../../../../utils/validation");
|
|
20
20
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
21
|
+
const base_permissions_1 = require("../../base-permissions");
|
|
21
22
|
const commands_1 = require("../../commands");
|
|
23
|
+
const RoleType_1 = require("./RoleType");
|
|
22
24
|
class SpoRoleDefinitionListCommand extends SpoCommand_1.default {
|
|
23
25
|
constructor() {
|
|
24
26
|
super();
|
|
@@ -48,14 +50,25 @@ class SpoRoleDefinitionListCommand extends SpoCommand_1.default {
|
|
|
48
50
|
responseType: 'json'
|
|
49
51
|
};
|
|
50
52
|
try {
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
+
const res = yield request_1.default.get(requestOptions);
|
|
54
|
+
const response = this.setFriendlyPermissions(res.value);
|
|
55
|
+
logger.log(response);
|
|
53
56
|
}
|
|
54
57
|
catch (err) {
|
|
55
58
|
this.handleRejectedODataJsonPromise(err);
|
|
56
59
|
}
|
|
57
60
|
});
|
|
58
61
|
}
|
|
62
|
+
setFriendlyPermissions(response) {
|
|
63
|
+
response.forEach((r) => {
|
|
64
|
+
const permissions = new base_permissions_1.BasePermissions();
|
|
65
|
+
permissions.high = r.BasePermissions.High;
|
|
66
|
+
permissions.low = r.BasePermissions.Low;
|
|
67
|
+
r.BasePermissionsValue = permissions.parse();
|
|
68
|
+
r.RoleTypeKindValue = RoleType_1.RoleType[r.RoleTypeKind];
|
|
69
|
+
});
|
|
70
|
+
return response;
|
|
71
|
+
}
|
|
59
72
|
}
|
|
60
73
|
_SpoRoleDefinitionListCommand_instances = new WeakSet(), _SpoRoleDefinitionListCommand_initOptions = function _SpoRoleDefinitionListCommand_initOptions() {
|
|
61
74
|
this.options.unshift({
|