@pnp/cli-microsoft365 6.10.0-beta.bd0bd83 → 6.10.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 (102) hide show
  1. package/dist/Command.js +1 -1
  2. package/dist/cli/Cli.js +23 -8
  3. package/dist/m365/aad/commands/user/user-get.js +7 -1
  4. package/dist/m365/booking/commands/business/business-get.js +14 -15
  5. package/dist/m365/cli/commands/config/config-set.js +1 -1
  6. package/dist/m365/pa/commands/app/app-owner-set.js +115 -0
  7. package/dist/m365/pa/commands/app/app-permission-list.js +104 -0
  8. package/dist/m365/pa/commands.js +2 -0
  9. package/dist/m365/planner/commands/bucket/bucket-add.js +14 -10
  10. package/dist/m365/planner/commands/bucket/bucket-get.js +25 -19
  11. package/dist/m365/planner/commands/bucket/bucket-list.js +14 -10
  12. package/dist/m365/planner/commands/bucket/bucket-remove.js +26 -20
  13. package/dist/m365/planner/commands/bucket/bucket-set.js +26 -28
  14. package/dist/m365/planner/commands/roster/roster-member-add.js +3 -14
  15. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +19 -17
  16. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +19 -17
  17. package/dist/m365/spo/commands/list/list-roleassignment-add.js +9 -47
  18. package/dist/m365/spo/commands/page/page-remove.js +33 -31
  19. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +25 -23
  20. package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -3
  21. package/dist/m365/spo/commands/site/site-commsite-enable.js +9 -18
  22. package/dist/m365/spo/commands/site/site-set.js +10 -2
  23. package/dist/m365/spo/commands/theme/theme-get.js +1 -2
  24. package/dist/m365/teams/commands/chat/chat-member-add.js +117 -0
  25. package/dist/m365/teams/commands/meeting/meeting-get.js +16 -24
  26. package/dist/m365/teams/commands/meeting/meeting-list.js +2 -15
  27. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  28. package/dist/m365/teams/commands.js +1 -0
  29. package/dist/utils/spo.js +74 -0
  30. package/docs/docs/_clisettings.mdx +1 -1
  31. package/docs/docs/cmd/_global.mdx +1 -1
  32. package/docs/docs/cmd/aad/user/user-get.mdx +118 -25
  33. package/docs/docs/cmd/pa/app/app-owner-set.mdx +60 -0
  34. package/docs/docs/cmd/pa/app/app-permission-list.mdx +132 -0
  35. package/docs/docs/cmd/planner/bucket/bucket-add.mdx +21 -4
  36. package/docs/docs/cmd/planner/bucket/bucket-get.mdx +22 -5
  37. package/docs/docs/cmd/planner/bucket/bucket-list.mdx +21 -4
  38. package/docs/docs/cmd/planner/bucket/bucket-remove.mdx +21 -4
  39. package/docs/docs/cmd/planner/bucket/bucket-set.mdx +22 -5
  40. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
  41. package/docs/docs/cmd/spo/site/site-add.mdx +35 -0
  42. package/docs/docs/cmd/spo/site/site-appcatalog-add.mdx +5 -1
  43. package/docs/docs/cmd/spo/site/site-appcatalog-list.mdx +14 -0
  44. package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +4 -0
  45. package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +68 -0
  46. package/docs/docs/cmd/spo/site/site-apppermission-get.mdx +55 -0
  47. package/docs/docs/cmd/spo/site/site-apppermission-list.mdx +55 -0
  48. package/docs/docs/cmd/spo/site/site-apppermission-remove.mdx +4 -0
  49. package/docs/docs/cmd/spo/site/site-apppermission-set.mdx +66 -0
  50. package/docs/docs/cmd/spo/site/site-chrome-set.mdx +4 -0
  51. package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +11 -1
  52. package/docs/docs/cmd/spo/site/site-ensure.mdx +70 -0
  53. package/docs/docs/cmd/spo/site/site-get.mdx +179 -0
  54. package/docs/docs/cmd/spo/site/site-groupify.mdx +54 -0
  55. package/docs/docs/cmd/spo/site/site-hubsite-connect.mdx +4 -0
  56. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.mdx +4 -0
  57. package/docs/docs/cmd/spo/site/site-hubsite-theme-sync.mdx +5 -1
  58. package/docs/docs/cmd/spo/site/site-inplacerecordsmanagement-set.mdx +4 -0
  59. package/docs/docs/cmd/spo/site/site-list.mdx +303 -0
  60. package/docs/docs/cmd/spo/site/site-recyclebinitem-list.mdx +80 -0
  61. package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.mdx +4 -0
  62. package/docs/docs/cmd/spo/site/site-remove.mdx +4 -0
  63. package/docs/docs/cmd/spo/site/site-rename.mdx +92 -0
  64. package/docs/docs/cmd/spo/site/site-set.mdx +13 -0
  65. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.mdx +116 -0
  66. package/docs/docs/cmd/spo/sitedesign/sitedesign-apply.mdx +125 -0
  67. package/docs/docs/cmd/spo/sitedesign/sitedesign-get.mdx +117 -0
  68. package/docs/docs/cmd/spo/sitedesign/sitedesign-list.mdx +94 -0
  69. package/docs/docs/cmd/spo/sitedesign/sitedesign-remove.mdx +4 -0
  70. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.mdx +4 -0
  71. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.mdx +54 -0
  72. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.mdx +4 -0
  73. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-list.mdx +66 -0
  74. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-status-get.mdx +65 -0
  75. package/docs/docs/cmd/spo/sitedesign/sitedesign-set.mdx +117 -0
  76. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.mdx +61 -0
  77. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-list.mdx +60 -0
  78. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.mdx +4 -0
  79. package/docs/docs/cmd/spo/sitescript/sitescript-add.mdx +75 -0
  80. package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +62 -0
  81. package/docs/docs/cmd/spo/sitescript/sitescript-list.mdx +60 -0
  82. package/docs/docs/cmd/spo/sitescript/sitescript-remove.mdx +4 -0
  83. package/docs/docs/cmd/spo/sitescript/sitescript-set.mdx +63 -0
  84. package/docs/docs/cmd/spo/storageentity/storageentity-get.mdx +53 -0
  85. package/docs/docs/cmd/spo/storageentity/storageentity-list.mdx +54 -0
  86. package/docs/docs/cmd/spo/storageentity/storageentity-remove.mdx +4 -0
  87. package/docs/docs/cmd/spo/storageentity/storageentity-set.mdx +4 -0
  88. package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.mdx +4 -0
  89. package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.mdx +35 -0
  90. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.mdx +67 -0
  91. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.mdx +4 -0
  92. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.mdx +50 -0
  93. package/docs/docs/cmd/spo/tenant/tenant-settings-list.mdx +729 -0
  94. package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +5 -0
  95. package/docs/docs/cmd/spo/theme/theme-apply.mdx +35 -0
  96. package/docs/docs/cmd/spo/theme/theme-get.mdx +74 -0
  97. package/docs/docs/cmd/spo/theme/theme-list.mdx +52 -0
  98. package/docs/docs/cmd/spo/theme/theme-remove.mdx +4 -0
  99. package/docs/docs/cmd/spo/theme/theme-set.mdx +4 -0
  100. package/docs/docs/cmd/teams/chat/chat-member-add.mdx +66 -0
  101. package/npm-shrinkwrap.json +212 -212
  102. package/package.json +11 -11
