@pnp/cli-microsoft365 6.2.0 → 6.3.0-beta.37c6261

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 (127) hide show
  1. package/.eslintrc.js +6 -0
  2. package/dist/Auth.js +0 -18
  3. package/dist/Command.js +12 -1
  4. package/dist/cli/Cli.js +4 -1
  5. package/dist/m365/aad/commands/group/group-list.js +2 -1
  6. package/dist/m365/base/O365MgmtCommand.js +10 -0
  7. package/dist/m365/file/commands/convert/convert-pdf.js +7 -6
  8. package/dist/m365/flow/commands/run/run-list.js +55 -3
  9. package/dist/m365/graph/commands/changelog/changelog-list.js +3 -2
  10. package/dist/m365/onenote/commands/notebook/notebook-list.js +50 -53
  11. package/dist/m365/onenote/commands/page/page-list.js +2 -16
  12. package/dist/m365/outlook/commands/mail/mail-send.js +3 -2
  13. package/dist/m365/outlook/commands/message/message-get.js +4 -3
  14. package/dist/m365/planner/commands/plan/plan-add.js +20 -6
  15. package/dist/m365/planner/commands/plan/plan-get.js +34 -27
  16. package/dist/m365/planner/commands/plan/plan-list.js +24 -14
  17. package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
  18. package/dist/m365/planner/commands/roster/roster-add.js +47 -0
  19. package/dist/m365/planner/commands/roster/roster-member-add.js +113 -0
  20. package/dist/m365/planner/commands/roster/roster-member-list.js +54 -0
  21. package/dist/m365/planner/commands/roster/roster-remove.js +88 -0
  22. package/dist/m365/planner/commands/task/task-checklistitem-add.js +2 -1
  23. package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
  24. package/dist/m365/planner/commands.js +4 -0
  25. package/dist/m365/pp/commands/solution/solution-get.js +2 -1
  26. package/dist/m365/pp/commands/solution/solution-list.js +2 -1
  27. package/dist/m365/purview/commands/auditlog/auditlog-list.js +205 -0
  28. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +70 -0
  29. package/dist/m365/purview/commands.js +2 -0
  30. package/dist/m365/spfx/commands/project/WebApiPermissionRequests.js +3 -0
  31. package/dist/m365/spfx/commands/project/project-permissions-grant.js +81 -0
  32. package/dist/m365/spfx/commands.js +3 -2
  33. package/dist/m365/spo/commands/app/app-add.js +2 -1
  34. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +95 -0
  35. package/dist/m365/spo/commands/file/GraphFileDetails.js +0 -1
  36. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +2 -1
  37. package/dist/m365/spo/commands/file/file-sharinglink-add.js +2 -22
  38. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +137 -0
  39. package/dist/m365/spo/commands/file/file-sharinglink-get.js +2 -25
  40. package/dist/m365/spo/commands/file/file-sharinglink-list.js +9 -29
  41. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -25
  42. package/dist/m365/spo/commands/file/file-sharinglink-set.js +104 -0
  43. package/dist/m365/spo/commands/group/group-list.js +2 -1
  44. package/dist/m365/spo/commands/hubsite/hubsite-get.js +1 -1
  45. package/dist/m365/spo/commands/listitem/listitem-list.js +2 -1
  46. package/dist/m365/spo/commands/navigation/navigation-node-add.js +17 -3
  47. package/dist/m365/spo/commands/navigation/navigation-node-list.js +4 -7
  48. package/dist/m365/spo/commands/navigation/navigation-node-set.js +118 -0
  49. package/dist/m365/spo/commands/page/page-column-get.js +2 -1
  50. package/dist/m365/spo/commands/page/page-column-list.js +2 -1
  51. package/dist/m365/spo/commands/page/page-section-get.js +2 -1
  52. package/dist/m365/spo/commands/page/page-section-list.js +2 -1
  53. package/dist/m365/spo/commands/site/site-apppermission-add.js +2 -14
  54. package/dist/m365/spo/commands/site/site-apppermission-get.js +2 -14
  55. package/dist/m365/spo/commands/site/site-apppermission-list.js +2 -14
  56. package/dist/m365/spo/commands/site/site-apppermission-remove.js +2 -14
  57. package/dist/m365/spo/commands/site/site-apppermission-set.js +2 -14
  58. package/dist/m365/spo/commands/spo-search.js +2 -1
  59. package/dist/m365/spo/commands/term/term-list.js +2 -1
  60. package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -2
  61. package/dist/m365/spo/commands/web/web-set.js +11 -4
  62. package/dist/m365/spo/commands.js +4 -0
  63. package/dist/m365/teams/commands/chat/chat-list.js +4 -4
  64. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +5 -5
  65. package/dist/m365/teams/commands/meeting/meeting-get.js +5 -5
  66. package/dist/m365/teams/commands/meeting/meeting-list.js +5 -4
  67. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  68. package/dist/m365/teams/commands/user/user-app-list.js +2 -1
  69. package/dist/m365/todo/commands/task/task-get.js +2 -1
  70. package/dist/m365/todo/commands/task/task-list.js +2 -1
  71. package/dist/m365/yammer/commands/yammer-search.js +2 -1
  72. package/dist/utils/accessToken.js +1 -1
  73. package/dist/utils/planner.js +19 -5
  74. package/dist/utils/spo.js +55 -0
  75. package/docs/docs/cmd/aad/app/app-list.md +3 -0
  76. package/docs/docs/cmd/aad/user/user-set.md +1 -1
  77. package/docs/docs/cmd/flow/run/run-list.md +21 -0
  78. package/docs/docs/cmd/pa/app/app-get.md +24 -0
  79. package/docs/docs/cmd/pa/app/app-list.md +21 -0
  80. package/docs/docs/cmd/pa/connector/connector-list.md +17 -0
  81. package/docs/docs/cmd/pa/environment/environment-get.md +18 -0
  82. package/docs/docs/cmd/pa/environment/environment-list.md +19 -0
  83. package/docs/docs/cmd/planner/plan/plan-add.md +17 -6
  84. package/docs/docs/cmd/planner/plan/plan-get.md +16 -2
  85. package/docs/docs/cmd/planner/plan/plan-list.md +16 -2
  86. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  87. package/docs/docs/cmd/planner/roster/roster-add.md +60 -0
  88. package/docs/docs/cmd/planner/roster/roster-member-add.md +87 -0
  89. package/docs/docs/cmd/planner/roster/roster-member-list.md +76 -0
  90. package/docs/docs/cmd/planner/roster/roster-remove.md +48 -0
  91. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.md +43 -0
  92. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.md +43 -0
  93. package/docs/docs/cmd/pp/card/card-clone.md +12 -0
  94. package/docs/docs/cmd/pp/card/card-get.md +49 -0
  95. package/docs/docs/cmd/pp/card/card-list.md +49 -0
  96. package/docs/docs/cmd/pp/chatbot/chatbot-get.md +55 -0
  97. package/docs/docs/cmd/pp/chatbot/chatbot-list.md +36 -0
  98. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +30 -0
  99. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +30 -0
  100. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.md +30 -0
  101. package/docs/docs/cmd/pp/environment/environment-get.md +19 -0
  102. package/docs/docs/cmd/pp/environment/environment-list.md +19 -0
  103. package/docs/docs/cmd/pp/gateway/gateway-get.md +19 -0
  104. package/docs/docs/cmd/pp/gateway/gateway-list.md +19 -0
  105. package/docs/docs/cmd/pp/managementapp/managementapp-add.md +12 -0
  106. package/docs/docs/cmd/pp/managementapp/managementapp-list.md +12 -0
  107. package/docs/docs/cmd/pp/solution/solution-get.md +14 -0
  108. package/docs/docs/cmd/pp/solution/solution-list.md +14 -0
  109. package/docs/docs/cmd/pp/solution/solution-publisher-get.md +20 -1
  110. package/docs/docs/cmd/pp/solution/solution-publisher-list.md +18 -0
  111. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +21 -0
  112. package/docs/docs/cmd/purview/auditlog/auditlog-list.md +123 -0
  113. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +100 -0
  114. package/docs/docs/cmd/spfx/project/project-permissions-grant.md +65 -0
  115. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +56 -0
  116. package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +46 -0
  117. package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
  118. package/docs/docs/cmd/spo/file/file-sharinglink-set.md +104 -0
  119. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +2 -2
  120. package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +2 -2
  121. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +18 -3
  122. package/docs/docs/cmd/spo/navigation/navigation-node-list.md +30 -0
  123. package/docs/docs/cmd/spo/navigation/navigation-node-remove.md +1 -1
  124. package/docs/docs/cmd/spo/navigation/navigation-node-set.md +59 -0
  125. package/docs/docs/cmd/spo/web/web-set.md +9 -0
  126. package/npm-shrinkwrap.json +2 -2
  127. package/package.json +2 -2
