@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.
Files changed (111) hide show
  1. package/.eslintrc.js +4 -2
  2. package/dist/Command.js +16 -2
  3. package/dist/m365/aad/commands/app/app-add.js +37 -13
  4. package/dist/m365/commands/status.js +6 -1
  5. package/dist/m365/outlook/commands/mail/mail-send.js +55 -31
  6. package/dist/m365/planner/commands/bucket/bucket-get.js +1 -1
  7. package/dist/m365/pp/commands/Environment.js +3 -0
  8. package/dist/m365/pp/commands/card/card-get.js +110 -0
  9. package/dist/m365/pp/commands/card/card-list.js +68 -0
  10. package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +6 -12
  11. package/dist/m365/pp/commands/environment/environment-get.js +75 -0
  12. package/dist/m365/pp/commands/gateway/gateway-get.js +70 -0
  13. package/dist/m365/pp/commands/solution/solution-get.js +117 -0
  14. package/dist/m365/pp/commands.js +5 -0
  15. package/dist/m365/spfx/commands/project/project-doctor.js +4 -1
  16. package/dist/m365/spfx/commands/project/project-externalize.js +4 -1
  17. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010001_YORC_version.js +2 -1
  18. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010002_YORC_isCreatingSolution.js +2 -1
  19. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010003_YORC_packageManager.js +2 -1
  20. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010004_YORC_componentType.js +2 -1
  21. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010005_YORC_environment.js +2 -1
  22. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010006_YORC_framework.js +3 -2
  23. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010007_YORC_isDomainIsolated.js +2 -1
  24. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +2 -1
  25. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010009_YORC_sdkVersions_microsoft_graph_client.js +56 -0
  26. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010010_YORC_sdkVersions_teams_js.js +56 -0
  27. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.16.0-beta.1.js → upgrade-1.16.0-beta.2.js} +44 -28
  28. package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
  29. package/dist/m365/spfx/commands/spfx-doctor.js +3 -3
  30. package/dist/m365/spo/commands/contenttype/contenttype-add.js +82 -43
  31. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +53 -21
  32. package/dist/m365/spo/commands/contenttype/contenttype-get.js +35 -14
  33. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +129 -0
  34. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +168 -0
  35. package/dist/m365/spo/commands/list/list-contenttype-add.js +21 -18
  36. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +59 -47
  37. package/dist/m365/spo/commands/list/list-contenttype-list.js +16 -8
  38. package/dist/m365/spo/commands/list/list-contenttype-remove.js +16 -8
  39. package/dist/m365/spo/commands/list/list-roleassignment-add.js +1 -1
  40. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +14 -6
  41. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +15 -7
  42. package/dist/m365/spo/commands/list/list-webhook-add.js +19 -11
  43. package/dist/m365/spo/commands/list/list-webhook-get.js +17 -10
  44. package/dist/m365/spo/commands/list/list-webhook-list.js +23 -24
  45. package/dist/m365/spo/commands/list/list-webhook-remove.js +19 -11
  46. package/dist/m365/spo/commands/list/list-webhook-set.js +18 -10
  47. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +239 -0
  48. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +100 -0
  49. package/dist/m365/spo/commands.js +4 -0
  50. package/dist/m365/teams/commands/channel/channel-add.js +9 -9
  51. package/dist/m365/todo/commands/list/list-get.js +89 -0
  52. package/dist/m365/todo/commands/task/task-add.js +55 -3
  53. package/dist/m365/todo/commands/task/task-set.js +53 -1
  54. package/dist/m365/todo/commands.js +1 -0
  55. package/docs/docs/_clisettings.md +19 -0
  56. package/docs/docs/cmd/outlook/mail/mail-send.md +13 -0
  57. package/docs/docs/cmd/planner/bucket/bucket-add.md +29 -0
  58. package/docs/docs/cmd/planner/bucket/bucket-get.md +29 -0
  59. package/docs/docs/cmd/planner/bucket/bucket-list.md +30 -0
  60. package/docs/docs/cmd/planner/bucket/bucket-remove.md +4 -0
  61. package/docs/docs/cmd/planner/bucket/bucket-set.md +4 -0
  62. package/docs/docs/cmd/planner/plan/plan-add.md +123 -0
  63. package/docs/docs/cmd/planner/plan/plan-get.md +75 -0
  64. package/docs/docs/cmd/planner/plan/plan-list.md +45 -0
  65. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  66. package/docs/docs/cmd/pp/card/card-get.md +51 -0
  67. package/docs/docs/cmd/pp/card/card-list.md +33 -0
  68. package/docs/docs/cmd/pp/environment/environment-get.md +38 -0
  69. package/docs/docs/cmd/pp/gateway/gateway-get.md +24 -0
  70. package/docs/docs/cmd/pp/solution/solution-get.md +51 -0
  71. package/docs/docs/cmd/spfx/project/project-rename.md +1 -14
  72. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  73. package/docs/docs/cmd/spo/contenttype/contenttype-add.md +20 -2
  74. package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.md +22 -4
  75. package/docs/docs/cmd/spo/contenttype/contenttype-get.md +21 -3
  76. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-get.md +2 -2
  77. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +2 -2
  78. package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +54 -0
  79. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.md +57 -0
  80. package/docs/docs/cmd/spo/list/list-contenttype-add.md +16 -7
  81. package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +16 -7
  82. package/docs/docs/cmd/spo/list/list-contenttype-list.md +15 -6
  83. package/docs/docs/cmd/spo/list/list-contenttype-remove.md +17 -8
  84. package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +11 -8
  85. package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +14 -5
  86. package/docs/docs/cmd/spo/list/list-webhook-add.md +15 -16
  87. package/docs/docs/cmd/spo/list/list-webhook-get.md +16 -7
  88. package/docs/docs/cmd/spo/list/list-webhook-list.md +16 -7
  89. package/docs/docs/cmd/spo/list/list-webhook-remove.md +12 -10
  90. package/docs/docs/cmd/spo/list/list-webhook-set.md +14 -12
  91. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.md +81 -0
  92. package/docs/docs/cmd/spo/web/web-roleinheritance-break.md +44 -0
  93. package/docs/docs/cmd/teams/channel/channel-add.md +4 -4
  94. package/docs/docs/cmd/tenant/id/id-get.md +20 -0
  95. package/docs/docs/cmd/tenant/report/report-activeusercounts.md +35 -0
  96. package/docs/docs/cmd/tenant/report/report-activeuserdetail.md +49 -0
  97. package/docs/docs/cmd/tenant/report/report-office365activationcounts.md +32 -0
  98. package/docs/docs/cmd/tenant/report/report-office365activationsusercounts.md +30 -0
  99. package/docs/docs/cmd/tenant/report/report-office365activationsuserdetail.md +36 -0
  100. package/docs/docs/cmd/tenant/report/report-servicesusercounts.md +41 -0
  101. package/docs/docs/cmd/tenant/security/security-alerts-list.md +105 -0
  102. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +87 -0
  103. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +91 -0
  104. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.md +62 -0
  105. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.md +51 -0
  106. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.md +64 -0
  107. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.md +52 -0
  108. package/docs/docs/cmd/todo/list/list-get.md +61 -0
  109. package/docs/docs/cmd/todo/task/task-add.md +32 -5
  110. package/docs/docs/cmd/todo/task/task-set.md +29 -2
  111. 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 'Specify owner when creating a private channel.';
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 'Specify owner only when creating a private channel.';
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
  };