@@ -105,13 +105,17 @@ class PlannerBucketRemoveCommand extends GraphCommand_1.default {
105
105
  }
106
106
  getPlanId(args) {
107
107
  return __awaiter(this, void 0, void 0, function* () {
108
- const { planId, planTitle } = args.options;
108
+ const { planId, planTitle, rosterId } = args.options;
109
109
  if (planId) {
110
110
  return planId;
111
111
  }
112
- const groupId = yield this.getGroupId(args);
113
- const plan = yield planner_1.planner.getPlanByTitle(planTitle, groupId);
114
- return plan.id;
112
+ if (planTitle) {
113
+ const groupId = yield this.getGroupId(args);
114
+ const plan = yield planner_1.planner.getPlanByTitle(planTitle, groupId);
115
+ return plan.id;
116
+ }
117
+ const plans = yield planner_1.planner.getPlansByRosterId(rosterId);
118
+ return plans[0].id;
115
119
  });
116
120
  }
117
121
  getGroupId(args) {
@@ -132,6 +136,7 @@ _PlannerBucketRemoveCommand_instances = new WeakSet(), _PlannerBucketRemoveComma
132
136
  name: typeof args.options.name !== 'undefined',
133
137
  planId: typeof args.options.planId !== 'undefined',
134
138
  planTitle: typeof args.options.planTitle !== 'undefined',
139
+ rosterId: typeof args.options.rosterId !== 'undefined',
135
140
  ownerGroupId: typeof args.options.ownerGroupId !== 'undefined',
136
141
  ownerGroupName: typeof args.options.ownerGroupName !== 'undefined',
137
142
  confirm: args.options.confirm || false
@@ -146,6 +151,8 @@ _PlannerBucketRemoveCommand_instances = new WeakSet(), _PlannerBucketRemoveComma
146
151
  option: '--planId [planId]'
147
152
  }, {
148
153
  option: "--planTitle [planTitle]"
154
+ }, {
155
+ option: '--rosterId [rosterId]'
149
156
  }, {
150
157
  option: '--ownerGroupId [ownerGroupId]'
151
158
  }, {
@@ -156,38 +163,37 @@ _PlannerBucketRemoveCommand_instances = new WeakSet(), _PlannerBucketRemoveComma
156
163
  }, _PlannerBucketRemoveCommand_initValidators = function _PlannerBucketRemoveCommand_initValidators() {
157
164
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
158
165
  if (args.options.id) {
159
- if (args.options.planId || args.options.planTitle || args.options.ownerGroupId || args.options.ownerGroupName) {
160
- return 'Don\'t specify planId, planTitle, ownerGroupId or ownerGroupName when using id';
166
+ if (args.options.planId || args.options.planTitle || args.options.rosterId || args.options.ownerGroupId || args.options.ownerGroupName) {
167
+ return 'Don\'t specify planId, planTitle, rosterId, ownerGroupId or ownerGroupName when using id';
161
168
  }
162
169
  }
163
170
  else {
164
- if (!args.options.planId && !args.options.planTitle) {
165
- return 'Specify either planId or planTitle when using name';
166
- }
167
- if (args.options.planId && args.options.planTitle) {
168
- return 'Specify either planId or planTitle when using name but not both';
169
- }
170
171
  if (args.options.planTitle) {
171
- if (!args.options.ownerGroupId && !args.options.ownerGroupName) {
172
- return 'Specify either ownerGroupId or ownerGroupName when using planTitle';
173
- }
174
- if (args.options.ownerGroupId && args.options.ownerGroupName) {
175
- return 'Specify either ownerGroupId or ownerGroupName when using planTitle but not both';
176
- }
177
172
  if (args.options.ownerGroupId && !validation_1.validation.isValidGuid(args.options.ownerGroupId)) {
178
173
  return `${args.options.ownerGroupId} is not a valid GUID`;
179
174
  }
180
175
  }
181
- else {
176
+ else if (args.options.planId) {
182
177
  if (args.options.ownerGroupId || args.options.ownerGroupName) {
183
178
  return 'Don\'t specify ownerGroupId or ownerGroupName when using planId';
184
179
  }
185
180
  }
181
+ else {
182
+ if (args.options.ownerGroupId || args.options.ownerGroupName) {
183
+ return 'Don\'t specify ownerGroupId or ownerGroupName when using rosterId';
184
+ }
185
+ }
186
186
  }
187
187
  return true;
188
188
  }));