@@ -48,8 +48,11 @@ class PlannerPlanGetCommand extends GraphCommand_1.default {
48
48
  logger.log(result);
49
49
  }
50
50
  else {
51
- const groupId = yield this.getGroupId(args);
52
- const plan = yield planner_1.planner.getPlanByTitle(args.options.title, groupId);
51
+ let groupId = undefined;
52
+ if (args.options.ownerGroupId || args.options.ownerGroupName) {
53
+ groupId = yield this.getGroupId(args);
54
+ }
55
+ const plan = yield planner_1.planner.getPlanByTitle(args.options.title, groupId, args.options.rosterId);
53
56
  const result = yield this.getPlanDetails(plan);
54
57
  if (result) {
55
58
  logger.log(result);
@@ -62,27 +65,27 @@ class PlannerPlanGetCommand extends GraphCommand_1.default {
62
65
  });
63
66
  }
64
67
  getPlanDetails(plan) {
65
- const requestOptionsTaskDetails = {
66
- url: `${this.resource}/v1.0/planner/plans/${plan.id}/details`,
67
- headers: {
68
- 'accept': 'application/json;odata.metadata=none',
69
- 'Prefer': 'return=representation'
70
- },
71
- responseType: 'json'
72
- };
73
- return request_1.default
74
- .get(requestOptionsTaskDetails)
75
- .then(planDetails => {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ const requestOptionsTaskDetails = {
70
+ url: `${this.resource}/v1.0/planner/plans/${plan.id}/details`,
71
+ headers: {
72
+ 'accept': 'application/json;odata.metadata=none',
73
+ 'Prefer': 'return=representation'
74
+ },
75
+ responseType: 'json'
76
+ };
77
+ const planDetails = yield request_1.default.get(requestOptionsTaskDetails);
76
78
  return Object.assign(Object.assign({}, plan), planDetails);
77
79
  });
78
80
  }
