@pnp/cli-microsoft365 5.9.0-beta.fd24b4e → 5.9.0

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 (152) hide show
  1. package/.eslintrc.js +15 -2
  2. package/README.md +5 -0
  3. package/dist/Command.js +16 -2
  4. package/dist/m365/aad/commands/app/app-add.js +37 -13
  5. package/dist/m365/commands/status.js +6 -1
  6. package/dist/m365/outlook/commands/mail/mail-send.js +55 -31
  7. package/dist/m365/planner/commands/bucket/bucket-get.js +1 -1
  8. package/dist/m365/pp/commands/Environment.js +3 -0
  9. package/dist/m365/pp/commands/card/card-get.js +110 -0
  10. package/dist/m365/pp/commands/card/card-list.js +68 -0
  11. package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +6 -12
  12. package/dist/m365/pp/commands/environment/environment-get.js +75 -0
  13. package/dist/m365/pp/commands/gateway/gateway-get.js +70 -0
  14. package/dist/m365/pp/commands/solution/solution-get.js +117 -0
  15. package/dist/m365/pp/commands.js +5 -0
  16. package/dist/m365/spfx/commands/project/project-doctor.js +4 -1
  17. package/dist/m365/spfx/commands/project/project-externalize.js +4 -1
  18. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010001_YORC_version.js +2 -1
  19. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010002_YORC_isCreatingSolution.js +2 -1
  20. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010003_YORC_packageManager.js +2 -1
  21. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010004_YORC_componentType.js +2 -1
  22. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010005_YORC_environment.js +2 -1
  23. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010006_YORC_framework.js +3 -2
  24. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010007_YORC_isDomainIsolated.js +2 -1
  25. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +2 -1
  26. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010009_YORC_sdkVersions_microsoft_graph_client.js +56 -0
  27. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010010_YORC_sdkVersions_teams_js.js +56 -0
  28. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.16.0-beta.1.js → upgrade-1.16.0-beta.2.js} +44 -28
  29. package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
  30. package/dist/m365/spfx/commands/spfx-doctor.js +3 -3
  31. package/dist/m365/spo/commands/contenttype/contenttype-add.js +82 -43
  32. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +53 -21
  33. package/dist/m365/spo/commands/contenttype/contenttype-get.js +35 -14
  34. package/dist/m365/spo/commands/eventreceiver/EventReceiver.js +3 -0
  35. package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +182 -0
  36. package/dist/m365/spo/commands/field/field-add.js +26 -1
  37. package/dist/m365/spo/commands/field/field-set.js +23 -13
  38. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +129 -0
  39. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +168 -0
  40. package/dist/m365/spo/commands/group/AssociatedGroupPropertiesCollection.js +3 -0
  41. package/dist/m365/spo/commands/group/group-list.js +49 -10
  42. package/dist/m365/spo/commands/list/list-contenttype-add.js +21 -18
  43. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +59 -47
  44. package/dist/m365/spo/commands/list/list-contenttype-list.js +16 -8
  45. package/dist/m365/spo/commands/list/list-contenttype-remove.js +16 -8
  46. package/dist/m365/spo/commands/list/list-roleassignment-add.js +10 -10
  47. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +8 -8
  48. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +14 -6
  49. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +15 -7
  50. package/dist/m365/spo/commands/list/list-webhook-add.js +19 -11
  51. package/dist/m365/spo/commands/list/list-webhook-get.js +17 -10
  52. package/dist/m365/spo/commands/list/list-webhook-list.js +23 -24
  53. package/dist/m365/spo/commands/list/list-webhook-remove.js +19 -11
  54. package/dist/m365/spo/commands/list/list-webhook-set.js +18 -10
  55. package/dist/m365/spo/commands/listitem/listitem-add.js +24 -14
  56. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +18 -8
  57. package/dist/m365/spo/commands/listitem/listitem-get.js +18 -8
  58. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +20 -10
  59. package/dist/m365/spo/commands/listitem/listitem-list.js +27 -11
  60. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +19 -12
  61. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +24 -21
  62. package/dist/m365/spo/commands/listitem/listitem-remove.js +19 -11
  63. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +239 -0
  64. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +8 -8
  65. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +13 -5
  66. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +14 -6
  67. package/dist/m365/spo/commands/listitem/listitem-set.js +52 -44
  68. package/dist/m365/spo/commands/web/web-roleassignment-add.js +10 -10
  69. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +8 -8
  70. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +100 -0
  71. package/dist/m365/spo/commands.js +5 -0
  72. package/dist/m365/teams/commands/channel/channel-add.js +9 -9
  73. package/dist/m365/todo/commands/list/list-get.js +89 -0
  74. package/dist/m365/todo/commands/task/task-add.js +55 -3
  75. package/dist/m365/todo/commands/task/task-get.js +108 -0
  76. package/dist/m365/todo/commands/task/task-set.js +53 -1
  77. package/dist/m365/todo/commands.js +2 -0
  78. package/docs/docs/_clisettings.md +19 -0
  79. package/docs/docs/cmd/outlook/mail/mail-send.md +13 -0
  80. package/docs/docs/cmd/planner/bucket/bucket-add.md +29 -0
  81. package/docs/docs/cmd/planner/bucket/bucket-get.md +29 -0
  82. package/docs/docs/cmd/planner/bucket/bucket-list.md +30 -0
  83. package/docs/docs/cmd/planner/bucket/bucket-remove.md +4 -0
  84. package/docs/docs/cmd/planner/bucket/bucket-set.md +4 -0
  85. package/docs/docs/cmd/planner/plan/plan-add.md +123 -0
  86. package/docs/docs/cmd/planner/plan/plan-get.md +75 -0
  87. package/docs/docs/cmd/planner/plan/plan-list.md +45 -0
  88. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  89. package/docs/docs/cmd/pp/card/card-get.md +51 -0
  90. package/docs/docs/cmd/pp/card/card-list.md +33 -0
  91. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +2 -2
  92. package/docs/docs/cmd/pp/environment/environment-get.md +38 -0
  93. package/docs/docs/cmd/pp/environment/environment-list.md +1 -1
  94. package/docs/docs/cmd/pp/gateway/gateway-get.md +24 -0
  95. package/docs/docs/cmd/pp/solution/solution-get.md +51 -0
  96. package/docs/docs/cmd/pp/solution/solution-list.md +2 -2
  97. package/docs/docs/cmd/spfx/project/project-rename.md +1 -14
  98. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  99. package/docs/docs/cmd/spo/contenttype/contenttype-add.md +20 -2
  100. package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.md +22 -4
  101. package/docs/docs/cmd/spo/contenttype/contenttype-get.md +21 -3
  102. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-get.md +2 -2
  103. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +69 -0
  104. package/docs/docs/cmd/spo/field/field-add.md +20 -2
  105. package/docs/docs/cmd/spo/field/field-set.md +11 -2
  106. package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +54 -0
  107. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.md +57 -0
  108. package/docs/docs/cmd/spo/group/group-list.md +10 -1
  109. package/docs/docs/cmd/spo/list/list-contenttype-add.md +16 -7
  110. package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +16 -7
  111. package/docs/docs/cmd/spo/list/list-contenttype-list.md +15 -6
  112. package/docs/docs/cmd/spo/list/list-contenttype-remove.md +17 -8
  113. package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +11 -8
  114. package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +14 -5
  115. package/docs/docs/cmd/spo/list/list-webhook-add.md +15 -16
  116. package/docs/docs/cmd/spo/list/list-webhook-get.md +16 -7
  117. package/docs/docs/cmd/spo/list/list-webhook-list.md +16 -7
  118. package/docs/docs/cmd/spo/list/list-webhook-remove.md +12 -10
  119. package/docs/docs/cmd/spo/list/list-webhook-set.md +14 -12
  120. package/docs/docs/cmd/spo/listitem/listitem-add.md +11 -2
  121. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +11 -2
  122. package/docs/docs/cmd/spo/listitem/listitem-get.md +11 -2
  123. package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +12 -2
  124. package/docs/docs/cmd/spo/listitem/listitem-list.md +12 -3
  125. package/docs/docs/cmd/spo/listitem/listitem-record-declare.md +7 -4
  126. package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.md +11 -2
  127. package/docs/docs/cmd/spo/listitem/listitem-remove.md +11 -2
  128. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.md +81 -0
  129. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +7 -4
  130. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-reset.md +11 -2
  131. package/docs/docs/cmd/spo/listitem/listitem-set.md +7 -4
  132. package/docs/docs/cmd/spo/web/web-roleinheritance-break.md +44 -0
  133. package/docs/docs/cmd/teams/channel/channel-add.md +4 -4
  134. package/docs/docs/cmd/tenant/id/id-get.md +20 -0
  135. package/docs/docs/cmd/tenant/report/report-activeusercounts.md +35 -0
  136. package/docs/docs/cmd/tenant/report/report-activeuserdetail.md +49 -0
  137. package/docs/docs/cmd/tenant/report/report-office365activationcounts.md +32 -0
  138. package/docs/docs/cmd/tenant/report/report-office365activationsusercounts.md +30 -0
  139. package/docs/docs/cmd/tenant/report/report-office365activationsuserdetail.md +36 -0
  140. package/docs/docs/cmd/tenant/report/report-servicesusercounts.md +41 -0
  141. package/docs/docs/cmd/tenant/security/security-alerts-list.md +105 -0
  142. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +87 -0
  143. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +91 -0
  144. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.md +62 -0
  145. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.md +51 -0
  146. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.md +64 -0
  147. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.md +52 -0
  148. package/docs/docs/cmd/todo/list/list-get.md +61 -0
  149. package/docs/docs/cmd/todo/task/task-add.md +32 -5
  150. package/docs/docs/cmd/todo/task/task-get.md +75 -0
  151. package/docs/docs/cmd/todo/task/task-set.md +29 -2
  152. package/package.json +12 -3