189
189
  }, _PlannerBucketRemoveCommand_initOptionSets = function _PlannerBucketRemoveCommand_initOptionSets() {
190
- this.optionSets.push({ options: ['id', 'name'] });
190
+ this.optionSets.push({ options: ['id', 'name'] }, {
191
+ options: ['planId', 'planTitle', 'rosterId'],
192
+ runsWhen: (args) => args.options.name !== undefined
193
+ }, {
194
+ options: ['ownerGroupId', 'ownerGroupName'],
195
+ runsWhen: (args) => args.options.planTitle !== undefined
196
+ });
191
197
  };
192
198
  module.exports = new PlannerBucketRemoveCommand();
193
199
  //# sourceMappingURL=bucket-remove.js.map
@@ -96,13 +96,17 @@ class PlannerBucketSetCommand extends GraphCommand_1.default {
96
96
  }
97
97
  getPlanId(args) {
98
98
  return __awaiter(this, void 0, void 0, function* () {
99
- const { planId, planTitle } = args.options;
99
+ const { planId, planTitle, rosterId } = args.options;
100
100
  if (planId) {
101
101
  return planId;
102
102
  }
103
- const groupId = yield this.getGroupId(args);
104
- const plan = yield planner_1.planner.getPlanByTitle(planTitle, groupId);
105
- return plan.id;
103
+ if (planTitle) {
104
+ const groupId = yield this.getGroupId(args);
105
+ const plan = yield planner_1.planner.getPlanByTitle(planTitle, groupId);
106
+ return plan.id;
107
+ }
108
+ const plans = yield planner_1.planner.getPlansByRosterId(rosterId);
109
+ return plans[0].id;
106
110
  });
107
111
  }
108
112
  getGroupId(args) {
@@ -123,6 +127,7 @@ _PlannerBucketSetCommand_instances = new WeakSet(), _PlannerBucketSetCommand_ini
123
127
  name: typeof args.options.name !== 'undefined',
124
128
  planId: typeof args.options.planId !== 'undefined',
125
129
  planTitle: typeof args.options.planTitle !== 'undefined',
130
+ rosterId: typeof args.options.rosterId !== 'undefined',
126
131
  ownerGroupId: typeof args.options.ownerGroupId !== 'undefined',
127
132
  ownerGroupName: typeof args.options.ownerGroupName !== 'undefined',
128
133
  newName: typeof args.options.newName !== 'undefined',
@@ -138,6 +143,8 @@ _PlannerBucketSetCommand_instances = new WeakSet(), _PlannerBucketSetCommand_ini
138
143
  option: '--planId [planId]'
139
144
  }, {
140
145
  option: "--planTitle [planTitle]"
146
+ }, {
147
+ option: '--rosterId [rosterId]'
141
148
  }, {
142
149
  option: '--ownerGroupId [ownerGroupId]'
143
150
  }, {
@@ -149,33 +156,18 @@ _PlannerBucketSetCommand_instances = new WeakSet(), _PlannerBucketSetCommand_ini
149
156
  });