79
81
  getGroupId(args) {
80
- if (args.options.ownerGroupId) {
81
- return Promise.resolve(args.options.ownerGroupId);
82
- }
83
- return aadGroup_1.aadGroup
84
- .getGroupByDisplayName(args.options.ownerGroupName)
85
- .then(group => group.id);
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ if (args.options.ownerGroupId) {
84
+ return args.options.ownerGroupId;
85
+ }
86
+ const group = yield aadGroup_1.aadGroup.getGroupByDisplayName(args.options.ownerGroupName);
87
+ return group.id;
88
+ });
86
89
  }
87
90
  }
88
91
  _PlannerPlanGetCommand_instances = new WeakSet(), _PlannerPlanGetCommand_initTelemetry = function _PlannerPlanGetCommand_initTelemetry() {
@@ -91,7 +94,8 @@ _PlannerPlanGetCommand_instances = new WeakSet(), _PlannerPlanGetCommand_initTel
91
94
  id: typeof args.options.id !== 'undefined',
92
95
  title: typeof args.options.title !== 'undefined',
93
96
  ownerGroupId: typeof args.options.ownerGroupId !== 'undefined',
94
- ownerGroupName: typeof args.options.ownerGroupName !== 'undefined'
97
+ ownerGroupName: typeof args.options.ownerGroupName !== 'undefined',
98
+ rosterId: typeof args.options.rosterId !== 'undefined'
95
99
  });
96
100
  });
97
101
  }, _PlannerPlanGetCommand_initOptions = function _PlannerPlanGetCommand_initOptions() {
@@ -103,22 +107,25 @@ _PlannerPlanGetCommand_instances = new WeakSet(), _PlannerPlanGetCommand_initTel
103
107
  option: '--ownerGroupId [ownerGroupId]'
104
108
  }, {
105
109
  option: '--ownerGroupName [ownerGroupName]'
110
+ }, {
111
+ option: '--rosterId [rosterId]'
106
112
  });
107
113
  }, _PlannerPlanGetCommand_initValidators = function _PlannerPlanGetCommand_initValidators() {
108
114
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
109
- if (args.options.title && !args.options.ownerGroupId && !args.options.ownerGroupName) {
110
- return 'Specify either ownerGroupId or ownerGroupName';
111
- }
112
- if (args.options.title && args.options.ownerGroupId && args.options.ownerGroupName) {
113
- return 'Specify either ownerGroupId or ownerGroupName but not both';
114
- }
115
115
  if (args.options.ownerGroupId && !validation_1.validation.isValidGuid(args.options.ownerGroupId)) {
116
116
  return `${args.options.ownerGroupId} is not a valid GUID`;
117
117
  }
118
118
  return true;
119
119
  }));