@@ -44,15 +44,15 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
44
44
  }
45
45
  try {
46
46
  if (args.options.upn) {
47
- args.options.principalId = yield this.GetUserPrincipalId(args.options);
48
- yield this.RemoveRoleAssignment(logger, args.options);
47
+ args.options.principalId = yield this.getUserPrincipalId(args.options);
48
+ yield this.removeRoleAssignment(logger, args.options);
49
49
  }
50
50
  else if (args.options.groupName) {
51
- args.options.principalId = yield this.GetGroupPrincipalId(args.options);
52
- yield this.RemoveRoleAssignment(logger, args.options);
51
+ args.options.principalId = yield this.getGroupPrincipalId(args.options);
52
+ yield this.removeRoleAssignment(logger, args.options);
53
53
  }
54
54
  else {
55
- yield this.RemoveRoleAssignment(logger, args.options);
55
+ yield this.removeRoleAssignment(logger, args.options);
56
56
  }
57
57
  }
58
58
  catch (err) {
@@ -75,7 +75,7 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
75
75
  }
76
76
  });
77
77
  }
78
- RemoveRoleAssignment(logger, options) {
78
+ removeRoleAssignment(logger, options) {
79
79
  const requestOptions = {
80
80
  url: `${options.webUrl}/_api/web/roleassignments/removeroleassignment(principalid='${options.principalId}')`,
81
81
  method: 'POST',
@@ -90,7 +90,7 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
90
90
  .then(_ => Promise.resolve())
91
91
  .catch((err) => Promise.reject(err));
92
92
  }
93
- GetGroupPrincipalId(options) {
93
+ getGroupPrincipalId(options) {
94
94
  const groupGetCommandOptions = {
95
95
  webUrl: options.webUrl,
96
96
  name: options.groupName,
@@ -106,7 +106,7 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand_1.default {
106
106
  return Promise.reject(err);
107
107
  });
108
108
  }
109
- GetUserPrincipalId(options) {
109
+ getUserPrincipalId(options) {
110
110
  const userGetCommandOptions = {
111
111
  webUrl: options.webUrl,
112
112
  email: options.upn,
@@ -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
@@ -38,6 +38,7 @@ exports.default = {
38
38
  CUSTOMACTION_REMOVE: `${prefix} customaction remove`,
39
39
  EVENTRECEIVER_GET: `${prefix} eventreceiver get`,
40
40
  EVENTRECEIVER_LIST: `${prefix} eventreceiver list`,
41
+ EVENTRECEIVER_REMOVE: `${prefix} eventreceiver remove`,
41
42
  EXTERNALUSER_LIST: `${prefix} externaluser list`,
42
43
  FEATURE_DISABLE: `${prefix} feature disable`,
43
44
  FEATURE_ENABLE: `${prefix} feature enable`,
@@ -58,6 +59,7 @@ exports.default = {
58
59
  FILE_RENAME: `${prefix} file rename`,
59
60
  FILE_ROLEASSIGNMENT_ADD: `${prefix} file roleassignment add`,
60
61
  FILE_ROLEASSIGNMENT_REMOVE: `${prefix} file roleassignment remove`,
62
+ FILE_ROLEINHERITANCE_BREAK: `${prefix} file roleinheritance break`,
61
63
  FILE_ROLEINHERITANCE_RESET: `${prefix} file roleinheritance reset`,
62
64
  FILE_SHARINGINFO_GET: `${prefix} file sharinginfo get`,
63
65
  FOLDER_ADD: `${prefix} folder add`,
@@ -67,6 +69,7 @@ exports.default = {
67
69
  FOLDER_MOVE: `${prefix} folder move`,
68
70
  FOLDER_REMOVE: `${prefix} folder remove`,
69
71
  FOLDER_RENAME: `${prefix} folder rename`,
72
+ FOLDER_ROLEASSIGNMENT_REMOVE: `${prefix} folder roleassignment remove`,
70
73
  FOLDER_ROLEINHERITANCE_BREAK: `${prefix} folder roleinheritance break`,
71
74
  FOLDER_ROLEINHERITANCE_RESET: `${prefix} folder roleinheritance reset`,
72
75
  GET: `${prefix} get`,
@@ -134,6 +137,7 @@ exports.default = {
134
137
  LISTITEM_RECORD_DECLARE: `${prefix} listitem record declare`,
135
138
  LISTITEM_RECORD_UNDECLARE: `${prefix} listitem record undeclare`,
136
139
  LISTITEM_REMOVE: `${prefix} listitem remove`,
140
+ LISTITEM_ROLEASSIGNMENT_ADD: `${prefix} listitem roleassignment add`,
137
141
  LISTITEM_ROLEASSIGNMENT_REMOVE: `${prefix} listitem roleassignment remove`,
138
142
  LISTITEM_ROLEINHERITANCE_BREAK: `${prefix} listitem roleinheritance break`,
139
143
  LISTITEM_ROLEINHERITANCE_RESET: `${prefix} listitem roleinheritance reset`,
@@ -280,6 +284,7 @@ exports.default = {
280
284
  WEB_REMOVE: `${prefix} web remove`,
281
285
  WEB_ROLEASSIGNMENT_REMOVE: `${prefix} web roleassignment remove`,
282
286
  WEB_ROLEASSIGNMENT_ADD: `${prefix} web roleassignment add`,
287
+ WEB_ROLEINHERITANCE_BREAK: `${prefix} web roleinheritance break`,
283
288
  WEB_ROLEINHERITANCE_RESET: `${prefix} web roleinheritance reset`,
284
289
  WEB_SET: `${prefix} web set`
285
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
  };
@@ -0,0 +1,108 @@
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 _TodoTaskGetCommand_instances, _TodoTaskGetCommand_initTelemetry, _TodoTaskGetCommand_initOptions, _TodoTaskGetCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const request_1 = require("../../../../request");
19
+ const GraphCommand_1 = require("../../../base/GraphCommand");
20
+ const commands_1 = require("../../commands");
21
+ class TodoTaskGetCommand extends GraphCommand_1.default {
22
+ constructor() {
23
+ super();
24
+ _TodoTaskGetCommand_instances.add(this);
25
+ __classPrivateFieldGet(this, _TodoTaskGetCommand_instances, "m", _TodoTaskGetCommand_initTelemetry).call(this);
26
+ __classPrivateFieldGet(this, _TodoTaskGetCommand_instances, "m", _TodoTaskGetCommand_initOptions).call(this);
27
+ __classPrivateFieldGet(this, _TodoTaskGetCommand_instances, "m", _TodoTaskGetCommand_initOptionSets).call(this);
28
+ }
29
+ get name() {
30
+ return commands_1.default.TASK_GET;
31
+ }
32
+ get description() {
33
+ return 'Get a specific task from a Microsoft To Do task list';
34
+ }
35
+ defaultProperties() {
36
+ return ['id', 'title', 'status', 'createdDateTime', 'lastModifiedDateTime'];
37
+ }
38
+ getTodoListId(args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (args.options.listId) {
41
+ return args.options.listId;
42
+ }
43
+ const requestOptions = {
44
+ url: `${this.resource}/v1.0/me/todo/lists?$filter=displayName eq '${escape(args.options.listName)}'`,
45
+ headers: {
46
+ accept: 'application/json;odata.metadata=none'
47
+ },
48
+ responseType: 'json'
49
+ };
50
+ const response = yield request_1.default.get(requestOptions);
51
+ const taskList = response.value[0];
52
+ if (!taskList) {
53
+ throw `The specified task list does not exist`;
54
+ }
55
+ return taskList.id;
56
+ });
57
+ }
58
+ commandAction(logger, args) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ try {
61
+ const listId = yield this.getTodoListId(args);
62
+ const requestOptions = {
63
+ url: `${this.resource}/v1.0/me/todo/lists/${listId}/tasks/${args.options.id}`,
64
+ headers: {
65
+ accept: 'application/json;odata.metadata=none'
66
+ },
67
+ responseType: 'json'
68
+ };
69
+ const item = yield request_1.default.get(requestOptions);
70
+ if (args.options.output === 'json') {
71
+ logger.log(item);
72
+ }
73
+ else {
74
+ logger.log({
75
+ id: item.id,
76
+ title: item.title,
77
+ status: item.status,
78
+ createdDateTime: item.createdDateTime,
79
+ lastModifiedDateTime: item.lastModifiedDateTime
80
+ });
81
+ }
82
+ }
83
+ catch (err) {
84
+ this.handleRejectedODataJsonPromise(err);
85
+ }
86
+ });
87
+ }
88
+ }
89
+ _TodoTaskGetCommand_instances = new WeakSet(), _TodoTaskGetCommand_initTelemetry = function _TodoTaskGetCommand_initTelemetry() {
90
+ this.telemetry.push((args) => {
91
+ Object.assign(this.telemetryProperties, {
92
+ listId: typeof args.options.listId !== 'undefined',
93
+ listName: typeof args.options.listName !== 'undefined'
94
+ });
95
+ });
96
+ }, _TodoTaskGetCommand_initOptions = function _TodoTaskGetCommand_initOptions() {
97
+ this.options.unshift({
98
+ option: '-i, --id <id>'
99
+ }, {
100
+ option: '--listName [listName]'
101
+ }, {
102
+ option: '--listId [listId]'
103
+ });
104
+ }, _TodoTaskGetCommand_initOptionSets = function _TodoTaskGetCommand_initOptionSets() {
105
+ this.optionSets.push(['listId', 'listName']);
106
+ };
107
+ module.exports = new TodoTaskGetCommand();
108
+ //# sourceMappingURL=task-get.js.map
@@ -16,6 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _TodoTaskSetCommand_instances, _TodoTaskSetCommand_initTelemetry, _TodoTaskSetCommand_initOptions, _TodoTaskSetCommand_initValidators, _TodoTaskSetCommand_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 TodoTaskSetCommand extends GraphCommand_1.default {
@@ -76,7 +77,14 @@ class TodoTaskSetCommand extends GraphCommand_1.default {
76
77
  return Promise.resolve(taskList.id);
77
78
  });
78
79
  }
80
+ getDateTimeTimeZone(dateTime) {
81
+ return {
82
+ dateTime: dateTime,
83
+ timeZone: 'Etc/GMT'
84
+ };
85
+ }
79
86
  mapRequestBody(options) {
87
+ var _a;
80
88
  const requestBody = {};
81
89
  if (options.status) {
82
90
  requestBody.status = options.status;
@@ -84,6 +92,21 @@ class TodoTaskSetCommand extends GraphCommand_1.default {
84
92
  if (options.title) {
85
93
  requestBody.title = options.title;
86
94
  }
95
+ if (options.importance) {
96
+ requestBody.importance = options.importance.toLowerCase();
97
+ }
98
+ if (options.bodyContentType || options.bodyContent) {
99
+ requestBody.body = {
100
+ content: options.bodyContent,
101
+ contentType: ((_a = options.bodyContentType) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || 'text'
102
+ };
103
+ }
104
+ if (options.dueDateTime) {
105
+ requestBody.dueDateTime = this.getDateTimeTimeZone(options.dueDateTime);
106
+ }
107
+ if (options.reminderDateTime) {
108
+ requestBody.reminderDateTime = this.getDateTimeTimeZone(options.reminderDateTime);
109
+ }
87
110
  return requestBody;
88
111
  }
89
112
  }
@@ -93,7 +116,12 @@ _TodoTaskSetCommand_instances = new WeakSet(), _TodoTaskSetCommand_initTelemetry
93
116
  listId: typeof args.options.listId !== 'undefined',
94
117
  listName: typeof args.options.listName !== 'undefined',
95
118
  status: typeof args.options.status !== 'undefined',
96
- title: typeof args.options.title !== 'undefined'
119
+ title: typeof args.options.title !== 'undefined',
120
+ bodyContent: typeof args.options.bodyContent !== 'undefined',
121
+ bodyContentType: args.options.bodyContentType,
122
+ dueDateTime: typeof args.options.dueDateTime !== 'undefined',
123
+ importance: args.options.importance,
124
+ reminderDateTime: typeof args.options.reminderDateTime !== 'undefined'
97
125
  });
98
126
  });
99
127
  }, _TodoTaskSetCommand_initOptions = function _TodoTaskSetCommand_initOptions() {
@@ -108,6 +136,18 @@ _TodoTaskSetCommand_instances = new WeakSet(), _TodoTaskSetCommand_initTelemetry
108
136
  option: '--listName [listName]'
109
137
  }, {
110
138
  option: '--listId [listId]'
139
+ }, {
140
+ option: '--bodyContent [bodyContent]'
141
+ }, {
142
+ option: '--bodyContentType [bodyContentType]',
143
+ autocomplete: ['text', 'html']
144
+ }, {
145
+ option: '--dueDateTime [dueDateTime]'
146
+ }, {
147
+ option: '--importance [importance]',
148
+ autocomplete: ['low', 'normal', 'high']
149
+ }, {
150
+ option: '--reminderDateTime [reminderDateTime]'
111
151
  });