150
157
  }, _PlannerBucketSetCommand_initValidators = function _PlannerBucketSetCommand_initValidators() {
151
158
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
152
- if (args.options.id) {
153
- if (args.options.planId || args.options.planTitle || args.options.ownerGroupId || args.options.ownerGroupName) {
154
- return 'Don\'t specify planId, planTitle, ownerGroupId or ownerGroupName when using id';
155
- }
159
+ if (args.options.id && (args.options.planId || args.options.planTitle || args.options.ownerGroupId || args.options.ownerGroupName || args.options.rosterId)) {
160
+ return 'Don\'t specify planId, planTitle, ownerGroupId, ownerGroupName or rosterId when using id';
156
161
  }
157
162
  if (args.options.name) {
158
- if (!args.options.planId && !args.options.planTitle) {
159
- return 'Specify either planId or planTitle when using name';
163
+ if (args.options.ownerGroupId && !validation_1.validation.isValidGuid(args.options.ownerGroupId)) {
164
+ return `${args.options.ownerGroupId} is not a valid GUID`;
160
165
  }
161
- if (args.options.planId && args.options.planTitle) {
162
- return 'Specify either planId or planTitle when using name but not both';
163
- }
164
- if (args.options.planTitle) {
165
- if (!args.options.ownerGroupId && !args.options.ownerGroupName) {
166
- return 'Specify either ownerGroupId or ownerGroupName when using planTitle';
167
- }
168
- if (args.options.ownerGroupId && args.options.ownerGroupName) {
169
- return 'Specify either ownerGroupId or ownerGroupName when using planTitle but not both';
170
- }
171
- if (args.options.ownerGroupId && !validation_1.validation.isValidGuid(args.options.ownerGroupId)) {
172
- return `${args.options.ownerGroupId} is not a valid GUID`;
173
- }
166
+ if (args.options.planId && (args.options.ownerGroupId || args.options.ownerGroupName)) {
167
+ return 'Don\'t specify ownerGroupId or ownerGroupName when using planId';
174
168
  }
175
- if (args.options.planId) {
176
- if (args.options.ownerGroupId || args.options.ownerGroupName) {
177
- return 'Don\'t specify ownerGroupId or ownerGroupName when using planId';
178
- }
169
+ if (args.options.rosterId && (args.options.ownerGroupId || args.options.ownerGroupName)) {
170
+ return 'Don\'t specify ownerGroupId or ownerGroupName when using rosterId';
179
171
  }
180
172
  }
181
173
  if (!args.options.newName && !args.options.orderHint) {
@@ -184,7 +176,13 @@ _PlannerBucketSetCommand_instances = new WeakSet(), _PlannerBucketSetCommand_ini
184
176
  return true;
185
177
  }));
186
178
  }, _PlannerBucketSetCommand_initOptionSets = function _PlannerBucketSetCommand_initOptionSets() {
187
- this.optionSets.push({ options: ['id', 'name'] });
179
+ this.optionSets.push({ options: ['id', 'name'] }, {
180
+ options: ['planId', 'planTitle', 'rosterId'],
181
+ runsWhen: (args) => args.options.name !== undefined
182
+ }, {
183
+ options: ['ownerGroupId', 'ownerGroupName'],
184
+ runsWhen: (args) => args.options.planTitle !== undefined
185
+ });
188
186
  };
189
187
  module.exports = new PlannerBucketSetCommand();
190
188
  //# sourceMappingURL=bucket-set.js.map
@@ -19,8 +19,7 @@ const request_1 = require("../../../../request");
19
19
  const validation_1 = require("../../../../utils/validation");
20
20
  const GraphCommand_1 = require("../../../base/GraphCommand");
21
21
  const commands_1 = require("../../commands");
22
- const AadUserGetCommand = require("../../../aad/commands/user/user-get");
23
- const Cli_1 = require("../../../../cli/Cli");
22
+ const aadUser_1 = require("../../../../utils/aadUser");
24
23
  class PlannerRosterMemberAddCommand extends GraphCommand_1.default {
25
24
  get name() {
26
25
  return commands_1.default.ROSTER_MEMBER_ADD;
@@ -69,18 +68,8 @@ class PlannerRosterMemberAddCommand extends GraphCommand_1.default {
69
68
  if (args.options.userId) {
70
69
  return args.options.userId;
71
70
  }
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;
71
+ const userId = yield aadUser_1.aadUser.getUserIdByUpn(args.options.userName);
72
+ return userId;
84
73
  });
85
74
  }
86
75
  }
@@ -36,23 +36,8 @@ class PurviewRetentionEventRemoveCommand extends GraphCommand_1.default {
36
36
  }
37
37
  commandAction(logger, args) {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
- const removeRetentionEvent = () => __awaiter(this, void 0, void 0, function* () {
40
- try {
41
- const requestOptions = {
42
- url: `${this.resource}/v1.0/security/triggers/retentionEvents/${args.options.id}`,
43
- headers: {
44
- accept: 'application/json;odata.metadata=none'
45
- },
46
- responseType: 'json'
47
- };
48
- yield request_1.default.delete(requestOptions);
49
- }
50
- catch (err) {
51
- this.handleRejectedODataJsonPromise(err);
52
- }
53
- });
54
39
  if (args.options.confirm) {
55
- yield removeRetentionEvent();
40
+ yield this.removeRetentionEvent(args.options);
56
41
  }
57
42
  else {
58
43
  const result = yield Cli_1.Cli.prompt({
@@ -62,11 +47,28 @@ class PurviewRetentionEventRemoveCommand extends GraphCommand_1.default {
62
47
  message: `Are you sure you want to remove the retention event ${args.options.id}?`
63
48
  });
64
49
  if (result.continue) {
65
- yield removeRetentionEvent();
50
+ yield this.removeRetentionEvent(args.options);
66
51
  }
67
52
  }
68
53
  });
69
54
  }