120
120
  }, _PlannerPlanGetCommand_initOptionSets = function _PlannerPlanGetCommand_initOptionSets() {
121
- this.optionSets.push({ options: ['id', 'title'] });
121
+ this.optionSets.push({
122
+ options: ['id', 'title']
123
+ }, {
124
+ options: ['ownerGroupId', 'ownerGroupName', 'rosterId'],
125
+ runsWhen: (args) => {
126
+ return args.options.title !== undefined;
127
+ }
128
+ });
122
129
  };
123
130
  module.exports = new PlannerPlanGetCommand();
124
131
  //# sourceMappingURL=plan-get.js.map
@@ -16,16 +16,16 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _PlannerPlanListCommand_instances, _PlannerPlanListCommand_initTelemetry, _PlannerPlanListCommand_initOptions, _PlannerPlanListCommand_initValidators, _PlannerPlanListCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const validation_1 = require("../../../../utils/validation");
19
- const aadGroup_1 = require("../../../../utils/aadGroup");
20
19
  const planner_1 = require("../../../../utils/planner");
21
20
  const GraphCommand_1 = require("../../../base/GraphCommand");
22
21
  const commands_1 = require("../../commands");
22
+ const aadGroup_1 = require("../../../../utils/aadGroup");
23
23
  class PlannerPlanListCommand extends GraphCommand_1.default {
24
24
  get name() {
25
25
  return commands_1.default.PLAN_LIST;
26
26
  }
27
27
  get description() {
28
- return 'Returns a list of plans associated with a specified group';
28
+ return 'Returns a list of plans associated with a specified group or roster';
29
29
  }
30
30
  constructor() {
31
31
  super();
@@ -41,10 +41,16 @@ class PlannerPlanListCommand extends GraphCommand_1.default {
41
41
  commandAction(logger, args) {
42
42
  return __awaiter(this, void 0, void 0, function* () {
43
43
  try {
44
- const groupId = yield this.getGroupId(args);
45
- const result = yield planner_1.planner.getPlansByGroupId(groupId);
46
- if (result && result.length > 0) {
47
- logger.log(result);
44
+ let plannerPlans = null;
45
+ if (args.options.ownerGroupId || args.options.ownerGroupName) {
46
+ const groupId = yield this.getGroupId(args);
47
+ plannerPlans = yield planner_1.planner.getPlansByGroupId(groupId);
48
+ }
49
+ else {
50
+ plannerPlans = yield planner_1.planner.getPlansByRosterId(args.options.rosterId);
51
+ }
52
+ if (plannerPlans && plannerPlans.length > 0) {
53
+ logger.log(plannerPlans);
48
54
  }
49
55
  }
50
56
  catch (err) {
@@ -53,19 +59,21 @@ class PlannerPlanListCommand extends GraphCommand_1.default {
53
59
  });
54
60
  }
55
61
  getGroupId(args) {
56
- if (args.options.ownerGroupId) {
57
- return Promise.resolve(args.options.ownerGroupId);
58
- }
59
- return aadGroup_1.aadGroup
60
- .getGroupByDisplayName(args.options.ownerGroupName)
61
- .then(group => group.id);
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ if (args.options.ownerGroupId) {
64
+ return args.options.ownerGroupId;
65
+ }
66
+ const group = yield aadGroup_1.aadGroup.getGroupByDisplayName(args.options.ownerGroupName);
67
+ return group.id;
68
+ });
62
69
  }
63
70
  }
64
71
  _PlannerPlanListCommand_instances = new WeakSet(), _PlannerPlanListCommand_initTelemetry = function _PlannerPlanListCommand_initTelemetry() {
65
72
  this.telemetry.push((args) => {
66
73
  Object.assign(this.telemetryProperties, {
67
74
  ownerGroupId: typeof args.options.ownerGroupId !== 'undefined',
68
- ownerGroupName: typeof args.options.ownerGroupName !== 'undefined'
75
+ ownerGroupName: typeof args.options.ownerGroupName !== 'undefined',
76
+ rosterId: typeof args.options.rosterId !== 'undefined'
69
77
  });
70
78
  });
71
79
  }, _PlannerPlanListCommand_initOptions = function _PlannerPlanListCommand_initOptions() {
@@ -73,6 +81,8 @@ _PlannerPlanListCommand_instances = new WeakSet(), _PlannerPlanListCommand_initT
73
81
  option: "--ownerGroupId [ownerGroupId]"
74
82
  }, {
75
83
  option: "--ownerGroupName [ownerGroupName]"
84
+ }, {
85
+ option: "--rosterId [rosterId]"
76
86
  });
77
87
  }, _PlannerPlanListCommand_initValidators = function _PlannerPlanListCommand_initValidators() {
78
88
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
@@ -82,7 +92,7 @@ _PlannerPlanListCommand_instances = new WeakSet(), _PlannerPlanListCommand_initT
82
92
  return true;
83
93
  }));