112
152
  }, _TodoTaskSetCommand_initValidators = function _TodoTaskSetCommand_initValidators() {
113
153
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
@@ -119,6 +159,18 @@ _TodoTaskSetCommand_instances = new WeakSet(), _TodoTaskSetCommand_initTelemetry
119
159
  args.options.status !== 'deferred') {
120
160
  return `${args.options.status} is not a valid value. Allowed values are notStarted|inProgress|completed|waitingOnOthers|deferred`;
121
161
  }
162
+ if (args.options.bodyContentType && ['text', 'html'].indexOf(args.options.bodyContentType.toLowerCase()) === -1) {
163
+ return `'${args.options.bodyContentType}' is not a valid value for the bodyContentType option. Allowed values are text|html`;
164
+ }
165
+ if (args.options.importance && ['low', 'normal', 'high'].indexOf(args.options.importance.toLowerCase()) === -1) {
166
+ return `'${args.options.importance}' is not a valid value for the importance option. Allowed values are low|normal|high`;
167
+ }
168
+ if (args.options.dueDateTime && !validation_1.validation.isValidISODateTime(args.options.dueDateTime)) {
169
+ return `'${args.options.dueDateTime}' is not a valid ISO date string`;
170
+ }
171
+ if (args.options.reminderDateTime && !validation_1.validation.isValidISODateTime(args.options.reminderDateTime)) {
172
+ return `'${args.options.reminderDateTime}' is not a valid ISO date string`;
173
+ }
122
174
  return true;
123
175
  }));
124
176
  }, _TodoTaskSetCommand_initOptionSets = function _TodoTaskSetCommand_initOptionSets() {
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const prefix = 'todo';
4
4
  exports.default = {
5
5
  LIST_ADD: `${prefix} list add`,
6
+ LIST_GET: `${prefix} list get`,
6
7
  LIST_LIST: `${prefix} list list`,
7
8
  LIST_REMOVE: `${prefix} list remove`,
8
9
  LIST_SET: `${prefix} list set`,
9
10
  TASK_ADD: `${prefix} task add`,
11
+ TASK_GET: `${prefix} task get`,
10
12
  TASK_LIST: `${prefix} task list`,
11
13
  TASK_REMOVE: `${prefix} task remove`,
12
14
  TASK_SET: `${prefix} task set`