55
+ removeRetentionEvent(options) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ try {
58
+ const requestOptions = {
59
+ url: `${this.resource}/beta/security/triggers/retentionEvents/${options.id}`,
60
+ headers: {
61
+ accept: 'application/json;odata.metadata=none'
62
+ },
63
+ responseType: 'json'
64
+ };
65
+ yield request_1.default.delete(requestOptions);
66
+ }
67
+ catch (err) {
68
+ this.handleRejectedODataJsonPromise(err);
69
+ }
70
+ });
71
+ }
70
72
  }
71
73
  _PurviewRetentionEventRemoveCommand_instances = new WeakSet(), _PurviewRetentionEventRemoveCommand_initTelemetry = function _PurviewRetentionEventRemoveCommand_initTelemetry() {
72
74
  this.telemetry.push((args) => {
@@ -36,23 +36,8 @@ class PurviewRetentionEventTypeRemoveCommand extends GraphCommand_1.default {
36
36
  }
37
37
  commandAction(logger, args) {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
- const removeRetentionEventType = () => __awaiter(this, void 0, void 0, function* () {
40
- try {
41
- const requestOptions = {
42
- url: `${this.resource}/v1.0/security/triggerTypes/retentionEventTypes/${args.options.id}`,
43
- headers: {
44
- accept: 'application/json;odata.metadata=none'
45
- },
46
- responseType: 'json'
47
- };
48
- yield request_1.default.delete(requestOptions);
49
- }
50
- catch (err) {
51
- this.handleRejectedODataJsonPromise(err);
52
- }
53
- });
54
39
  if (args.options.confirm) {
55
- yield removeRetentionEventType();
40
+ yield this.removeRetentionEventType(args.options);
56
41
  }
57
42
  else {
58
43
  const result = yield Cli_1.Cli.prompt({
@@ -62,11 +47,28 @@ class PurviewRetentionEventTypeRemoveCommand extends GraphCommand_1.default {
62
47
  message: `Are you sure you want to remove the retention event type with id ${args.options.id}?`
63
48
  });
64
49
  if (result.continue) {
65
- yield removeRetentionEventType();
50
+ yield this.removeRetentionEventType(args.options);
66
51
  }
67
52
  }
68
53
  });
69
54
  }
55
+ removeRetentionEventType(options) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ try {
58
+ const requestOptions = {
59
+ url: `${this.resource}/v1.0/security/triggerTypes/retentionEventTypes/${options.id}`,
60
+ headers: {
61
+ accept: 'application/json;odata.metadata=none'
62
+ },
63
+ responseType: 'json'
64
+ };
65
+ yield request_1.default.delete(requestOptions);
66
+ }
67
+ catch (err) {
68
+ this.handleRejectedODataJsonPromise(err);
69
+ }
70
+ });
71
+ }
70
72
  }