84
94
  }, _PlannerPlanListCommand_initOptionSets = function _PlannerPlanListCommand_initOptionSets() {
85
- this.optionSets.push({ options: ['ownerGroupId', 'ownerGroupName'] });
95
+ this.optionSets.push({ options: ['ownerGroupId', 'ownerGroupName', 'rosterId'] });
86
96
  };
87
97
  module.exports = new PlannerPlanListCommand();
88
98
  //# sourceMappingURL=plan-list.js.map
@@ -79,7 +79,7 @@ class PlannerPlanRemoveCommand extends GraphCommand_1.default {
79
79
  return planner_1.planner.getPlanById(id, 'minimal');
80
80
  }
81
81
  const groupId = yield this.getGroupId(args);
82
- return yield planner_1.planner.getPlanByTitle(title, groupId);
82
+ return yield planner_1.planner.getPlanByTitle(title, groupId, 'minimal');
83
83
  });
84
84
  }
85
85
  getGroupId(args) {
@@ -0,0 +1,47 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const request_1 = require("../../../../request");
13
+ const GraphCommand_1 = require("../../../base/GraphCommand");
14
+ const commands_1 = require("../../commands");
15
+ class PlannerRosterAddCommand extends GraphCommand_1.default {
16
+ get name() {
17
+ return commands_1.default.ROSTER_ADD;
18
+ }
19
+ get description() {
20
+ return 'Creates a new Microsoft Planner Roster';
21
+ }
22
+ commandAction(logger) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ if (this.verbose) {
25
+ logger.logToStderr('Creating a new Microsoft Planner Roster');
26
+ }
27
+ try {
28
+ const requestBody = {};
29
+ const requestOptions = {
30
+ url: `${this.resource}/beta/planner/rosters`,
31
+ headers: {
32
+ accept: 'application/json;odata.metadata=none'
33
+ },
34
+ data: requestBody,
35
+ responseType: 'json'
36
+ };
37
+ const response = yield request_1.default.post(requestOptions);
38
+ logger.log(response);
39
+ }
40
+ catch (err) {
41
+ this.handleRejectedODataJsonPromise(err);
42
+ }
43
+ });
44
+ }
45
+ }
46
+ module.exports = new PlannerRosterAddCommand();
47
+ //# sourceMappingURL=roster-add.js.map
@@ -0,0 +1,113 @@
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 _PlannerRosterMemberAddCommand_instances, _PlannerRosterMemberAddCommand_initTelemetry, _PlannerRosterMemberAddCommand_initOptions, _PlannerRosterMemberAddCommand_initOptionSets, _PlannerRosterMemberAddCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const request_1 = require("../../../../request");
19
+ const validation_1 = require("../../../../utils/validation");
20
+ const GraphCommand_1 = require("../../../base/GraphCommand");
21
+ const commands_1 = require("../../commands");
22
+ const AadUserGetCommand = require("../../../aad/commands/user/user-get");
23
+ const Cli_1 = require("../../../../cli/Cli");
24
+ class PlannerRosterMemberAddCommand extends GraphCommand_1.default {
25
+ get name() {
26
+ return commands_1.default.ROSTER_MEMBER_ADD;
27
+ }
28
+ get description() {
29
+ return 'Adds a user to a Microsoft Planner Roster';
30
+ }
31
+ constructor() {
32
+ super();
33
+ _PlannerRosterMemberAddCommand_instances.add(this);
34
+ __classPrivateFieldGet(this, _PlannerRosterMemberAddCommand_instances, "m", _PlannerRosterMemberAddCommand_initTelemetry).call(this);
35
+ __classPrivateFieldGet(this, _PlannerRosterMemberAddCommand_instances, "m", _PlannerRosterMemberAddCommand_initOptions).call(this);
36
+ __classPrivateFieldGet(this, _PlannerRosterMemberAddCommand_instances, "m", _PlannerRosterMemberAddCommand_initValidators).call(this);
37
+ __classPrivateFieldGet(this, _PlannerRosterMemberAddCommand_instances, "m", _PlannerRosterMemberAddCommand_initOptionSets).call(this);
38
+ }
39
+ commandAction(logger, args) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ if (this.verbose) {
42
+ logger.logToStderr('Adding a user to a Microsoft Planner Roster');
43
+ }
44
+ try {
45
+ const userId = yield this.getUserId(logger, args);
46
+ const requestOptions = {
47
+ url: `${this.resource}/beta/planner/rosters/${args.options.rosterId}/members`,
48
+ headers: {
49
+ accept: 'application/json;odata.metadata=none'
50
+ },
51
+ data: {
52
+ userId: userId
53
+ },
54
+ responseType: 'json'
55
+ };
56
+ const response = yield request_1.default.post(requestOptions);
57
+ logger.log(response);
58
+ }
59
+ catch (err) {
60
+ this.handleRejectedODataJsonPromise(err);
61
+ }
62
+ });
63
+ }
64
+ getUserId(logger, args) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ if (this.verbose) {
67
+ logger.logToStderr("Getting the user ID");
68
+ }
69
+ if (args.options.userId) {
70
+ return args.options.userId;
71
+ }
72
+ const aadUserGetCommandoptions = {
73
+ userName: args.options.userName,
74
+ output: 'json',
75
+ debug: args.options.debug,
76
+ verbose: args.options.verbose
77
+ };
78
+ const aadUserGetOutput = yield Cli_1.Cli.executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, aadUserGetCommandoptions), { _: [] }) });
79
+ if (this.verbose) {
80
+ logger.logToStderr(aadUserGetOutput.stderr);
81
+ }
82
+ const aadUserGetJsonOutput = JSON.parse(aadUserGetOutput.stdout);
83
+ return aadUserGetJsonOutput.id;
84
+ });
85
+ }
86
+ }
87
+ _PlannerRosterMemberAddCommand_instances = new WeakSet(), _PlannerRosterMemberAddCommand_initTelemetry = function _PlannerRosterMemberAddCommand_initTelemetry() {
88
+ this.telemetry.push((args) => {
89
+ Object.assign(this.telemetryProperties, {
90
+ userId: typeof args.options.userId !== 'undefined',
91
+ userName: typeof args.options.userName !== 'undefined'
92
+ });
93
+ });
94
+ }, _PlannerRosterMemberAddCommand_initOptions = function _PlannerRosterMemberAddCommand_initOptions() {
95
+ this.options.unshift({
96
+ option: '--rosterId <rosterId>'
97
+ }, {
98
+ option: '--userId [userId]'
99
+ }, {
100
+ option: '--userName [userName]'
101
+ });
102
+ }, _PlannerRosterMemberAddCommand_initOptionSets = function _PlannerRosterMemberAddCommand_initOptionSets() {
103
+ this.optionSets.push({ options: ['userId', 'userName'] });
104
+ }, _PlannerRosterMemberAddCommand_initValidators = function _PlannerRosterMemberAddCommand_initValidators() {
105
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
106
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
107
+ return `${args.options.userId} is not a valid GUID`;
108
+ }
109
+ return true;
110
+ }));
111
+ };
112
+ module.exports = new PlannerRosterMemberAddCommand();
113
+ //# sourceMappingURL=roster-member-add.js.map
@@ -0,0 +1,54 @@
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 _PlannerRosterMemberListCommand_instances, _PlannerRosterMemberListCommand_initOptions;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const odata_1 = require("../../../../utils/odata");
19
+ const GraphCommand_1 = require("../../../base/GraphCommand");
20
+ const commands_1 = require("../../commands");
21
+ class PlannerRosterMemberListCommand extends GraphCommand_1.default {
22
+ get name() {
23
+ return commands_1.default.ROSTER_MEMBER_LIST;
24
+ }
25
+ get description() {
26
+ return 'Lists members of the specified Microsoft Planner Roster';
27
+ }
28
+ constructor() {
29
+ super();
30
+ _PlannerRosterMemberListCommand_instances.add(this);
31
+ __classPrivateFieldGet(this, _PlannerRosterMemberListCommand_instances, "m", _PlannerRosterMemberListCommand_initOptions).call(this);
32
+ }
33
+ commandAction(logger, args) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ if (this.verbose) {
36
+ logger.logToStderr('Retrieving members of the specified Microsoft Planner Roster');
37
+ }
38
+ try {
39
+ const response = yield odata_1.odata.getAllItems(`${this.resource}/beta/planner/rosters/${args.options.rosterId}/members`);
40
+ logger.log(response);
41
+ }
42
+ catch (err) {
43
+ this.handleRejectedODataJsonPromise(err);
44
+ }
45
+ });
46
+ }
47
+ }
48
+ _PlannerRosterMemberListCommand_instances = new WeakSet(), _PlannerRosterMemberListCommand_initOptions = function _PlannerRosterMemberListCommand_initOptions() {
49
+ this.options.unshift({
50
+ option: '--rosterId <rosterId>'
51
+ });
52
+ };
53
+ module.exports = new PlannerRosterMemberListCommand();
54
+ //# sourceMappingURL=roster-member-list.js.map
@@ -0,0 +1,88 @@
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 _PlannerRosterRemoveCommand_instances, _PlannerRosterRemoveCommand_initTelemetry, _PlannerRosterRemoveCommand_initOptions;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ const request_1 = require("../../../../request");
20
+ const GraphCommand_1 = require("../../../base/GraphCommand");
21
+ const commands_1 = require("../../commands");
22
+ class PlannerRosterRemoveCommand extends GraphCommand_1.default {
23
+ get name() {
24
+ return commands_1.default.ROSTER_REMOVE;
25
+ }
26
+ get description() {
27
+ return 'Removes a Microsoft Planner Roster';
28
+ }
29
+ constructor() {
30
+ super();
31
+ _PlannerRosterRemoveCommand_instances.add(this);
32
+ __classPrivateFieldGet(this, _PlannerRosterRemoveCommand_instances, "m", _PlannerRosterRemoveCommand_initTelemetry).call(this);
33
+ __classPrivateFieldGet(this, _PlannerRosterRemoveCommand_instances, "m", _PlannerRosterRemoveCommand_initOptions).call(this);
34
+ }
35
+ commandAction(logger, args) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ if (args.options.confirm) {
38
+ yield this.removeRoster(args, logger);
39
+ }
40
+ else {
41
+ const result = yield Cli_1.Cli.prompt({
42
+ type: 'confirm',
43
+ name: 'continue',
44
+ default: false,
45
+ message: `Are you sure you want to remove roster ${args.options.id}?`
46
+ });
47
+ if (result.continue) {
48
+ yield this.removeRoster(args, logger);
49
+ }
50
+ }
51
+ });
52
+ }
53
+ removeRoster(args, logger) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ if (this.verbose) {
56
+ logger.logToStderr(`Removing roster ${args.options.id}`);
57
+ }
58
+ try {
59
+ const requestOptions = {
60
+ url: `${this.resource}/beta/planner/rosters/${args.options.id}`,
61
+ headers: {
62
+ accept: 'application/json;odata.metadata=none'
63
+ },
64
+ responseType: 'json'
65
+ };
66
+ yield request_1.default.delete(requestOptions);
67
+ }
68
+ catch (err) {
69
+ this.handleRejectedODataJsonPromise(err);
70
+ }
71
+ });
72
+ }
73
+ }
74
+ _PlannerRosterRemoveCommand_instances = new WeakSet(), _PlannerRosterRemoveCommand_initTelemetry = function _PlannerRosterRemoveCommand_initTelemetry() {
75
+ this.telemetry.push((args) => {
76
+ Object.assign(this.telemetryProperties, {
77
+ confirm: !!args.options.confirm
78
+ });
79
+ });
80
+ }, _PlannerRosterRemoveCommand_initOptions = function _PlannerRosterRemoveCommand_initOptions() {
81
+ this.options.unshift({
82
+ option: '--id <id>'
83
+ }, {
84
+ option: '--confirm'
85
+ });
86
+ };
87
+ module.exports = new PlannerRosterRemoveCommand();
88
+ //# sourceMappingURL=roster-remove.js.map
@@ -16,6 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _PlannerTaskChecklistItemAddCommand_instances, _PlannerTaskChecklistItemAddCommand_initTelemetry, _PlannerTaskChecklistItemAddCommand_initOptions;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const uuid_1 = require("uuid");
19
+ const Cli_1 = require("../../../../cli/Cli");
19
20
  const request_1 = require("../../../../request");
