@pnp/cli-microsoft365 6.0.0-beta.845d3c1 → 6.0.0-beta.9dde439

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 (134) hide show
  1. package/dist/Command.js +16 -2
  2. package/dist/m365/aad/commands/app/app-list.js +38 -0
  3. package/dist/m365/aad/commands/user/user-guest-add.js +103 -0
  4. package/dist/m365/aad/commands.js +2 -0
  5. package/dist/m365/commands/status.js +6 -1
  6. package/dist/m365/outlook/commands/message/message-get.js +97 -0
  7. package/dist/m365/outlook/commands.js +1 -0
  8. package/dist/m365/pp/commands/card/card-remove.js +130 -0
  9. package/dist/m365/pp/commands.js +1 -0
  10. package/dist/m365/spfx/commands/project/project-doctor.js +4 -1
  11. package/dist/m365/spfx/commands/project/project-externalize.js +4 -1
  12. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010001_YORC_version.js +2 -1
  13. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010002_YORC_isCreatingSolution.js +2 -1
  14. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010003_YORC_packageManager.js +2 -1
  15. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010004_YORC_componentType.js +2 -1
  16. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010005_YORC_environment.js +2 -1
  17. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010006_YORC_framework.js +3 -2
  18. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010007_YORC_isDomainIsolated.js +2 -1
  19. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +2 -1
  20. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010009_YORC_sdkVersions_microsoft_graph_client.js +56 -0
  21. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010010_YORC_sdkVersions_teams_js.js +56 -0
  22. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.16.0-beta.1.js → upgrade-1.16.0-beta.2.js} +44 -28
  23. package/dist/m365/spfx/commands/project/project-upgrade.js +5 -2
  24. package/dist/m365/spfx/commands/spfx-doctor.js +3 -3
  25. package/dist/m365/spo/commands/field/field-add.js +26 -1
  26. package/dist/m365/spo/commands/field/field-set.js +23 -13
  27. package/dist/m365/spo/commands/folder/folder-list.js +35 -12
  28. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +11 -1
  29. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +12 -1
  30. package/dist/m365/spo/commands/list/list-roleassignment-add.js +1 -1
  31. package/dist/m365/spo/commands/list/list-view-field-add.js +19 -5
  32. package/dist/m365/spo/commands/list/list-view-field-remove.js +18 -4
  33. package/dist/m365/spo/commands/list/list-view-field-set.js +18 -4
  34. package/dist/m365/spo/commands/list/list-view-list.js +14 -10
  35. package/dist/m365/spo/commands/list/list-view-remove.js +17 -8
  36. package/dist/m365/spo/commands/list/list-view-set.js +19 -7
  37. package/dist/m365/spo/commands/list/list-webhook-get.js +2 -3
  38. package/dist/m365/spo/commands/list/list-webhook-set.js +11 -12
  39. package/dist/m365/spo/commands/listitem/listitem-add.js +24 -14
  40. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +18 -8
  41. package/dist/m365/spo/commands/listitem/listitem-get.js +18 -8
  42. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +20 -10
  43. package/dist/m365/spo/commands/listitem/listitem-list.js +21 -11
  44. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +19 -12
  45. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +24 -21
  46. package/dist/m365/spo/commands/listitem/listitem-remove.js +19 -11
  47. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +239 -0
  48. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +13 -5
  49. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +13 -5
  50. package/dist/m365/spo/commands/listitem/listitem-set.js +52 -44
  51. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +15 -2
  52. package/dist/m365/spo/commands/{hubsite/hubsite-theme-sync.js → site/site-hubsite-theme-sync.js} +11 -11
  53. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +100 -0
  54. package/dist/m365/spo/commands.js +4 -2
  55. package/dist/m365/teams/commands/channel/channel-get.js +2 -2
  56. package/dist/m365/teams/commands/channel/channel-remove.js +56 -39
  57. package/dist/m365/teams/commands/channel/channel-set.js +57 -19
  58. package/dist/m365/todo/commands/list/list-get.js +89 -0
  59. package/dist/m365/todo/commands/task/task-get.js +108 -0
  60. package/dist/m365/todo/commands.js +2 -0
  61. package/dist/utils/md.js +8 -1
  62. package/docs/docs/cmd/aad/app/app-list.md +149 -0
  63. package/docs/docs/cmd/aad/user/user-guest-add.md +107 -0
  64. package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +3 -0
  65. package/docs/docs/cmd/graph/schemaextension/schemaextension-add.md +4 -11
  66. package/docs/docs/cmd/graph/schemaextension/schemaextension-set.md +4 -10
  67. package/docs/docs/cmd/outlook/message/message-get.md +48 -0
  68. package/docs/docs/cmd/planner/bucket/bucket-add.md +29 -0
  69. package/docs/docs/cmd/planner/bucket/bucket-get.md +29 -0
  70. package/docs/docs/cmd/planner/bucket/bucket-list.md +30 -0
  71. package/docs/docs/cmd/planner/bucket/bucket-remove.md +4 -0
  72. package/docs/docs/cmd/planner/bucket/bucket-set.md +4 -0
  73. package/docs/docs/cmd/planner/plan/plan-add.md +123 -0
  74. package/docs/docs/cmd/planner/plan/plan-get.md +75 -0
  75. package/docs/docs/cmd/planner/plan/plan-list.md +45 -0
  76. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  77. package/docs/docs/cmd/pp/card/card-remove.md +82 -0
  78. package/docs/docs/cmd/spfx/project/project-rename.md +1 -14
  79. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  80. package/docs/docs/cmd/spo/customaction/customaction-add.md +3 -0
  81. package/docs/docs/cmd/spo/customaction/customaction-set.md +3 -2
  82. package/docs/docs/cmd/spo/field/field-add.md +20 -2
  83. package/docs/docs/cmd/spo/field/field-set.md +15 -3
  84. package/docs/docs/cmd/spo/folder/folder-list.md +45 -0
  85. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +6 -0
  86. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +6 -0
  87. package/docs/docs/cmd/spo/hubsite/hubsite-register.md +2 -2
  88. package/docs/docs/cmd/spo/hubsite/hubsite-unregister.md +2 -2
  89. package/docs/docs/cmd/spo/list/list-view-field-add.md +14 -4
  90. package/docs/docs/cmd/spo/list/list-view-field-remove.md +11 -2
  91. package/docs/docs/cmd/spo/list/list-view-field-set.md +18 -2
  92. package/docs/docs/cmd/spo/list/list-view-list.md +16 -7
  93. package/docs/docs/cmd/spo/list/list-view-remove.md +12 -3
  94. package/docs/docs/cmd/spo/list/list-view-set.md +20 -6
  95. package/docs/docs/cmd/spo/list/list-webhook-get.md +1 -1
  96. package/docs/docs/cmd/spo/list/list-webhook-set.md +11 -4
  97. package/docs/docs/cmd/spo/listitem/listitem-add.md +11 -2
  98. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +11 -2
  99. package/docs/docs/cmd/spo/listitem/listitem-get.md +11 -2
  100. package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +12 -2
  101. package/docs/docs/cmd/spo/listitem/listitem-list.md +10 -1
  102. package/docs/docs/cmd/spo/listitem/listitem-record-declare.md +7 -4
  103. package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.md +11 -2
  104. package/docs/docs/cmd/spo/listitem/listitem-remove.md +11 -2
  105. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.md +81 -0
  106. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +7 -4
  107. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-reset.md +8 -5
  108. package/docs/docs/cmd/spo/listitem/listitem-set.md +7 -4
  109. package/docs/docs/cmd/spo/page/page-clientsidewebpart-add.md +5 -10
  110. package/docs/docs/cmd/spo/page/page-control-set.md +2 -1
  111. package/docs/docs/cmd/spo/{hubsite/hubsite-theme-sync.md → site/site-hubsite-theme-sync.md} +5 -5
  112. package/docs/docs/cmd/spo/term/term-add.md +5 -0
  113. package/docs/docs/cmd/spo/term/term-set-add.md +6 -1
  114. package/docs/docs/cmd/spo/web/web-roleinheritance-break.md +44 -0
  115. package/docs/docs/cmd/teams/channel/channel-get.md +7 -7
  116. package/docs/docs/cmd/teams/channel/channel-remove.md +12 -9
  117. package/docs/docs/cmd/teams/channel/channel-set.md +13 -6
  118. package/docs/docs/cmd/tenant/id/id-get.md +20 -0
  119. package/docs/docs/cmd/tenant/report/report-activeusercounts.md +35 -0
  120. package/docs/docs/cmd/tenant/report/report-activeuserdetail.md +49 -0
  121. package/docs/docs/cmd/tenant/report/report-office365activationcounts.md +32 -0
  122. package/docs/docs/cmd/tenant/report/report-office365activationsusercounts.md +30 -0
  123. package/docs/docs/cmd/tenant/report/report-office365activationsuserdetail.md +36 -0
  124. package/docs/docs/cmd/tenant/report/report-servicesusercounts.md +41 -0
  125. package/docs/docs/cmd/tenant/security/security-alerts-list.md +105 -0
  126. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +87 -0
  127. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +91 -0
  128. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.md +62 -0
  129. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.md +51 -0
  130. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.md +64 -0
  131. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.md +52 -0
  132. package/docs/docs/cmd/todo/list/list-get.md +61 -0
  133. package/docs/docs/cmd/todo/task/task-get.md +75 -0
  134. package/package.json +10 -6