71
73
  _PurviewRetentionEventTypeRemoveCommand_instances = new WeakSet(), _PurviewRetentionEventTypeRemoveCommand_initTelemetry = function _PurviewRetentionEventTypeRemoveCommand_initTelemetry() {
72
74
  this.telemetry.push((args) => {
@@ -15,16 +15,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoListRoleAssignmentAddCommand_instances, _SpoListRoleAssignmentAddCommand_initTelemetry, _SpoListRoleAssignmentAddCommand_initOptions, _SpoListRoleAssignmentAddCommand_initValidators, _SpoListRoleAssignmentAddCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const Cli_1 = require("../../../../cli/Cli");
19
18
  const request_1 = require("../../../../request");
20
19
  const formatting_1 = require("../../../../utils/formatting");
21
20
  const urlUtil_1 = require("../../../../utils/urlUtil");
22
21
  const validation_1 = require("../../../../utils/validation");
23
22
  const SpoCommand_1 = require("../../../base/SpoCommand");
24
23
  const commands_1 = require("../../commands");
25
- const SpoUserGetCommand = require("../user/user-get");
26
- const SpoGroupGetCommand = require("../group/group-get");
27
- const SpoRoleDefinitionListCommand = require("../roledefinition/roledefinition-list");
24
+ const spo_1 = require("../../../../utils/spo");
28
25
  class SpoListRoleAssignmentAddCommand extends SpoCommand_1.default {
29
26
  get name() {
30
27
  return commands_1.default.LIST_ROLEASSIGNMENT_ADD;
@@ -57,13 +54,15 @@ class SpoListRoleAssignmentAddCommand extends SpoCommand_1.default {
57
54
  const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
58
55
  requestUrl += `GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/`;
59
56
  }
60
- args.options.roleDefinitionId = yield this.getRoleDefinitionId(args.options);
57
+ args.options.roleDefinitionId = yield this.getRoleDefinitionId(args.options, logger);
61
58
  if (args.options.upn) {
62
- args.options.principalId = yield this.getUserPrincipalId(args.options);
59
+ const user = yield spo_1.spo.getUserByEmail(args.options.webUrl, args.options.upn, logger, this.verbose);
60
+ args.options.principalId = user.Id;
63
61
  yield this.addRoleAssignment(requestUrl, logger, args.options);
64
62
  }
65
63
  else if (args.options.groupName) {
66
- args.options.principalId = yield this.getGroupPrincipalId(args.options);
64
+ const group = yield spo_1.spo.getGroupByName(args.options.webUrl, args.options.groupName, logger, this.verbose);
65
+ args.options.principalId = group.Id;
67
66
  yield this.addRoleAssignment(requestUrl, logger, args.options);
68
67
  }
69
68
  else {
@@ -89,50 +88,13 @@ class SpoListRoleAssignmentAddCommand extends SpoCommand_1.default {
89
88
  return request_1.default.post(requestOptions);
90
89
  });
91
90
  }
92
- getRoleDefinitionId(options) {
91
+ getRoleDefinitionId(options, logger) {
93
92
  return __awaiter(this, void 0, void 0, function* () {
94
93
  if (!options.roleDefinitionName) {
95
94
  return options.roleDefinitionId;
96
95
  }
97
- const roleDefinitionListCommandOptions = {
98
- webUrl: options.webUrl,
99
- output: 'json',
100
- debug: this.debug,
101
- verbose: this.verbose
102
- };
103
- const output = yield Cli_1.Cli.executeCommandWithOutput(SpoRoleDefinitionListCommand, { options: Object.assign(Object.assign({}, roleDefinitionListCommandOptions), { _: [] }) });
104
- const getRoleDefinitionListOutput = JSON.parse(output.stdout);
105
- const roleDefinitionId = getRoleDefinitionListOutput.find((role) => role.Name === options.roleDefinitionName).Id;
106
- return roleDefinitionId;
107
- });
108
- }
109
- getGroupPrincipalId(options) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- const groupGetCommandOptions = {
112
- webUrl: options.webUrl,
113
- name: options.groupName,
114
- output: 'json',
115
- debug: this.debug,
116
- verbose: this.verbose
117
- };
118
- const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
119
- const getGroupOutput = JSON.parse(output.stdout);
120
- return getGroupOutput.Id;
121
- });
122
- }
123
- getUserPrincipalId(options) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- const userGetCommandOptions = {
126
- webUrl: options.webUrl,
127
- email: options.upn,
128
- id: undefined,
129
- output: 'json',
130
- debug: this.debug,
131
- verbose: this.verbose
132
- };
133
- const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
134
- const getUserOutput = JSON.parse(output.stdout);
135
- return getUserOutput.Id;
96
+ const roleDefinition = yield spo_1.spo.getRoleDefinitionByName(options.webUrl, options.roleDefinitionName, logger, this.verbose);
97
+ return roleDefinition.Id;
136
98
  });
137
99
  }
138
100
  }
@@ -37,37 +37,8 @@ class SpoPageRemoveCommand extends SpoCommand_1.default {
37
37
  }