20
21
  const formatting_1 = require("../../../../utils/formatting");
21
22
  const GraphCommand_1 = require("../../../base/GraphCommand");
@@ -61,7 +62,7 @@ class PlannerTaskChecklistItemAddCommand extends GraphCommand_1.default {
61
62
  data: body
62
63
  };
63
64
  const result = yield request_1.default.patch(requestOptions);
64
- if (args.options.output === 'json') {
65
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
65
66
  logger.log(result.checklist);
66
67
  }
67
68
  else {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _PlannerTaskChecklistItemListCommand_instances, _PlannerTaskChecklistItemListCommand_initOptions;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const request_1 = require("../../../../request");
19
20
  const formatting_1 = require("../../../../utils/formatting");
20
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
@@ -45,7 +46,7 @@ class PlannerTaskChecklistItemListCommand extends GraphCommand_1.default {
45
46
  };
46
47
  try {
47
48
  const res = yield request_1.default.get(requestOptions);
48
- if (!args.options.output || args.options.output === 'json') {
49
+ if (!args.options.output || !Cli_1.Cli.shouldTrimOutput(args.options.output)) {
49
50
  logger.log(res.checklist);
50
51
  }
51
52
  else {
@@ -12,6 +12,10 @@ exports.default = {
12
12
  PLAN_LIST: `${prefix} plan list`,
13
13
  PLAN_REMOVE: `${prefix} plan remove`,
14
14
  PLAN_SET: `${prefix} plan set`,
15
+ ROSTER_ADD: `${prefix} roster add`,
16
+ ROSTER_MEMBER_ADD: `${prefix} roster member add`,
17
+ ROSTER_MEMBER_LIST: `${prefix} roster member list`,
18
+ ROSTER_REMOVE: `${prefix} roster remove`,
15
19
  TASK_ADD: `${prefix} task add`,
16
20
  TASK_CHECKLISTITEM_ADD: `${prefix} task checklistitem add`,
17
21
  TASK_CHECKLISTITEM_LIST: `${prefix} task checklistitem list`,
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _PpSolutionGetCommand_instances, _PpSolutionGetCommand_initTelemetry, _PpSolutionGetCommand_initOptions, _PpSolutionGetCommand_initOptionSets, _PpSolutionGetCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const request_1 = require("../../../../request");
19
20
  const powerPlatform_1 = require("../../../../utils/powerPlatform");
20
21
  const validation_1 = require("../../../../utils/validation");
@@ -46,7 +47,7 @@ class PpSolutionGetCommand extends PowerPlatformCommand_1.default {
46
47
  try {
47
48
  const dynamicsApiUrl = yield powerPlatform_1.powerPlatform.getDynamicsInstanceApiUrl(args.options.environment, args.options.asAdmin);
48
49
  const res = yield this.getSolution(dynamicsApiUrl, args.options);
49
- if (!args.options.output || args.options.output === 'json') {
50
+ if (!args.options.output || !Cli_1.Cli.shouldTrimOutput(args.options.output)) {
50
51
  logger.log(res);
51
52
  }
52
53
  else {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _PpSolutionListCommand_instances, _PpSolutionListCommand_initTelemetry, _PpSolutionListCommand_initOptions;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const odata_1 = require("../../../../utils/odata");
19
20
  const powerPlatform_1 = require("../../../../utils/powerPlatform");
20
21
  const PowerPlatformCommand_1 = require("../../../base/PowerPlatformCommand");
@@ -44,7 +45,7 @@ class PpSolutionListCommand extends PowerPlatformCommand_1.default {
44
45
  const dynamicsApiUrl = yield powerPlatform_1.powerPlatform.getDynamicsInstanceApiUrl(args.options.environment, args.options.asAdmin);
45
46
  const requestUrl = `${dynamicsApiUrl}/api/data/v9.0/solutions?$filter=isvisible eq true&$expand=publisherid($select=friendlyname)&$select=solutionid,uniquename,version,publisherid,installedon,solutionpackageversion,friendlyname,versionnumber&api-version=9.1`;
46
47
  const res = yield odata_1.odata.getAllItems(requestUrl);
47
- if (!args.options.output || args.options.output === 'json') {
48
+ if (!args.options.output || !Cli_1.Cli.shouldTrimOutput(args.options.output)) {
48
49
  logger.log(res);
49
50
  }
50
51
  else {