@@ -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
@@ -93,7 +93,6 @@ exports.default = {
93
93
  HUBSITE_RIGHTS_GRANT: `${prefix} hubsite rights grant`,
94
94
  HUBSITE_RIGHTS_REVOKE: `${prefix} hubsite rights revoke`,
95
95
  HUBSITE_SET: `${prefix} hubsite set`,
96
- HUBSITE_THEME_SYNC: `${prefix} hubsite theme sync`,
97
96
  HUBSITE_UNREGISTER: `${prefix} hubsite unregister`,
98
97
  KNOWLEDGEHUB_GET: `${prefix} knowledgehub get`,
99
98
  KNOWLEDGEHUB_REMOVE: `${prefix} knowledgehub remove`,
@@ -135,6 +134,7 @@ exports.default = {
135
134
  LISTITEM_RECORD_DECLARE: `${prefix} listitem record declare`,
136
135
  LISTITEM_RECORD_UNDECLARE: `${prefix} listitem record undeclare`,
137
136
  LISTITEM_REMOVE: `${prefix} listitem remove`,
137
+ LISTITEM_ROLEASSIGNMENT_ADD: `${prefix} listitem roleassignment add`,
138
138
  LISTITEM_ROLEASSIGNMENT_REMOVE: `${prefix} listitem roleassignment remove`,
139
139
  LISTITEM_ROLEINHERITANCE_BREAK: `${prefix} listitem roleinheritance break`,
140
140
  LISTITEM_ROLEINHERITANCE_RESET: `${prefix} listitem roleinheritance reset`,
@@ -205,8 +205,9 @@ exports.default = {
205
205
  SITE_ENSURE: `${prefix} site ensure`,
206
206
  SITE_GET: `${prefix} site get`,
207
207
  SITE_GROUPIFY: `${prefix} site groupify`,
208
- SITE_HUBSITE_DISCONNECT: `${prefix} site hubsite disconnect`,
209
208
  SITE_HUBSITE_CONNECT: `${prefix} site hubsite connect`,
209
+ SITE_HUBSITE_DISCONNECT: `${prefix} site hubsite disconnect`,
210
+ SITE_HUBSITE_THEME_SYNC: `${prefix} site hubsite theme sync`,
210
211
  SITE_LIST: `${prefix} site list`,
211
212
  SITE_INPLACERECORDSMANAGEMENT_SET: `${prefix} site inplacerecordsmanagement set`,
212
213
  SITE_RECYCLEBINITEM_LIST: `${prefix} site recyclebinitem list`,
@@ -280,6 +281,7 @@ exports.default = {
280
281
  WEB_REMOVE: `${prefix} web remove`,
281
282
  WEB_ROLEASSIGNMENT_REMOVE: `${prefix} web roleassignment remove`,
282
283
  WEB_ROLEASSIGNMENT_ADD: `${prefix} web roleassignment add`,
284
+ WEB_ROLEINHERITANCE_BREAK: `${prefix} web roleinheritance break`,
283
285
  WEB_ROLEINHERITANCE_RESET: `${prefix} web roleinheritance reset`,
284
286
  WEB_SET: `${prefix} web set`
285
287
  };
@@ -113,11 +113,11 @@ _TeamsChannelGetCommand_instances = new WeakSet(), _TeamsChannelGetCommand_initT
113
113
  });
114
114
  }, _TeamsChannelGetCommand_initOptions = function _TeamsChannelGetCommand_initOptions() {
115
115
  this.options.unshift({
116
- option: '-i, --teamId [teamId]'
116
+ option: '--teamId [teamId]'
117
117
  }, {
118
118
  option: '--teamName [teamName]'
119
119
  }, {
120
- option: '-c, --id [id]'
120
+ option: '-i, --id [id]'
121
121
  }, {
122
122
  option: '--name [name]'
123
123
  }, {
@@ -18,12 +18,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const Cli_1 = require("../../../../cli/Cli");
19
19
  const request_1 = require("../../../../request");
20
20
  const validation_1 = require("../../../../utils/validation");
21
+ const aadGroup_1 = require("../../../../utils/aadGroup");
21
22
  const GraphCommand_1 = require("../../../base/GraphCommand");
22
23
  const commands_1 = require("../../commands");
23
24
  class TeamsChannelRemoveCommand extends GraphCommand_1.default {
24
25
  constructor() {
25
26
  super();
26
27
  _TeamsChannelRemoveCommand_instances.add(this);
28
+ this.teamId = "";
27
29
  __classPrivateFieldGet(this, _TeamsChannelRemoveCommand_instances, "m", _TeamsChannelRemoveCommand_initTelemetry).call(this);
28
30
  __classPrivateFieldGet(this, _TeamsChannelRemoveCommand_instances, "m", _TeamsChannelRemoveCommand_initOptions).call(this);
29
31
  __classPrivateFieldGet(this, _TeamsChannelRemoveCommand_instances, "m", _TeamsChannelRemoveCommand_initValidators).call(this);
@@ -39,39 +41,16 @@ class TeamsChannelRemoveCommand extends GraphCommand_1.default {
39
41
  return __awaiter(this, void 0, void 0, function* () {
40
42
  const removeChannel = () => __awaiter(this, void 0, void 0, function* () {
41
43
  try {
42
- if (args.options.name) {
43
- const getRequestOptions = {
44
- url: `${this.resource}/v1.0/teams/${encodeURIComponent(args.options.teamId)}/channels?$filter=displayName eq '${encodeURIComponent(args.options.name)}'`,
45
- headers: {
46
- accept: 'application/json;odata.metadata=none'
47
- },
48
- responseType: 'json'
49
- };
50
- const res = yield request_1.default.get(getRequestOptions);
51
- const channelItem = res.value[0];
52
- if (!channelItem) {
53
- return Promise.reject(`The specified channel does not exist in the Microsoft Teams team`);
54
- }
55
- const channelId = res.value[0].id;
56
- const deleteRequestOptions = {
57
- url: `${this.resource}/v1.0/teams/${encodeURIComponent(args.options.teamId)}/channels/${encodeURIComponent(channelId)}`,
58
- headers: {
59
- accept: 'application/json;odata.metadata=none'
60
- },
61
- responseType: 'json'
62
- };
63
- yield request_1.default.delete(deleteRequestOptions);
64
- }
65
- else {
66
- const requestOptions = {
67
- url: `${this.resource}/v1.0/teams/${encodeURIComponent(args.options.teamId)}/channels/${encodeURIComponent(args.options.id)}`,
68
- headers: {
69
- accept: 'application/json;odata.metadata=none'
70
- },
71
- responseType: 'json'
72
- };
73
- yield request_1.default.delete(requestOptions);
74
- }
44
+ this.teamId = yield this.getTeamId(args);
45
+ const channelId = yield this.getChannelId(args);
46
+ const requestOptionsDelete = {
47
+ url: `${this.resource}/v1.0/teams/${encodeURIComponent(this.teamId)}/channels/${encodeURIComponent(channelId)}`,
48
+ headers: {
49
+ accept: 'application/json;odata.metadata=none'
50
+ },
51
+ responseType: 'json'
52
+ };
53
+ yield request_1.default.delete(requestOptionsDelete);
75
54
  }
76
55
  catch (err) {
77
56
  this.handleRejectedODataJsonPromise(err);
@@ -81,12 +60,12 @@ class TeamsChannelRemoveCommand extends GraphCommand_1.default {
81
60
  yield removeChannel();
82
61
  }
83
62
  else {
84
- const channelName = args.options.name ? args.options.name : args.options.id;
63
+ const channel = args.options.name ? args.options.name : args.options.id;
85
64
  const result = yield Cli_1.Cli.prompt({
86
65
  type: 'confirm',
87
66
  name: 'continue',
88
67
  default: false,
89
- message: `Are you sure you want to remove the channel ${channelName} from team ${args.options.teamId}?`
68
+ message: `Are you sure you want to remove the channel ${channel} from team ${args.options.teamId}?`
90
69
  });
91
70
  if (result.continue) {
92
71
  yield removeChannel();
@@ -94,22 +73,60 @@ class TeamsChannelRemoveCommand extends GraphCommand_1.default {
94
73
  }
95
74
  });
96
75
  }
76
+ getTeamId(args) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ if (args.options.teamId) {
79
+ return args.options.teamId;
80
+ }
81
+ const group = yield aadGroup_1.aadGroup.getGroupByDisplayName(args.options.teamName);
82
+ if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
83
+ throw 'The specified team does not exist';
84
+ }
85
+ else {
86
+ return group.id;
87
+ }
88
+ });
89
+ }
90
+ getChannelId(args) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ if (args.options.id) {
93
+ return args.options.id;
94
+ }
95
+ const channelRequestOptions = {
96
+ url: `${this.resource}/v1.0/teams/${encodeURIComponent(this.teamId)}/channels?$filter=displayName eq '${encodeURIComponent(args.options.name)}'`,
97
+ headers: {
98
+ accept: 'application/json;odata.metadata=none'
99
+ },
100
+ responseType: 'json'
101
+ };
102
+ const res = yield request_1.default.get(channelRequestOptions);
103
+ const channelItem = res.value[0];
104
+ if (!channelItem) {
105
+ throw `The specified channel does not exist in this Microsoft Teams team`;
106
+ }
107
+ return channelItem.id;
108
+ });
109
+ }
97
110
  }
98
111
  _TeamsChannelRemoveCommand_instances = new WeakSet(), _TeamsChannelRemoveCommand_initTelemetry = function _TeamsChannelRemoveCommand_initTelemetry() {
99
112
  this.telemetry.push((args) => {
100
113
  Object.assign(this.telemetryProperties, {
101
114
  id: typeof args.options.id !== 'undefined',
102
115
  name: typeof args.options.name !== 'undefined',
116
+ teamId: typeof args.options.teamId !== 'undefined',
117
+ teamName: typeof args.options.teamName !== 'undefined',
103
118
  confirm: (!(!args.options.confirm)).toString()
104
119
  });
105
120
  });
106
121
  }, _TeamsChannelRemoveCommand_initOptions = function _TeamsChannelRemoveCommand_initOptions() {
107
122
  this.options.unshift({
108
- option: '-c, --id [id]'
123
+ option: '--teamId [teamId]'
109
124
  }, {
110
- option: '-n, --name [name]'
125
+ option: '--teamName [teamName]'
126
+ }, {
127
+ option: '-i, --id [id]'
111
128
  }, {
112
- option: '-i, --teamId <teamId>'
129
+ option: '-n, --name [name]'
113
130
  }, {
114
131
  option: '--confirm'
115
132
  });
@@ -124,7 +141,7 @@ _TeamsChannelRemoveCommand_instances = new WeakSet(), _TeamsChannelRemoveCommand
124
141
  return true;
125
142
  }));