38
38
  commandAction(logger, args) {
39
39
  return __awaiter(this, void 0, void 0, function* () {
40
- let requestDigest = '';
41
- let pageName = args.options.name;
42
- const removePage = () => __awaiter(this, void 0, void 0, function* () {
43
- try {
44
- const reqDigest = yield spo_1.spo.getRequestDigest(args.options.webUrl);
45
- requestDigest = reqDigest.FormDigestValue;
46
- if (!pageName.endsWith('.aspx')) {
47
- pageName += '.aspx';
48
- }
49
- if (this.verbose) {
50
- logger.logToStderr(`Removing page ${pageName}...`);
51
- }
52
- const requestOptions = {
53
- url: `${args.options
54
- .webUrl}/_api/web/getfilebyserverrelativeurl('${urlUtil_1.urlUtil.getServerRelativeSiteUrl(args.options.webUrl)}/sitepages/${pageName}')`,
55
- headers: {
56
- 'X-RequestDigest': requestDigest,
57
- 'X-HTTP-Method': 'DELETE',
58
- 'content-type': 'application/json;odata=nometadata',
59
- accept: 'application/json;odata=nometadata'
60
- },
61
- responseType: 'json'
62
- };
63
- yield request_1.default.post(requestOptions);
64
- }
65
- catch (err) {
66
- this.handleRejectedODataJsonPromise(err);
67
- }
68
- });
69
40
  if (args.options.confirm) {
70
- yield removePage();
41
+ yield this.removePage(logger, args);
71
42
  }
72
43
  else {
73
44
  const result = yield Cli_1.Cli.prompt({
@@ -77,11 +48,42 @@ class SpoPageRemoveCommand extends SpoCommand_1.default {
77
48
  message: `Are you sure you want to remove the page '${args.options.name}'?`
78
49
  });
79
50
  if (result.continue) {
80
- yield removePage();
51
+ yield this.removePage(logger, args);
81
52
  }
82
53
  }
83
54
  });
84
55
  }
56
+ removePage(logger, args) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ try {
59
+ let requestDigest = '';
60
+ let pageName = args.options.name;
61
+ const reqDigest = yield spo_1.spo.getRequestDigest(args.options.webUrl);
62
+ requestDigest = reqDigest.FormDigestValue;
63
+ if (!pageName.endsWith('.aspx')) {
64
+ pageName += '.aspx';
65
+ }
66
+ if (this.verbose) {
67
+ logger.logToStderr(`Removing page ${pageName}...`);
68
+ }
69
+ const requestOptions = {
70
+ url: `${args.options
71
+ .webUrl}/_api/web/getfilebyserverrelativeurl('${urlUtil_1.urlUtil.getServerRelativeSiteUrl(args.options.webUrl)}/sitepages/${pageName}')`,
72
+ headers: {
73
+ 'X-RequestDigest': requestDigest,
74
+ 'X-HTTP-Method': 'DELETE',
75
+ 'content-type': 'application/json;odata=nometadata',
76
+ accept: 'application/json;odata=nometadata'
77
+ },
78
+ responseType: 'json'
79
+ };
80
+ yield request_1.default.post(requestOptions);
81
+ }
82
+ catch (err) {
83
+ this.handleRejectedODataJsonPromise(err);
84
+ }
85
+ });
86
+ }
85
87
  }
86
88
  _SpoPageRemoveCommand_instances = new WeakSet(), _SpoPageRemoveCommand_initOptions = function _SpoPageRemoveCommand_initOptions() {
87
89
  this.options.unshift({
@@ -36,29 +36,8 @@ class SpoRoleDefinitionRemoveCommand extends SpoCommand_1.default {
36
36
  }
37
37
  commandAction(logger, args) {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
- const removeRoleDefinition = () => __awaiter(this, void 0, void 0, function* () {
40
- if (this.verbose) {
41
- logger.logToStderr(`Removing role definition from site ${args.options.webUrl}...`);
42
- }
43
- const requestOptions = {
44
- url: `${args.options.webUrl}/_api/web/roledefinitions(${args.options.id})`,
45
- method: 'delete',
46
- headers: {
47
- 'X-HTTP-Method': 'DELETE',
48
- 'If-Match': '*',
49
- 'accept': 'application/json;odata=nometadata'
50
- },
51
- responseType: 'json'
52
- };
53
- try {
54
- yield request_1.default.delete(requestOptions);
55
- }
56
- catch (err) {
57
- this.handleRejectedODataJsonPromise(err);
58
- }
59
- });
60
39
  if (args.options.confirm) {
61
- yield removeRoleDefinition();
40
+ yield this.removeRoleDefinition(logger, args);
62
41
  }
63
42
  else {
64
43
  const result = yield Cli_1.Cli.prompt({
@@ -68,11 +47,34 @@ class SpoRoleDefinitionRemoveCommand extends SpoCommand_1.default {
68
47
  message: `Are you sure you want to remove the role definition with id ${args.options.id} from site ${args.options.webUrl}?`
69
48
  });
70
49
  if (result.continue) {
71
- yield removeRoleDefinition();
50
+ yield this.removeRoleDefinition(logger, args);
72
51
  }
73
52
  }
74
53
  });
75
54
  }
55
+ removeRoleDefinition(logger, args) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ if (this.verbose) {
58
+ logger.logToStderr(`Removing role definition from site ${args.options.webUrl}...`);
59
+ }
60
+ const requestOptions = {
61
+ url: `${args.options.webUrl}/_api/web/roledefinitions(${args.options.id})`,
62
+ method: 'delete',
63
+ headers: {
64
+ 'X-HTTP-Method': 'DELETE',
65
+ 'If-Match': '*',
66
+ 'accept': 'application/json;odata=nometadata'
67
+ },
68
+ responseType: 'json'
69
+ };
70
+ try {
71
+ yield request_1.default.delete(requestOptions);
72
+ }
73
+ catch (err) {
74
+ this.handleRejectedODataJsonPromise(err);
75
+ }
76
+ });
77
+ }
76
78
  }
