@pnp/cli-microsoft365 5.9.0-beta.86c5624 → 5.9.0-beta.8773bb6
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 +37 -13
- package/dist/m365/commands/status.js +6 -1
- package/dist/m365/outlook/commands/mail/mail-send.js +55 -31
- package/dist/m365/planner/commands/bucket/bucket-get.js +1 -1
- 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/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-get.js +117 -0
- package/dist/m365/pp/commands.js +5 -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/file/file-roleinheritance-break.js +129 -0
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +168 -0
- 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 +1 -1
- package/dist/m365/spo/commands/list/list-roleinheritance-break.js +14 -6
- package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +15 -7
- 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 +23 -24
- package/dist/m365/spo/commands/list/list-webhook-remove.js +19 -11
- package/dist/m365/spo/commands/list/list-webhook-set.js +18 -10
- package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +239 -0
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +100 -0
- package/dist/m365/spo/commands.js +4 -0
- package/dist/m365/teams/commands/channel/channel-add.js +9 -9
- 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-set.js +53 -1
- package/dist/m365/todo/commands.js +1 -0
- package/docs/docs/_clisettings.md +19 -0
- package/docs/docs/cmd/outlook/mail/mail-send.md +13 -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 -0
- 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/pp/card/card-get.md +51 -0
- package/docs/docs/cmd/pp/card/card-list.md +33 -0
- package/docs/docs/cmd/pp/environment/environment-get.md +38 -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/eventreceiver/eventreceiver-get.md +2 -2
- package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +2 -2
- package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +54 -0
- package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.md +57 -0
- package/docs/docs/cmd/spo/list/list-contenttype-add.md +16 -7
- 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 +17 -8
- package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +11 -8
- package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +14 -5
- 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 +16 -7
- package/docs/docs/cmd/spo/list/list-webhook-remove.md +12 -10
- package/docs/docs/cmd/spo/list/list-webhook-set.md +14 -12
- package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.md +81 -0
- 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/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-set.md +29 -2
- package/package.json +12 -4
|
@@ -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
|
|
@@ -0,0 +1,100 @@
|
|
|
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 _SpoWebRoleInheritanceBreakCommand_instances, _SpoWebRoleInheritanceBreakCommand_initTelemetry, _SpoWebRoleInheritanceBreakCommand_initOptions, _SpoWebRoleInheritanceBreakCommand_initValidators;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
19
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
20
|
+
const commands_1 = require("../../commands");
|
|
21
|
+
const request_1 = require("../../../../request");
|
|
22
|
+
const validation_1 = require("../../../../utils/validation");
|
|
23
|
+
class SpoWebRoleInheritanceBreakCommand extends SpoCommand_1.default {
|
|
24
|
+
constructor() {
|
|
25
|
+
super();
|
|
26
|
+
_SpoWebRoleInheritanceBreakCommand_instances.add(this);
|
|
27
|
+
__classPrivateFieldGet(this, _SpoWebRoleInheritanceBreakCommand_instances, "m", _SpoWebRoleInheritanceBreakCommand_initTelemetry).call(this);
|
|
28
|
+
__classPrivateFieldGet(this, _SpoWebRoleInheritanceBreakCommand_instances, "m", _SpoWebRoleInheritanceBreakCommand_initOptions).call(this);
|
|
29
|
+
__classPrivateFieldGet(this, _SpoWebRoleInheritanceBreakCommand_instances, "m", _SpoWebRoleInheritanceBreakCommand_initValidators).call(this);
|
|
30
|
+
}
|
|
31
|
+
get name() {
|
|
32
|
+
return commands_1.default.WEB_ROLEINHERITANCE_BREAK;
|
|
33
|
+
}
|
|
34
|
+
get description() {
|
|
35
|
+
return 'Break role inheritance of subsite';
|
|
36
|
+
}
|
|
37
|
+
commandAction(logger, args) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
if (this.verbose) {
|
|
40
|
+
logger.logToStderr(`Break role inheritance of subsite with URL ${args.options.webUrl}...`);
|
|
41
|
+
}
|
|
42
|
+
const breakroleInheritance = () => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const requestOptions = {
|
|
44
|
+
url: `${args.options.webUrl}/_api/web/breakroleinheritance(${!args.options.clearExistingPermissions})`,
|
|
45
|
+
headers: {
|
|
46
|
+
'accept': 'application/json;odata=nometadata',
|
|
47
|
+
'content-type': 'application/json'
|
|
48
|
+
},
|
|
49
|
+
responseType: 'json'
|
|
50
|
+
};
|
|
51
|
+
try {
|
|
52
|
+
yield request_1.default.post(requestOptions);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
this.handleRejectedODataJsonPromise(err);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
if (args.options.confirm) {
|
|
59
|
+
yield breakroleInheritance();
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const result = yield Cli_1.Cli.prompt({
|
|
63
|
+
type: 'confirm',
|
|
64
|
+
name: 'continue',
|
|
65
|
+
default: false,
|
|
66
|
+
message: `Are you sure you want to break the role inheritance of subsite ${args.options.webUrl}`
|
|
67
|
+
});
|
|
68
|
+
if (result.continue) {
|
|
69
|
+
yield breakroleInheritance();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
_SpoWebRoleInheritanceBreakCommand_instances = new WeakSet(), _SpoWebRoleInheritanceBreakCommand_initTelemetry = function _SpoWebRoleInheritanceBreakCommand_initTelemetry() {
|
|
76
|
+
this.telemetry.push((args) => {
|
|
77
|
+
Object.assign(this.telemetryProperties, {
|
|
78
|
+
clearExistingPermissions: !!args.options.clearExistingPermissions,
|
|
79
|
+
confirm: !!args.options.confirm
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
}, _SpoWebRoleInheritanceBreakCommand_initOptions = function _SpoWebRoleInheritanceBreakCommand_initOptions() {
|
|
83
|
+
this.options.unshift({
|
|
84
|
+
option: '-u, --webUrl <webUrl>'
|
|
85
|
+
}, {
|
|
86
|
+
option: '-c, --clearExistingPermissions'
|
|
87
|
+
}, {
|
|
88
|
+
option: '--confirm'
|
|
89
|
+
});
|
|
90
|
+
}, _SpoWebRoleInheritanceBreakCommand_initValidators = function _SpoWebRoleInheritanceBreakCommand_initValidators() {
|
|
91
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
93
|
+
if (isValidSharePointUrl !== true) {
|
|
94
|
+
return isValidSharePointUrl;
|
|
95
|
+
}
|
|
96
|
+
return true;
|
|
97
|
+
}));
|
|
98
|
+
};
|
|
99
|
+
module.exports = new SpoWebRoleInheritanceBreakCommand();
|
|
100
|
+
//# sourceMappingURL=web-roleinheritance-break.js.map
|
|
@@ -59,6 +59,7 @@ exports.default = {
|
|
|
59
59
|
FILE_RENAME: `${prefix} file rename`,
|
|
60
60
|
FILE_ROLEASSIGNMENT_ADD: `${prefix} file roleassignment add`,
|
|
61
61
|
FILE_ROLEASSIGNMENT_REMOVE: `${prefix} file roleassignment remove`,
|
|
62
|
+
FILE_ROLEINHERITANCE_BREAK: `${prefix} file roleinheritance break`,
|
|
62
63
|
FILE_ROLEINHERITANCE_RESET: `${prefix} file roleinheritance reset`,
|
|
63
64
|
FILE_SHARINGINFO_GET: `${prefix} file sharinginfo get`,
|
|
64
65
|
FOLDER_ADD: `${prefix} folder add`,
|
|
@@ -68,6 +69,7 @@ exports.default = {
|
|
|
68
69
|
FOLDER_MOVE: `${prefix} folder move`,
|
|
69
70
|
FOLDER_REMOVE: `${prefix} folder remove`,
|
|
70
71
|
FOLDER_RENAME: `${prefix} folder rename`,
|
|
72
|
+
FOLDER_ROLEASSIGNMENT_REMOVE: `${prefix} folder roleassignment remove`,
|
|
71
73
|
FOLDER_ROLEINHERITANCE_BREAK: `${prefix} folder roleinheritance break`,
|
|
72
74
|
FOLDER_ROLEINHERITANCE_RESET: `${prefix} folder roleinheritance reset`,
|
|
73
75
|
GET: `${prefix} get`,
|
|
@@ -135,6 +137,7 @@ exports.default = {
|
|
|
135
137
|
LISTITEM_RECORD_DECLARE: `${prefix} listitem record declare`,
|
|
136
138
|
LISTITEM_RECORD_UNDECLARE: `${prefix} listitem record undeclare`,
|
|
137
139
|
LISTITEM_REMOVE: `${prefix} listitem remove`,
|
|
140
|
+
LISTITEM_ROLEASSIGNMENT_ADD: `${prefix} listitem roleassignment add`,
|
|
138
141
|
LISTITEM_ROLEASSIGNMENT_REMOVE: `${prefix} listitem roleassignment remove`,
|
|
139
142
|
LISTITEM_ROLEINHERITANCE_BREAK: `${prefix} listitem roleinheritance break`,
|
|
140
143
|
LISTITEM_ROLEINHERITANCE_RESET: `${prefix} listitem roleinheritance reset`,
|
|
@@ -281,6 +284,7 @@ exports.default = {
|
|
|
281
284
|
WEB_REMOVE: `${prefix} web remove`,
|
|
282
285
|
WEB_ROLEASSIGNMENT_REMOVE: `${prefix} web roleassignment remove`,
|
|
283
286
|
WEB_ROLEASSIGNMENT_ADD: `${prefix} web roleassignment add`,
|
|
287
|
+
WEB_ROLEINHERITANCE_BREAK: `${prefix} web roleinheritance break`,
|
|
284
288
|
WEB_ROLEINHERITANCE_RESET: `${prefix} web roleinheritance reset`,
|
|
285
289
|
WEB_SET: `${prefix} web set`
|
|
286
290
|
};
|
|
@@ -73,8 +73,8 @@ class TeamsChannelAddCommand extends GraphCommand_1.default {
|
|
|
73
73
|
},
|
|
74
74
|
responseType: 'json'
|
|
75
75
|
};
|
|
76
|
-
if (args.options.type === 'private') {
|
|
77
|
-
// Private channels must have at least 1 owner
|
|
76
|
+
if (args.options.type === 'private' || args.options.type === 'shared') {
|
|
77
|
+
// Private and Shared channels must have at least 1 owner
|
|
78
78
|
requestOptions.data.members = [
|
|
79
79
|
{
|
|
80
80
|
'@odata.type': '#microsoft.graph.aadUserConversationMember',
|
|
@@ -119,7 +119,7 @@ _TeamsChannelAddCommand_instances = new WeakSet(), _TeamsChannelAddCommand_initT
|
|
|
119
119
|
option: '-d, --description [description]'
|
|
120
120
|
}, {
|
|
121
121
|
option: '--type [type]',
|
|
122
|
-
autocomplete: ['standard', 'private']
|
|
122
|
+
autocomplete: ['standard', 'private', 'shared']
|
|
123
123
|
}, {
|
|
124
124
|
option: '--owner [owner]'
|
|
125
125
|
});
|
|
@@ -128,14 +128,14 @@ _TeamsChannelAddCommand_instances = new WeakSet(), _TeamsChannelAddCommand_initT
|
|
|
128
128
|
if (args.options.teamId && !validation_1.validation.isValidGuid(args.options.teamId)) {
|
|
129
129
|
return `${args.options.teamId} is not a valid GUID`;
|
|
130
130
|
}
|
|
131
|
-
if (args.options.type && ['standard', 'private'].indexOf(args.options.type) === -1) {
|
|
132
|
-
return `${args.options.type} is not a valid type value. Allowed values standard|private.`;
|
|
131
|
+
if (args.options.type && ['standard', 'private', 'shared'].indexOf(args.options.type) === -1) {
|
|
132
|
+
return `${args.options.type} is not a valid type value. Allowed values standard|private|shared.`;
|
|
133
133
|
}
|
|
134
|
-
if (args.options.type === 'private' && !args.options.owner) {
|
|
135
|
-
return
|
|
134
|
+
if ((args.options.type === 'private' || args.options.type === 'shared') && !args.options.owner) {
|
|
135
|
+
return `Specify owner when creating a ${args.options.type} channel.`;
|
|
136
136
|
}
|
|
137
|
-
if (args.options.type !== 'private' && args.options.owner) {
|
|
138
|
-
return
|
|
137
|
+
if ((args.options.type !== 'private' && args.options.type !== 'shared') && args.options.owner) {
|
|
138
|
+
return `Specify owner only when creating a private or shared channel.`;
|
|
139
139
|
}
|
|
140
140
|
return true;
|
|
141
141
|
}));
|
|
@@ -0,0 +1,89 @@
|
|
|
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 _TodoListGetCommand_instances, _TodoListGetCommand_initTelemetry, _TodoListGetCommand_initOptions, _TodoListGetCommand_initOptionSets;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const request_1 = require("../../../../request");
|
|
19
|
+
const formatting_1 = require("../../../../utils/formatting");
|
|
20
|
+
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
21
|
+
const commands_1 = require("../../commands");
|
|
22
|
+
class TodoListGetCommand extends GraphCommand_1.default {
|
|
23
|
+
constructor() {
|
|
24
|
+
super();
|
|
25
|
+
_TodoListGetCommand_instances.add(this);
|
|
26
|
+
__classPrivateFieldGet(this, _TodoListGetCommand_instances, "m", _TodoListGetCommand_initTelemetry).call(this);
|
|
27
|
+
__classPrivateFieldGet(this, _TodoListGetCommand_instances, "m", _TodoListGetCommand_initOptions).call(this);
|
|
28
|
+
__classPrivateFieldGet(this, _TodoListGetCommand_instances, "m", _TodoListGetCommand_initOptionSets).call(this);
|
|
29
|
+
}
|
|
30
|
+
get name() {
|
|
31
|
+
return commands_1.default.LIST_GET;
|
|
32
|
+
}
|
|
33
|
+
get description() {
|
|
34
|
+
return 'Gets a specific list of Microsoft To Do task lists';
|
|
35
|
+
}
|
|
36
|
+
defaultProperties() {
|
|
37
|
+
return ['displayName', 'id'];
|
|
38
|
+
}
|
|
39
|
+
commandAction(logger, args) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
try {
|
|
42
|
+
const item = yield this.getList(args.options);
|
|
43
|
+
logger.log(item);
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
this.handleRejectedODataJsonPromise(err);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
getList(options) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
const requestOptions = {
|
|
53
|
+
headers: {
|
|
54
|
+
accept: 'application/json;odata.metadata=none'
|
|
55
|
+
},
|
|
56
|
+
responseType: 'json'
|
|
57
|
+
};
|
|
58
|
+
if (options.id) {
|
|
59
|
+
requestOptions.url = `${this.resource}/v1.0/me/todo/lists/${options.id}`;
|
|
60
|
+
const result = yield request_1.default.get(requestOptions);
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
requestOptions.url = `${this.resource}/v1.0/me/todo/lists?$filter=displayName eq '${formatting_1.formatting.encodeQueryParameter(options.name)}'`;
|
|
64
|
+
const result = yield request_1.default.get(requestOptions);
|
|
65
|
+
if (result.value.length === 0) {
|
|
66
|
+
throw `The specified list '${options.name}' does not exist.`;
|
|
67
|
+
}
|
|
68
|
+
return result.value[0];
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
_TodoListGetCommand_instances = new WeakSet(), _TodoListGetCommand_initTelemetry = function _TodoListGetCommand_initTelemetry() {
|
|
73
|
+
this.telemetry.push((args) => {
|
|
74
|
+
Object.assign(this.telemetryProperties, {
|
|
75
|
+
id: typeof args.options.id !== 'undefined',
|
|
76
|
+
name: typeof args.options.name !== 'undefined'
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}, _TodoListGetCommand_initOptions = function _TodoListGetCommand_initOptions() {
|
|
80
|
+
this.options.unshift({
|
|
81
|
+
option: '-i, --id [id]'
|
|
82
|
+
}, {
|
|
83
|
+
option: '-n, --name [name]'
|
|
84
|
+
});
|
|
85
|
+
}, _TodoListGetCommand_initOptionSets = function _TodoListGetCommand_initOptionSets() {
|
|
86
|
+
this.optionSets.push(['id', 'name']);
|
|
87
|
+
};
|
|
88
|
+
module.exports = new TodoListGetCommand();
|
|
89
|
+
//# sourceMappingURL=list-get.js.map
|
|
@@ -13,9 +13,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
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
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var _TodoTaskAddCommand_instances, _TodoTaskAddCommand_initTelemetry, _TodoTaskAddCommand_initOptions, _TodoTaskAddCommand_initOptionSets;
|
|
16
|
+
var _TodoTaskAddCommand_instances, _TodoTaskAddCommand_initTelemetry, _TodoTaskAddCommand_initOptions, _TodoTaskAddCommand_initValidators, _TodoTaskAddCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
|
+
const validation_1 = require("../../../../utils/validation");
|
|
19
20
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
20
21
|
const commands_1 = require("../../commands");
|
|
21
22
|
class TodoTaskAddCommand extends GraphCommand_1.default {
|
|
@@ -24,6 +25,7 @@ class TodoTaskAddCommand extends GraphCommand_1.default {
|
|
|
24
25
|
_TodoTaskAddCommand_instances.add(this);
|
|
25
26
|
__classPrivateFieldGet(this, _TodoTaskAddCommand_instances, "m", _TodoTaskAddCommand_initTelemetry).call(this);
|
|
26
27
|
__classPrivateFieldGet(this, _TodoTaskAddCommand_instances, "m", _TodoTaskAddCommand_initOptions).call(this);
|
|
28
|
+
__classPrivateFieldGet(this, _TodoTaskAddCommand_instances, "m", _TodoTaskAddCommand_initValidators).call(this);
|
|
27
29
|
__classPrivateFieldGet(this, _TodoTaskAddCommand_instances, "m", _TodoTaskAddCommand_initOptionSets).call(this);
|
|
28
30
|
}
|
|
29
31
|
get name() {
|
|
@@ -33,6 +35,7 @@ class TodoTaskAddCommand extends GraphCommand_1.default {
|
|
|
33
35
|
return 'Add a task to a Microsoft To Do task list';
|
|
34
36
|
}
|
|
35
37
|
commandAction(logger, args) {
|
|
38
|
+
var _a, _b;
|
|
36
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
40
|
const endpoint = `${this.resource}/v1.0`;
|
|
38
41
|
try {
|
|
@@ -44,7 +47,14 @@ class TodoTaskAddCommand extends GraphCommand_1.default {
|
|
|
44
47
|
'Content-Type': 'application/json'
|
|
45
48
|
},
|
|
46
49
|
data: {
|
|
47
|
-
title: args.options.title
|
|
50
|
+
title: args.options.title,
|
|
51
|
+
body: {
|
|
52
|
+
content: args.options.bodyContent,
|
|
53
|
+
contentType: ((_a = args.options.bodyContentType) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || 'text'
|
|
54
|
+
},
|
|
55
|
+
importance: (_b = args.options.importance) === null || _b === void 0 ? void 0 : _b.toLowerCase(),
|
|
56
|
+
dueDateTime: this.getDateTimeTimeZone(args.options.dueDateTime),
|
|
57
|
+
reminderDateTime: this.getDateTimeTimeZone(args.options.reminderDateTime)
|
|
48
58
|
},
|
|
49
59
|
responseType: 'json'
|
|
50
60
|
};
|
|
@@ -56,6 +66,15 @@ class TodoTaskAddCommand extends GraphCommand_1.default {
|
|
|
56
66
|
}
|
|
57
67
|
});
|
|
58
68
|
}
|
|
69
|
+
getDateTimeTimeZone(dateTime) {
|
|
70
|
+
if (!dateTime) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
dateTime: dateTime,
|
|
75
|
+
timeZone: 'Etc/GMT'
|
|
76
|
+
};
|
|
77
|
+
}
|
|
59
78
|
getTodoListId(args) {
|
|
60
79
|
if (args.options.listId) {
|
|
61
80
|
return Promise.resolve(args.options.listId);
|
|
@@ -81,7 +100,12 @@ _TodoTaskAddCommand_instances = new WeakSet(), _TodoTaskAddCommand_initTelemetry
|
|
|
81
100
|
this.telemetry.push((args) => {
|
|
82
101
|
Object.assign(this.telemetryProperties, {
|
|
83
102
|
listId: typeof args.options.listId !== 'undefined',
|
|
84
|
-
listName: typeof args.options.listName !== 'undefined'
|
|
103
|
+
listName: typeof args.options.listName !== 'undefined',
|
|
104
|
+
bodyContent: typeof args.options.bodyContent !== 'undefined',
|
|
105
|
+
bodyContentType: args.options.bodyContentType,
|
|
106
|
+
dueDateTime: typeof args.options.dueDateTime !== 'undefined',
|
|
107
|
+
importance: args.options.importance,
|
|
108
|
+
reminderDateTime: typeof args.options.reminderDateTime !== 'undefined'
|
|
85
109
|
});
|
|
86
110
|
});
|
|
87
111
|
}, _TodoTaskAddCommand_initOptions = function _TodoTaskAddCommand_initOptions() {
|
|
@@ -91,7 +115,35 @@ _TodoTaskAddCommand_instances = new WeakSet(), _TodoTaskAddCommand_initTelemetry
|
|
|
91
115
|
option: '--listName [listName]'
|
|
92
116
|
}, {
|
|
93
117
|
option: '--listId [listId]'
|
|
118
|
+
}, {
|
|
119
|
+
option: '--bodyContent [bodyContent]'
|
|
120
|
+
}, {
|
|
121
|
+
option: '--bodyContentType [bodyContentType]',
|
|
122
|
+
autocomplete: ['text', 'html']
|
|
123
|
+
}, {
|
|
124
|
+
option: '--dueDateTime [dueDateTime]'
|
|
125
|
+
}, {
|
|
126
|
+
option: '--importance [importance]',
|
|
127
|
+
autocomplete: ['low', 'normal', 'high']
|
|
128
|
+
}, {
|
|
129
|
+
option: '--reminderDateTime [reminderDateTime]'
|
|
94
130
|
});
|
|
131
|
+
}, _TodoTaskAddCommand_initValidators = function _TodoTaskAddCommand_initValidators() {
|
|
132
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
if (args.options.bodyContentType && ['text', 'html'].indexOf(args.options.bodyContentType.toLowerCase()) === -1) {
|
|
134
|
+
return `'${args.options.bodyContentType}' is not a valid value for the bodyContentType option. Allowed values are text|html`;
|
|
135
|
+
}
|
|
136
|
+
if (args.options.importance && ['low', 'normal', 'high'].indexOf(args.options.importance.toLowerCase()) === -1) {
|
|
137
|
+
return `'${args.options.importance}' is not a valid value for the importance option. Allowed values are low|normal|high`;
|
|
138
|
+
}
|
|
139
|
+
if (args.options.dueDateTime && !validation_1.validation.isValidISODateTime(args.options.dueDateTime)) {
|
|
140
|
+
return `'${args.options.dueDateTime}' is not a valid ISO date string`;
|
|
141
|
+
}
|
|
142
|
+
if (args.options.reminderDateTime && !validation_1.validation.isValidISODateTime(args.options.reminderDateTime)) {
|
|
143
|
+
return `'${args.options.reminderDateTime}' is not a valid ISO date string`;
|
|
144
|
+
}
|
|
145
|
+
return true;
|
|
146
|
+
}));
|
|
95
147
|
}, _TodoTaskAddCommand_initOptionSets = function _TodoTaskAddCommand_initOptionSets() {
|
|
96
148
|
this.optionSets.push(['listId', 'listName']);
|
|
97
149
|
};
|