126
143
  }, _TeamsChannelRemoveCommand_initOptionSets = function _TeamsChannelRemoveCommand_initOptionSets() {
127
- this.optionSets.push(['id', 'name']);
144
+ this.optionSets.push(['id', 'name'], ['teamId', 'teamName']);
128
145
  };
129
146
  module.exports = new TeamsChannelRemoveCommand();
130
147
  //# sourceMappingURL=channel-remove.js.map
@@ -13,10 +13,11 @@ 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 _TeamsChannelSetCommand_instances, _TeamsChannelSetCommand_initTelemetry, _TeamsChannelSetCommand_initOptions, _TeamsChannelSetCommand_initValidators;
16
+ var _TeamsChannelSetCommand_instances, _TeamsChannelSetCommand_initTelemetry, _TeamsChannelSetCommand_initOptions, _TeamsChannelSetCommand_initValidators, _TeamsChannelSetCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
19
  const validation_1 = require("../../../../utils/validation");
20
+ const aadGroup_1 = require("../../../../utils/aadGroup");
20
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
21
22
  const commands_1 = require("../../commands");
22
23
  class TeamsChannelSetCommand extends GraphCommand_1.default {
@@ -26,6 +27,7 @@ class TeamsChannelSetCommand extends GraphCommand_1.default {
26
27
  __classPrivateFieldGet(this, _TeamsChannelSetCommand_instances, "m", _TeamsChannelSetCommand_initTelemetry).call(this);
27
28
  __classPrivateFieldGet(this, _TeamsChannelSetCommand_instances, "m", _TeamsChannelSetCommand_initOptions).call(this);
28
29
  __classPrivateFieldGet(this, _TeamsChannelSetCommand_instances, "m", _TeamsChannelSetCommand_initValidators).call(this);
30
+ __classPrivateFieldGet(this, _TeamsChannelSetCommand_instances, "m", _TeamsChannelSetCommand_initOptionSets).call(this);
29
31
  }
30
32
  get name() {
31
33
  return commands_1.default.CHANNEL_SET;
@@ -35,23 +37,12 @@ class TeamsChannelSetCommand extends GraphCommand_1.default {
35
37
  }
36
38
  commandAction(logger, args) {
37
39
  return __awaiter(this, void 0, void 0, function* () {
38
- const requestOptions = {
39
- url: `${this.resource}/v1.0/teams/${encodeURIComponent(args.options.teamId)}/channels?$filter=displayName eq '${encodeURIComponent(args.options.name)}'`,
40
- headers: {
41
- accept: 'application/json;odata.metadata=none'
42
- },
43
- responseType: 'json'
44
- };
45
40
  try {
46
- const res = yield request_1.default.get(requestOptions);
47
- const channelItem = res.value[0];
48
- if (!channelItem) {
49
- throw `The specified channel does not exist in the Microsoft Teams team`;
50
- }
51
- const channelId = res.value[0].id;
41
+ const teamId = yield this.getTeamId(args);
42
+ const channelId = yield this.getChannelId(teamId, args);
52
43
  const data = this.mapRequestBody(args.options);
53
44
  const requestOptionsPatch = {
54
- url: `${this.resource}/v1.0/teams/${encodeURIComponent(args.options.teamId)}/channels/${channelId}`,
45
+ url: `${this.resource}/v1.0/teams/${encodeURIComponent(teamId)}/channels/${encodeURIComponent(channelId)}`,
55
46
  headers: {
56
47
  'accept': 'application/json;odata.metadata=none'
57
48
  },
@@ -75,19 +66,61 @@ class TeamsChannelSetCommand extends GraphCommand_1.default {
75
66
  }
76
67
  return requestBody;
77
68
  }
69
+ getTeamId(args) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ if (args.options.teamId) {
72
+ return args.options.teamId;
73
+ }
74
+ const group = yield aadGroup_1.aadGroup.getGroupByDisplayName(args.options.teamName);
75
+ if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
76
+ throw 'The specified team does not exist';
77
+ }
78
+ else {
79
+ return group.id;
80
+ }
81
+ });
82
+ }
83
+ getChannelId(teamId, args) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ if (args.options.id) {
86
+ return args.options.id;
87
+ }
88
+ const channelRequestOptions = {
89
+ url: `${this.resource}/v1.0/teams/${encodeURIComponent(teamId)}/channels?$filter=displayName eq '${encodeURIComponent(args.options.name)}'`,
90
+ headers: {
91
+ accept: 'application/json;odata.metadata=none'
92
+ },
93
+ responseType: 'json'
94
+ };
95
+ const res = yield request_1.default.get(channelRequestOptions);
96
+ const channelItem = res.value[0];
97
+ if (!channelItem) {
98
+ throw `The specified channel does not exist in this Microsoft Teams team`;
99
+ }
100
+ return channelItem.id;
101
+ });
102
+ }
78
103
  }