77
79
  _SpoRoleDefinitionRemoveCommand_instances = new WeakSet(), _SpoRoleDefinitionRemoveCommand_initTelemetry = function _SpoRoleDefinitionRemoveCommand_initTelemetry() {
78
80
  this.telemetry.push((args) => {
@@ -47,10 +47,10 @@ class SpoSiteAppPermissionAddCommand extends GraphCommand_1.default {
47
47
  }
48
48
  let endpoint = "";
49
49
  if (args.options.appId) {
50
- endpoint = `${this.resource}/v1.0/myorganization/applications?$filter=appId eq '${formatting_1.formatting.encodeQueryParameter(args.options.appId)}'`;
50
+ endpoint = `${this.resource}/v1.0/myorganization/servicePrincipals?$select=appId,displayName&$filter=appId eq '${formatting_1.formatting.encodeQueryParameter(args.options.appId)}'`;
51
51
  }
52
52
  else {
53
- endpoint = `${this.resource}/v1.0/myorganization/applications?$filter=displayName eq '${formatting_1.formatting.encodeQueryParameter(args.options.appDisplayName)}'`;
53
+ endpoint = `${this.resource}/v1.0/myorganization/servicePrincipals?$select=appId,displayName&$filter=displayName eq '${formatting_1.formatting.encodeQueryParameter(args.options.appDisplayName)}'`;
54
54
  }
55
55
  const appRequestOptions = {
56
56
  url: endpoint,
@@ -168,7 +168,7 @@ _SpoSiteAppPermissionAddCommand_instances = new WeakSet(), _SpoSiteAppPermission
168
168
  return validation_1.validation.isValidSharePointUrl(args.options.siteUrl);
169
169
  }));
170
170
  }, _SpoSiteAppPermissionAddCommand_initOptionSets = function _SpoSiteAppPermissionAddCommand_initOptionSets() {
171
- this.optionSets.push({ options: ['appId', 'appDisplayName'] });
171
+ this.optionSets.push({ options: ['appId', 'appDisplayName'], runsWhen: (args) => !args.options.appId && !args.options.appDisplayName });
172
172
  };
173
173
  module.exports = new SpoSiteAppPermissionAddCommand();
174
174
  //# sourceMappingURL=site-apppermission-add.js.map
@@ -15,10 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoSiteCommSiteEnableCommand_instances, _SpoSiteCommSiteEnableCommand_initTelemetry, _SpoSiteCommSiteEnableCommand_initOptions, _SpoSiteCommSiteEnableCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const config_1 = require("../../../../config");
19
18
  const request_1 = require("../../../../request");
20
- const formatting_1 = require("../../../../utils/formatting");
21
- const spo_1 = require("../../../../utils/spo");
22
19
  const validation_1 = require("../../../../utils/validation");
23
20
  const SpoCommand_1 = require("../../../base/SpoCommand");
24
21
  const commands_1 = require("../../commands");
@@ -38,26 +35,20 @@ class SpoSiteCommSiteEnableCommand extends SpoCommand_1.default {
38
35
  }
39
36
  commandAction(logger, args) {
40
37
  return __awaiter(this, void 0, void 0, function* () {
41
- const designPackageId = args.options.designPackageId || '{d604dac3-50d3-405e-9ab9-d4713cda74ef}';
38
+ const designPackageId = args.options.designPackageId || '96c933ac-3698-44c7-9f4a-5fd17d71af9e';
39
+ if (this.verbose) {
40
+ logger.logToStderr(`Enabling communication site at ${args.options.url}...`);
41
+ }
42
42
  try {
43
- const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
44
- if (this.debug) {
45
- logger.logToStderr(`Retrieving request digest...`);
46
- }
47
- const ctxInfo = yield spo_1.spo.getRequestDigest(spoAdminUrl);
48
43
  const requestOptions = {
49
- url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
44
+ url: `${args.options.url}/_api/sitepages/communicationsite/enable`,
50
45
  headers: {
51
- 'X-RequestDigest': ctxInfo.FormDigestValue
46
+ 'accept': 'application/json;odata=nometadata'
52
47
  },
53
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="4" ObjectPathId="3" /><Method Name="EnableCommSite" Id="5" ObjectPathId="3"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.url)}</Parameter><Parameter Type="Guid">${formatting_1.formatting.escapeXml(designPackageId)}</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="3" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
48
+ data: { designPackageId },
49
+ responseType: 'json'
54
50
  };
55
- const res = yield request_1.default.post(requestOptions);
56
- const json = JSON.parse(res);
57
- const response = json[0];
58
- if (response.ErrorInfo) {
59
- throw response.ErrorInfo.ErrorMessage;
60
- }
51
+ yield request_1.default.post(requestOptions);
61
52
  }
62
53
  catch (err) {
63
54
  this.handleRejectedODataJsonPromise(err);