79
104
  _TeamsChannelSetCommand_instances = new WeakSet(), _TeamsChannelSetCommand_initTelemetry = function _TeamsChannelSetCommand_initTelemetry() {
80
105
  this.telemetry.push((args) => {
81
106
  Object.assign(this.telemetryProperties, {
107
+ id: typeof args.options.id !== 'undefined',
108
+ name: typeof args.options.name !== 'undefined',
109
+ teamId: typeof args.options.teamId !== 'undefined',
110
+ teamName: typeof args.options.teamName !== 'undefined',
82
111
  newName: typeof args.options.newName !== 'undefined',
83
112
  description: typeof args.options.description !== 'undefined'
84
113
  });
85
114
  });
86
115
  }, _TeamsChannelSetCommand_initOptions = function _TeamsChannelSetCommand_initOptions() {
87
116
  this.options.unshift({
88
- option: '-i, --teamId <teamId>'
117
+ option: '--teamId [teamId]'
89
118
  }, {
90
- option: '--name <name>'
119
+ option: '--teamName [teamName]'
120
+ }, {
121
+ option: '-i, --id [id]'
122
+ }, {
123
+ option: '-n, --name [name]'
91
124
  }, {
92
125
  option: '--newName [newName]'
93
126
  }, {
@@ -95,14 +128,19 @@ _TeamsChannelSetCommand_instances = new WeakSet(), _TeamsChannelSetCommand_initT
95
128
  });
96
129
  }, _TeamsChannelSetCommand_initValidators = function _TeamsChannelSetCommand_initValidators() {
97
130
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
98
- if (!validation_1.validation.isValidGuid(args.options.teamId)) {
131
+ if (args.options.teamId && !validation_1.validation.isValidGuid(args.options.teamId)) {
99
132
  return `${args.options.teamId} is not a valid GUID`;
100
133
  }
101
- if (args.options.name.toLowerCase() === "general") {
134
+ if (args.options.id && !validation_1.validation.isValidTeamsChannelId(args.options.id)) {
135
+ return `${args.options.id} is not a valid Teams channel id`;
136
+ }
137
+ if (args.options.name && args.options.name.toLowerCase() === "general") {
102
138
  return 'General channel cannot be updated';
103
139
  }
104
140
  return true;
105
141
  }));
142
+ }, _TeamsChannelSetCommand_initOptionSets = function _TeamsChannelSetCommand_initOptionSets() {
143
+ this.optionSets.push(['id', 'name'], ['teamId', 'teamName']);
106
144
  };
107
145
  module.exports = new TeamsChannelSetCommand();
108
146
  //# sourceMappingURL=channel-set.js.map
@@ -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
@@ -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
@@ -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`