@pnp/cli-microsoft365 7.0.0-beta.90ef876 → 7.0.0-beta.e25bf4a

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 (180) 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/aad/commands/user/user-set.js +20 -20
  5. package/dist/m365/booking/commands/business/business-get.js +14 -15
  6. package/dist/m365/cli/commands/config/config-set.js +1 -1
  7. package/dist/m365/pa/commands/app/app-consent-set.js +2 -2
  8. package/dist/m365/pa/commands/app/app-export.js +3 -3
  9. package/dist/m365/pa/commands/app/app-list.js +5 -5
  10. package/dist/m365/pa/commands/app/app-owner-set.js +115 -0
  11. package/dist/m365/pa/commands/app/app-permission-list.js +104 -0
  12. package/dist/m365/pa/commands.js +2 -0
  13. package/dist/m365/planner/commands/bucket/bucket-add.js +14 -10
  14. package/dist/m365/planner/commands/bucket/bucket-get.js +25 -19
  15. package/dist/m365/planner/commands/bucket/bucket-list.js +14 -10
  16. package/dist/m365/planner/commands/bucket/bucket-remove.js +26 -20
  17. package/dist/m365/planner/commands/bucket/bucket-set.js +26 -28
  18. package/dist/m365/planner/commands/roster/roster-member-add.js +3 -14
  19. package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-get.js +2 -2
  20. package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-list.js +2 -2
  21. package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-remove.js +3 -3
  22. package/dist/m365/pp/commands/card/card-clone.js +3 -3
  23. package/dist/m365/pp/commands/card/card-get.js +2 -2
  24. package/dist/m365/pp/commands/card/card-list.js +2 -2
  25. package/dist/m365/pp/commands/card/card-remove.js +3 -3
  26. package/dist/m365/pp/commands/chatbot/chatbot-get.js +2 -2
  27. package/dist/m365/pp/commands/chatbot/chatbot-list.js +3 -3
  28. package/dist/m365/pp/commands/chatbot/chatbot-remove.js +3 -3
  29. package/dist/m365/pp/commands/dataverse/dataverse-table-get.js +2 -2
  30. package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +2 -2
  31. package/dist/m365/pp/commands/dataverse/dataverse-table-remove.js +2 -2
  32. package/dist/m365/pp/commands/dataverse/dataverse-table-row-list.js +2 -2
  33. package/dist/m365/pp/commands/dataverse/dataverse-table-row-remove.js +2 -2
  34. package/dist/m365/pp/commands/solution/solution-get.js +2 -2
  35. package/dist/m365/pp/commands/solution/solution-list.js +2 -2
  36. package/dist/m365/pp/commands/solution/solution-publish.js +3 -3
  37. package/dist/m365/pp/commands/solution/solution-publisher-add.js +2 -2
  38. package/dist/m365/pp/commands/solution/solution-publisher-get.js +2 -2
  39. package/dist/m365/pp/commands/solution/solution-publisher-list.js +2 -2
  40. package/dist/m365/pp/commands/solution/solution-publisher-remove.js +3 -3
  41. package/dist/m365/pp/commands/solution/solution-remove.js +3 -3
  42. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +19 -17
  43. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +19 -17
  44. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +35 -34
  45. package/dist/m365/spfx/commands/project/project-externalize/rules/DynamicRule.js +59 -51
  46. package/dist/m365/spo/commands/file/file-list.js +3 -14
  47. package/dist/m365/spo/commands/folder/folder-remove.js +30 -28
  48. package/dist/m365/spo/commands/list/list-add.js +0 -9
  49. package/dist/m365/spo/commands/list/list-retentionlabel-ensure.js +0 -4
  50. package/dist/m365/spo/commands/list/list-retentionlabel-get.js +0 -4
  51. package/dist/m365/spo/commands/list/list-roleassignment-add.js +9 -47
  52. package/dist/m365/spo/commands/list/list-set.js +0 -9
  53. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +4 -4
  54. package/dist/m365/spo/commands/page/page-remove.js +33 -31
  55. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +25 -23
  56. package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -3
  57. package/dist/m365/spo/commands/site/site-commsite-enable.js +9 -18
  58. package/dist/m365/spo/commands/site/site-set.js +10 -2
  59. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +13 -16
  60. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +80 -2
  61. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +48 -48
  62. package/dist/m365/spo/commands/theme/theme-get.js +1 -2
  63. package/dist/m365/spo/commands/user/user-get.js +5 -5
  64. package/dist/m365/spo/commands.js +0 -2
  65. package/dist/m365/teams/commands/chat/chat-get.js +4 -4
  66. package/dist/m365/teams/commands/chat/chat-member-add.js +117 -0
  67. package/dist/m365/teams/commands/chat/chat-message-send.js +4 -4
  68. package/dist/m365/teams/commands/meeting/meeting-get.js +16 -24
  69. package/dist/m365/teams/commands/meeting/meeting-list.js +2 -15
  70. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  71. package/dist/m365/teams/commands.js +1 -0
  72. package/dist/utils/spo.js +74 -0
  73. package/docs/docs/_clisettings.mdx +1 -1
  74. package/docs/docs/cmd/_global.mdx +1 -1
  75. package/docs/docs/cmd/aad/user/user-get.mdx +118 -25
  76. package/docs/docs/cmd/aad/user/user-set.mdx +11 -11
  77. package/docs/docs/cmd/pa/app/app-consent-set.mdx +3 -3
  78. package/docs/docs/cmd/pa/app/app-export.mdx +3 -3
  79. package/docs/docs/cmd/pa/app/app-list.mdx +2 -2
  80. package/docs/docs/cmd/pa/app/app-owner-set.mdx +60 -0
  81. package/docs/docs/cmd/pa/app/app-permission-list.mdx +132 -0
  82. package/docs/docs/cmd/planner/bucket/bucket-add.mdx +21 -4
  83. package/docs/docs/cmd/planner/bucket/bucket-get.mdx +22 -5
  84. package/docs/docs/cmd/planner/bucket/bucket-list.mdx +21 -4
  85. package/docs/docs/cmd/planner/bucket/bucket-remove.mdx +21 -4
  86. package/docs/docs/cmd/planner/bucket/bucket-set.mdx +22 -5
  87. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.mdx +4 -4
  88. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.mdx +4 -4
  89. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-remove.mdx +4 -4
  90. package/docs/docs/cmd/pp/card/card-clone.mdx +6 -6
  91. package/docs/docs/cmd/pp/card/card-get.mdx +6 -6
  92. package/docs/docs/cmd/pp/card/card-list.mdx +4 -4
  93. package/docs/docs/cmd/pp/card/card-remove.mdx +9 -9
  94. package/docs/docs/cmd/pp/chatbot/chatbot-get.mdx +6 -6
  95. package/docs/docs/cmd/pp/chatbot/chatbot-list.mdx +4 -4
  96. package/docs/docs/cmd/pp/chatbot/chatbot-remove.mdx +4 -4
  97. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +2 -2
  98. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +2 -2
  99. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +1 -1
  100. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.mdx +5 -5
  101. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-remove.mdx +5 -5
  102. package/docs/docs/cmd/pp/solution/solution-get.mdx +6 -6
  103. package/docs/docs/cmd/pp/solution/solution-list.mdx +4 -4
  104. package/docs/docs/cmd/pp/solution/solution-publish.mdx +4 -4
  105. package/docs/docs/cmd/pp/solution/solution-publisher-add.mdx +3 -3
  106. package/docs/docs/cmd/pp/solution/solution-publisher-get.mdx +6 -6
  107. package/docs/docs/cmd/pp/solution/solution-publisher-list.mdx +4 -4
  108. package/docs/docs/cmd/pp/solution/solution-publisher-remove.mdx +5 -5
  109. package/docs/docs/cmd/pp/solution/solution-remove.mdx +9 -9
  110. package/docs/docs/cmd/spo/file/file-list.mdx +6 -10
  111. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
  112. package/docs/docs/cmd/spo/list/list-add.mdx +0 -3
  113. package/docs/docs/cmd/spo/list/list-retentionlabel-ensure.mdx +0 -6
  114. package/docs/docs/cmd/spo/list/list-retentionlabel-get.mdx +0 -6
  115. package/docs/docs/cmd/spo/list/list-set.mdx +0 -3
  116. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +7 -7
  117. package/docs/docs/cmd/spo/site/site-add.mdx +35 -0
  118. package/docs/docs/cmd/spo/site/site-appcatalog-add.mdx +5 -1
  119. package/docs/docs/cmd/spo/site/site-appcatalog-list.mdx +14 -0
  120. package/docs/docs/cmd/spo/site/site-appcatalog-remove.mdx +4 -0
  121. package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +68 -0
  122. package/docs/docs/cmd/spo/site/site-apppermission-get.mdx +55 -0
  123. package/docs/docs/cmd/spo/site/site-apppermission-list.mdx +55 -0
  124. package/docs/docs/cmd/spo/site/site-apppermission-remove.mdx +4 -0
  125. package/docs/docs/cmd/spo/site/site-apppermission-set.mdx +66 -0
  126. package/docs/docs/cmd/spo/site/site-chrome-set.mdx +4 -0
  127. package/docs/docs/cmd/spo/site/site-commsite-enable.mdx +11 -1
  128. package/docs/docs/cmd/spo/site/site-ensure.mdx +70 -0
  129. package/docs/docs/cmd/spo/site/site-get.mdx +179 -0
  130. package/docs/docs/cmd/spo/site/site-groupify.mdx +54 -0
  131. package/docs/docs/cmd/spo/site/site-hubsite-connect.mdx +4 -0
  132. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.mdx +4 -0
  133. package/docs/docs/cmd/spo/site/site-hubsite-theme-sync.mdx +5 -1
  134. package/docs/docs/cmd/spo/site/site-inplacerecordsmanagement-set.mdx +4 -0
  135. package/docs/docs/cmd/spo/site/site-list.mdx +303 -0
  136. package/docs/docs/cmd/spo/site/site-recyclebinitem-list.mdx +80 -0
  137. package/docs/docs/cmd/spo/site/site-recyclebinitem-restore.mdx +4 -0
  138. package/docs/docs/cmd/spo/site/site-remove.mdx +4 -0
  139. package/docs/docs/cmd/spo/site/site-rename.mdx +92 -0
  140. package/docs/docs/cmd/spo/site/site-set.mdx +13 -0
  141. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.mdx +116 -0
  142. package/docs/docs/cmd/spo/sitedesign/sitedesign-apply.mdx +125 -0
  143. package/docs/docs/cmd/spo/sitedesign/sitedesign-get.mdx +117 -0
  144. package/docs/docs/cmd/spo/sitedesign/sitedesign-list.mdx +94 -0
  145. package/docs/docs/cmd/spo/sitedesign/sitedesign-remove.mdx +4 -0
  146. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.mdx +4 -0
  147. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.mdx +54 -0
  148. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.mdx +4 -0
  149. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-list.mdx +66 -0
  150. package/docs/docs/cmd/spo/sitedesign/sitedesign-run-status-get.mdx +65 -0
  151. package/docs/docs/cmd/spo/sitedesign/sitedesign-set.mdx +117 -0
  152. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.mdx +61 -0
  153. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-list.mdx +60 -0
  154. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.mdx +4 -0
  155. package/docs/docs/cmd/spo/sitescript/sitescript-add.mdx +75 -0
  156. package/docs/docs/cmd/spo/sitescript/sitescript-get.mdx +62 -0
  157. package/docs/docs/cmd/spo/sitescript/sitescript-list.mdx +60 -0
  158. package/docs/docs/cmd/spo/sitescript/sitescript-remove.mdx +4 -0
  159. package/docs/docs/cmd/spo/sitescript/sitescript-set.mdx +63 -0
  160. package/docs/docs/cmd/spo/storageentity/storageentity-get.mdx +53 -0
  161. package/docs/docs/cmd/spo/storageentity/storageentity-list.mdx +54 -0
  162. package/docs/docs/cmd/spo/storageentity/storageentity-remove.mdx +4 -0
  163. package/docs/docs/cmd/spo/storageentity/storageentity-set.mdx +4 -0
  164. package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.mdx +4 -0
  165. package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.mdx +35 -0
  166. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +12 -3
  167. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.mdx +67 -0
  168. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.mdx +4 -0
  169. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.mdx +50 -0
  170. package/docs/docs/cmd/spo/tenant/tenant-settings-list.mdx +729 -0
  171. package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +5 -0
  172. package/docs/docs/cmd/spo/theme/theme-apply.mdx +35 -0
  173. package/docs/docs/cmd/spo/theme/theme-get.mdx +74 -0
  174. package/docs/docs/cmd/spo/theme/theme-list.mdx +52 -0
  175. package/docs/docs/cmd/spo/theme/theme-remove.mdx +4 -0
  176. package/docs/docs/cmd/spo/theme/theme-set.mdx +4 -0
  177. package/docs/docs/cmd/spo/user/user-get.mdx +6 -6
  178. package/docs/docs/cmd/teams/chat/chat-member-add.mdx +66 -0
  179. package/npm-shrinkwrap.json +212 -212
  180. package/package.json +10 -10
package/dist/Command.js CHANGED
@@ -40,7 +40,7 @@ class CommandErrorWithOutput {
40
40
  exports.CommandErrorWithOutput = CommandErrorWithOutput;
41
41
  class Command {
42
42
  get allowedOutputs() {
43
- return ['csv', 'json', 'md', 'text'];
43
+ return ['csv', 'json', 'md', 'text', 'none'];
44
44
  }
45
45
  constructor() {
46
46
  // These functions must be defined with # so that they're truly private
package/dist/cli/Cli.js CHANGED
@@ -107,7 +107,9 @@ class Cli {
107
107
  showHelp ||
108
108
  parsedArgs.h ||
109
109
  parsedArgs.help) {
110
- this.printHelp(this.getHelpMode(parsedArgs));
110
+ if (parsedArgs.output !== 'none') {
111
+ this.printHelp(this.getHelpMode(parsedArgs));
112
+ }
111
113
  return Promise.resolve();
112
114
  }
113
115
  const optionsWithoutShorts = Cli.removeShortOptions(this.optionsFromArgs);
@@ -144,11 +146,21 @@ class Cli {
144
146
  return __awaiter(this, void 0, void 0, function* () {
145
147
  const logger = {
146
148
  log: (message) => {
147
- const output = Cli.formatOutput(command, message, args.options);
148
- Cli.log(output);
149
+ if (args.options.output !== 'none') {
150
+ const output = Cli.formatOutput(command, message, args.options);
151
+ Cli.log(output);
152
+ }
153
+ },
154
+ logRaw: (message) => {
155
+ if (args.options.output !== 'none') {
156
+ Cli.log(message);
157
+ }
149
158
  },
150
- logRaw: (message) => Cli.log(message),
151
- logToStderr: (message) => Cli.error(message)
159
+ logToStderr: (message) => {
160
+ if (args.options.output !== 'none') {
161
+ Cli.error(message);
162
+ }
163
+ }
152
164
  };
153
165
  if (args.options.debug) {
154
166
  logger.logToStderr(`Executing command ${command.name} with options ${JSON.stringify(args)}`);
@@ -158,7 +170,7 @@ class Cli {
158
170
  const cli = Cli.getInstance();
159
171
  const parentCommandName = cli.currentCommandName;
160
172
  cli.currentCommandName = command.getCommandName(cli.currentCommandName);
161
- const showSpinner = cli.getSettingWithDefaultValue(settingsNames_1.settingsNames.showSpinner, true);
173
+ const showSpinner = cli.getSettingWithDefaultValue(settingsNames_1.settingsNames.showSpinner, true) && args.options.output !== 'none';
162
174
  // don't show spinner if running tests
163
175
  /* c8 ignore next 3 */
164
176
  if (showSpinner && typeof global.it === 'undefined') {
@@ -207,7 +219,7 @@ class Cli {
207
219
  logErr.push(message);
208
220
  }
209
221
  };
210
- if (args.options.debug) {
222
+ if (args.options.debug && args.options.output !== 'none') {
211
223
  const message = `Executing command ${command.name} with options ${JSON.stringify(args)}`;
212
224
  if (listener && listener.stderr) {
213
225
  listener.stderr(message);
@@ -730,8 +742,11 @@ class Cli {
730
742
  Cli.log();
731
743
  }
732
744
  closeWithError(error, args, showHelpIfEnabled = false) {
733
- const chalk = require('chalk');
734
745
  let exitCode = 1;
746
+ if (args.options.output === 'none') {
747
+ return process.exit(exitCode);
748
+ }
749
+ const chalk = require('chalk');
735
750
  let errorMessage = error instanceof Command_1.CommandError ? error.message : error;
736
751
  if ((!args.options.output || args.options.output === 'json') &&
737
752
  !this.getSettingWithDefaultValue(settingsNames_1.settingsNames.printErrorsAsPlainText, true)) {
@@ -50,6 +50,9 @@ class AadUserGetCommand extends GraphCommand_1.default {
50
50
  else if (args.options.email) {
51
51
  requestUrl += `?$filter=mail eq '${formatting_1.formatting.encodeQueryParameter(args.options.email)}'${properties}`;
52
52
  }
53
+ if (args.options.withManager) {
54
+ requestUrl += '&$expand=manager($select=displayName,userPrincipalName,id,mail)';
55
+ }
53
56
  const requestOptions = {
54
57
  url: requestUrl,
55
58
  headers: {
@@ -82,7 +85,8 @@ _AadUserGetCommand_instances = new WeakSet(), _AadUserGetCommand_initTelemetry =
82
85
  id: typeof args.options.id !== 'undefined',
83
86
  userName: typeof args.options.userName !== 'undefined',
84
87
  email: typeof args.options.email !== 'undefined',
85
- properties: args.options.properties
88
+ properties: args.options.properties,
89
+ withManager: typeof args.options.withManager !== 'undefined'
86
90
  });
87
91
  });
88
92
  }, _AadUserGetCommand_initOptions = function _AadUserGetCommand_initOptions() {
@@ -94,6 +98,8 @@ _AadUserGetCommand_instances = new WeakSet(), _AadUserGetCommand_initTelemetry =
94
98
  option: '--email [email]'
95
99
  }, {
96
100
  option: '-p, --properties [properties]'
101
+ }, {
102
+ option: '--withManager'
97
103
  });
98
104
  }, _AadUserGetCommand_initValidators = function _AadUserGetCommand_initValidators() {
99
105
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
@@ -45,21 +45,21 @@ class AadUserSetCommand extends GraphCommand_1.default {
45
45
  return __awaiter(this, void 0, void 0, function* () {
46
46
  try {
47
47
  if (args.options.currentPassword) {
48
- if (args.options.objectId && args.options.objectId !== accessToken_1.accessToken.getUserIdFromAccessToken(Auth_1.default.service.accessTokens[Auth_1.default.defaultResource].accessToken)) {
49
- throw `You can only change your own password. Please use --objectId @meId to reference to your own userId`;
48
+ if (args.options.id && args.options.id !== accessToken_1.accessToken.getUserIdFromAccessToken(Auth_1.default.service.accessTokens[Auth_1.default.defaultResource].accessToken)) {
49
+ throw `You can only change your own password. Please use --id @meId to reference to your own userId`;
50
50
  }
51
- else if (args.options.userPrincipalName && args.options.userPrincipalName.toLowerCase() !== accessToken_1.accessToken.getUserNameFromAccessToken(Auth_1.default.service.accessTokens[Auth_1.default.defaultResource].accessToken).toLowerCase()) {
52
- throw 'You can only change your own password. Please use --userPrincipalName @meUserName to reference to your own user principal name';
51
+ else if (args.options.userName && args.options.userName.toLowerCase() !== accessToken_1.accessToken.getUserNameFromAccessToken(Auth_1.default.service.accessTokens[Auth_1.default.defaultResource].accessToken).toLowerCase()) {
52
+ throw 'You can only change your own password. Please use --userName @meUserName to reference to your own user principal name';
53
53
  }
54
54
  }
55
55
  if (this.verbose) {
56
- logger.logToStderr(`Updating user ${args.options.userPrincipalName || args.options.objectId}`);
56
+ logger.logToStderr(`Updating user ${args.options.userName || args.options.id}`);
57
57
  }
58
- const requestUrl = `${this.resource}/v1.0/users/${formatting_1.formatting.encodeQueryParameter(args.options.objectId ? args.options.objectId : args.options.userPrincipalName)}`;
58
+ const requestUrl = `${this.resource}/v1.0/users/${formatting_1.formatting.encodeQueryParameter(args.options.id ? args.options.id : args.options.userName)}`;
59
59
  const manifest = this.mapRequestBody(args.options);
60
60
  if (Object.keys(manifest).some(k => manifest[k] !== undefined)) {
61
61
  if (this.verbose) {
62
- logger.logToStderr(`Setting the updated properties for user ${args.options.userPrincipalName || args.options.objectId}`);
62
+ logger.logToStderr(`Setting the updated properties for user ${args.options.userName || args.options.id}`);
63
63
  }
64
64
  const requestOptions = {
65
65
  url: requestUrl,
@@ -84,7 +84,7 @@ class AadUserSetCommand extends GraphCommand_1.default {
84
84
  if (this.verbose) {
85
85
  logger.logToStderr('Removing the manager');
86
86
  }
87
- const user = args.options.objectId || args.options.userPrincipalName;
87
+ const user = args.options.id || args.options.userName;
88
88
  yield this.removeManager(user);
89
89
  }
90
90
  }
@@ -125,7 +125,7 @@ class AadUserSetCommand extends GraphCommand_1.default {
125
125
  changePassword(requestUrl, options, logger) {
126
126
  return __awaiter(this, void 0, void 0, function* () {
127
127
  if (this.verbose) {
128
- logger.logToStderr(`Changing password for user ${options.userPrincipalName || options.objectId}`);
128
+ logger.logToStderr(`Changing password for user ${options.userName || options.id}`);
129
129
  }
130
130
  const requestBody = {
131
131
  currentPassword: options.currentPassword,
@@ -145,7 +145,7 @@ class AadUserSetCommand extends GraphCommand_1.default {
145
145
  updateManager(options) {
146
146
  return __awaiter(this, void 0, void 0, function* () {
147
147
  const managerRequestOptions = {
148
- url: `${this.resource}/v1.0/users/${options.objectId || options.userPrincipalName}/manager/$ref`,
148
+ url: `${this.resource}/v1.0/users/${options.id || options.userName}/manager/$ref`,
149
149
  headers: {
150
150
  accept: 'application/json;odata.metadata=none'
151
151
  },
@@ -171,8 +171,8 @@ class AadUserSetCommand extends GraphCommand_1.default {
171
171
  _AadUserSetCommand_instances = new WeakSet(), _AadUserSetCommand_initTelemetry = function _AadUserSetCommand_initTelemetry() {
172
172
  this.telemetry.push((args) => {
173
173
  Object.assign(this.telemetryProperties, {
174
- objectId: typeof args.options.objectId !== 'undefined',
175
- userPrincipalName: typeof args.options.userPrincipalName !== 'undefined',
174
+ id: typeof args.options.id !== 'undefined',
175
+ userName: typeof args.options.userName !== 'undefined',
176
176
  accountEnabled: !!args.options.accountEnabled,
177
177
  resetPassword: !!args.options.resetPassword,
178
178
  forceChangePasswordNextSignIn: !!args.options.forceChangePasswordNextSignIn,
@@ -195,9 +195,9 @@ _AadUserSetCommand_instances = new WeakSet(), _AadUserSetCommand_initTelemetry =
195
195
  });
196
196
  }, _AadUserSetCommand_initOptions = function _AadUserSetCommand_initOptions() {
197
197
  this.options.unshift({
198
- option: '-i, --objectId [objectId]'
198
+ option: '-i, --id [id]'
199
199
  }, {
200
- option: '-n, --userPrincipalName [userPrincipalName]'
200
+ option: '-n, --userName [userName]'
201
201
  }, {
202
202
  option: '--accountEnabled [accountEnabled]',
203
203
  autocomplete: ['true', 'false']
@@ -240,12 +240,12 @@ _AadUserSetCommand_instances = new WeakSet(), _AadUserSetCommand_initTelemetry =
240
240
  this.types.boolean.push('accountEnabled');
241
241
  }, _AadUserSetCommand_initValidators = function _AadUserSetCommand_initValidators() {
242
242
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
243
- if (args.options.objectId &&
244
- !validation_1.validation.isValidGuid(args.options.objectId)) {
245
- return `${args.options.objectId} is not a valid GUID`;
243
+ if (args.options.id &&
244
+ !validation_1.validation.isValidGuid(args.options.id)) {
245
+ return `${args.options.id} is not a valid GUID`;
246
246
  }
247
- if (args.options.userPrincipalName && !validation_1.validation.isValidUserPrincipalName(args.options.userPrincipalName)) {
248
- return `${args.options.userPrincipalName} is not a valid userPrincipalName`;
247
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
248
+ return `${args.options.userName} is not a valid userName`;
249
249
  }
250
250
  if (!args.options.resetPassword && ((args.options.currentPassword && !args.options.newPassword) || (args.options.newPassword && !args.options.currentPassword))) {
251
251
  return `Specify both currentPassword and newPassword when you want to change your password`;
@@ -296,7 +296,7 @@ _AadUserSetCommand_instances = new WeakSet(), _AadUserSetCommand_initTelemetry =
296
296
  }));
297
297
  }, _AadUserSetCommand_initOptionSets = function _AadUserSetCommand_initOptionSets() {
298
298
  this.optionSets.push({
299
- options: ['objectId', 'userPrincipalName']
299
+ options: ['id', 'userName']
300
300
  }, {
301
301
  options: ['managerUserId', 'managerUserName', 'removeManager'],
302
302
  runsWhen: (args) => args.options.managerUserId || args.options.managerUserName || args.options.removeManager
@@ -56,26 +56,25 @@ class BookingBusinessGetCommand extends GraphCommand_1.default {
56
56
  });
57
57
  }
58
58
  getBusinessId(options) {
59
- if (options.id) {
60
- return Promise.resolve(options.id);
61
- }
62
- const requestOptions = {
63
- url: `${this.resource}/v1.0/solutions/bookingBusinesses`,
64
- headers: {
65
- accept: 'application/json;odata.metadata=none'
66
- },
67
- responseType: 'json'
68
- };
69
- return request_1.default
70
- .get(requestOptions)
71
- .then((response) => {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ if (options.id) {
61
+ return options.id;
62
+ }
63
+ const requestOptions = {
64
+ url: `${this.resource}/v1.0/solutions/bookingBusinesses`,
65
+ headers: {
66
+ accept: 'application/json;odata.metadata=none'
67
+ },
68
+ responseType: 'json'
69
+ };
70
+ const response = yield request_1.default.get(requestOptions);
72
71
  const name = options.name;
73
72
  const bookingBusinesses = response.value.filter(val => { var _a; return ((_a = val.displayName) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) === name.toLocaleLowerCase(); });
74
73
  if (!bookingBusinesses.length) {
75
- return Promise.reject(`The specified business with name ${options.name} does not exist.`);
74
+ throw `The specified business with name ${options.name} does not exist.`;
76
75
  }
77
76
  if (bookingBusinesses.length > 1) {
78
- return Promise.reject(`Multiple businesses with name ${options.name} found. Please disambiguate: ${bookingBusinesses.map(x => x.id).join(', ')}`);
77
+ throw `Multiple businesses with name ${options.name} found. Please disambiguate: ${bookingBusinesses.map(x => x.id).join(', ')}`;
79
78
  }
80
79
  return bookingBusinesses[0].id;
81
80
  });
@@ -73,7 +73,7 @@ _CliConfigSetCommand_instances = new WeakSet(), _CliConfigSetCommand_initTelemet
73
73
  if (CliConfigSetCommand.optionNames.indexOf(args.options.key) < 0) {
74
74
  return `${args.options.key} is not a valid setting. Allowed values: ${CliConfigSetCommand.optionNames.join(', ')}`;
75
75
  }
76
- const allowedOutputs = ['text', 'json', 'csv', 'md'];
76
+ const allowedOutputs = ['text', 'json', 'csv', 'md', 'none'];
77
77
  if (args.options.key === settingsNames_1.settingsNames.output &&
78
78
  allowedOutputs.indexOf(args.options.value) === -1) {
79
79
  return `${args.options.value} is not a valid value for the option ${args.options.key}. Allowed values: ${allowedOutputs.join(', ')}`;
@@ -58,7 +58,7 @@ class PaAppConsentSetCommand extends PowerAppsCommand_1.default {
58
58
  consentPaApp(args) {
59
59
  return __awaiter(this, void 0, void 0, function* () {
60
60
  const requestOptions = {
61
- url: `${this.resource}/providers/Microsoft.PowerApps/scopes/admin/environments/${args.options.environment}/apps/${args.options.name}/setPowerAppConnectionDirectConsentBypass?api-version=2021-02-01`,
61
+ url: `${this.resource}/providers/Microsoft.PowerApps/scopes/admin/environments/${args.options.environmentName}/apps/${args.options.name}/setPowerAppConnectionDirectConsentBypass?api-version=2021-02-01`,
62
62
  headers: {
63
63
  accept: 'application/json;odata.metadata=none'
64
64
  },
@@ -78,7 +78,7 @@ class PaAppConsentSetCommand extends PowerAppsCommand_1.default {
78
78
  }
79
79
  _PaAppConsentSetCommand_instances = new WeakSet(), _PaAppConsentSetCommand_initOptions = function _PaAppConsentSetCommand_initOptions() {
80
80
  this.options.unshift({
81
- option: '-e, --environment <environment>'
81
+ option: '-e, --environmentName <environmentName>'
82
82
  }, {
83
83
  option: '-n, --name <name>'
84
84
  }, {
@@ -77,7 +77,7 @@ class PaAppExportCommand extends PowerPlatformCommand_1.default {
77
77
  logger.logToStderr('Getting the Microsoft Power App resources...');
78
78
  }
79
79
  const requestOptions = {
80
- url: `${this.resource}/providers/Microsoft.BusinessAppPlatform/environments/${formatting_1.formatting.encodeQueryParameter(args.options.environment)}/listPackageResources?api-version=2016-11-01`,
80
+ url: `${this.resource}/providers/Microsoft.BusinessAppPlatform/environments/${formatting_1.formatting.encodeQueryParameter(args.options.environmentName)}/listPackageResources?api-version=2016-11-01`,
81
81
  headers: {
82
82
  accept: 'application/json'
83
83
  },
@@ -102,7 +102,7 @@ class PaAppExportCommand extends PowerPlatformCommand_1.default {
102
102
  }
103
103
  const resources = yield this.getPackageResources(args, logger);
104
104
  const requestOptions = {
105
- url: `${this.resource}/providers/Microsoft.BusinessAppPlatform/environments/${formatting_1.formatting.encodeQueryParameter(args.options.environment)}/exportPackage?api-version=2016-11-01`,
105
+ url: `${this.resource}/providers/Microsoft.BusinessAppPlatform/environments/${formatting_1.formatting.encodeQueryParameter(args.options.environmentName)}/exportPackage?api-version=2016-11-01`,
106
106
  headers: {
107
107
  accept: 'application/json'
108
108
  },
@@ -169,7 +169,7 @@ _PaAppExportCommand_instances = new WeakSet(), _PaAppExportCommand_initTelemetry
169
169
  this.options.unshift({
170
170
  option: '-i, --id <id>'
171
171
  }, {
172
- option: '-e, --environment <environment>'
172
+ option: '-e, --environmentName <environmentName>'
173
173
  }, {
174
174
  option: '-n, --packageDisplayName [packageDisplayName]'
175
175
  }, {
@@ -38,7 +38,7 @@ class PaAppListCommand extends PowerAppsCommand_1.default {
38
38
  }
39
39
  commandAction(logger, args) {
40
40
  return __awaiter(this, void 0, void 0, function* () {
41
- const url = `${this.resource}/providers/Microsoft.PowerApps${args.options.asAdmin ? '/scopes/admin' : ''}${args.options.environment ? '/environments/' + formatting_1.formatting.encodeQueryParameter(args.options.environment) : ''}/apps?api-version=2017-08-01`;
41
+ const url = `${this.resource}/providers/Microsoft.PowerApps${args.options.asAdmin ? '/scopes/admin' : ''}${args.options.environmentName ? '/environments/' + formatting_1.formatting.encodeQueryParameter(args.options.environmentName) : ''}/apps?api-version=2017-08-01`;
42
42
  try {
43
43
  const apps = yield odata_1.odata.getAllItems(url);
44
44
  if (apps.length > 0) {
@@ -63,21 +63,21 @@ _PaAppListCommand_instances = new WeakSet(), _PaAppListCommand_initTelemetry = f
63
63
  this.telemetry.push((args) => {
64
64
  Object.assign(this.telemetryProperties, {
65
65
  asAdmin: args.options.asAdmin === true,
66
- environment: typeof args.options.environment !== 'undefined'
66
+ environmentName: typeof args.options.environmentName !== 'undefined'
67
67
  });
68
68
  });
69
69
  }, _PaAppListCommand_initOptions = function _PaAppListCommand_initOptions() {
70
70
  this.options.unshift({
71
- option: '-e, --environment [environment]'
71
+ option: '-e, --environmentName [environmentName]'
72
72
  }, {
73
73
  option: '--asAdmin'
74
74
  });
75
75
  }, _PaAppListCommand_initValidators = function _PaAppListCommand_initValidators() {
76
76
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
77
- if (args.options.asAdmin && !args.options.environment) {
77
+ if (args.options.asAdmin && !args.options.environmentName) {
78
78
  return 'When specifying the asAdmin option the environment option is required as well';
79
79
  }
80
- if (args.options.environment && !args.options.asAdmin) {
80
+ if (args.options.environmentName && !args.options.asAdmin) {
81
81
  return 'When specifying the environment option the asAdmin option is required as well';
82
82
  }
83
83
  return true;
@@ -0,0 +1,115 @@
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 _PaAppOwnerSetCommand_instances, _PaAppOwnerSetCommand_initTelemetry, _PaAppOwnerSetCommand_initOptions, _PaAppOwnerSetCommand_initValidators, _PaAppOwnerSetCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const request_1 = require("../../../../request");
19
+ const aadUser_1 = require("../../../../utils/aadUser");
20
+ const validation_1 = require("../../../../utils/validation");
21
+ const PowerAppsCommand_1 = require("../../../base/PowerAppsCommand");
22
+ const commands_1 = require("../../commands");
23
+ class PaAppOwnerSetCommand extends PowerAppsCommand_1.default {
24
+ get name() {
25
+ return commands_1.default.APP_OWNER_SET;
26
+ }
27
+ get description() {
28
+ return 'Sets a new owner for a Power Apps app';
29
+ }
30
+ constructor() {
31
+ super();
32
+ _PaAppOwnerSetCommand_instances.add(this);
33
+ __classPrivateFieldGet(this, _PaAppOwnerSetCommand_instances, "m", _PaAppOwnerSetCommand_initTelemetry).call(this);
34
+ __classPrivateFieldGet(this, _PaAppOwnerSetCommand_instances, "m", _PaAppOwnerSetCommand_initOptions).call(this);
35
+ __classPrivateFieldGet(this, _PaAppOwnerSetCommand_instances, "m", _PaAppOwnerSetCommand_initValidators).call(this);
36
+ __classPrivateFieldGet(this, _PaAppOwnerSetCommand_instances, "m", _PaAppOwnerSetCommand_initOptionSets).call(this);
37
+ }
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (this.verbose) {
41
+ logger.logToStderr(`Setting new owner ${args.options.userId || args.options.userName} for Power Apps app ${args.options.appName}...`);
42
+ }
43
+ try {
44
+ const userId = yield this.getUserId(args.options);
45
+ const requestOptions = {
46
+ url: `${this.resource}/providers/Microsoft.PowerApps/scopes/admin/environments/${args.options.environmentName}/apps/${args.options.appName}/modifyAppOwner?api-version=2022-11-01`,
47
+ headers: {
48
+ accept: 'application/json',
49
+ 'Content-Type': 'application/json'
50
+ },
51
+ responseType: 'json',
52
+ data: {
53
+ roleForOldAppOwner: args.options.roleForOldAppOwner,
54
+ newAppOwner: userId
55
+ }
56
+ };
57
+ yield request_1.default.post(requestOptions);
58
+ }
59
+ catch (err) {
60
+ this.handleRejectedODataJsonPromise(err);
61
+ }
62
+ });
63
+ }
64
+ getUserId(options) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ if (options.userId) {
67
+ return options.userId;
68
+ }
69
+ return aadUser_1.aadUser.getUserIdByUpn(options.userName);
70
+ });
71
+ }
72
+ }
73
+ _PaAppOwnerSetCommand_instances = new WeakSet(), _PaAppOwnerSetCommand_initTelemetry = function _PaAppOwnerSetCommand_initTelemetry() {
74
+ this.telemetry.push((args) => {
75
+ Object.assign(this.telemetryProperties, {
76
+ userId: typeof args.options.userId !== 'undefined',
77
+ userName: typeof args.options.userName !== 'undefined',
78
+ roleForOldAppOwner: typeof args.options.roleForOldAppOwner !== 'undefined'
79
+ });
80
+ });
81
+ }, _PaAppOwnerSetCommand_initOptions = function _PaAppOwnerSetCommand_initOptions() {
82
+ this.options.unshift({
83
+ option: '-e, --environmentName <environmentName>'
84
+ }, {
85
+ option: '--appName <appName>'
86
+ }, {
87
+ option: '--userId [userId]'
88
+ }, {
89
+ option: '--userName [userName]'
90
+ }, {
91
+ option: '--roleForOldAppOwner [roleForOldAppOwner]',
92
+ autocomplete: PaAppOwnerSetCommand.roleForOldAppOwner
93
+ });
94
+ }, _PaAppOwnerSetCommand_initValidators = function _PaAppOwnerSetCommand_initValidators() {
95
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
96
+ if (!validation_1.validation.isValidGuid(args.options.appName)) {
97
+ return `${args.options.appName} is not a valid GUID for appName`;
98
+ }
99
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
100
+ return `${args.options.userId} is not a valid GUID for userId`;
101
+ }
102
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
103
+ return `${args.options.userName} is not a valid UPN for userName`;
104
+ }
105
+ if (args.options.roleForOldAppOwner && PaAppOwnerSetCommand.roleForOldAppOwner.indexOf(args.options.roleForOldAppOwner) < 0) {
106
+ return `${args.options.roleForOldAppOwner} is not a valid roleForOldAppOwner. Allowed values are: ${PaAppOwnerSetCommand.roleForOldAppOwner.join(', ')}`;
107
+ }
108
+ return true;
109
+ }));
110
+ }, _PaAppOwnerSetCommand_initOptionSets = function _PaAppOwnerSetCommand_initOptionSets() {
111
+ this.optionSets.push({ options: ['userId', 'userName'] });
112
+ };
113
+ PaAppOwnerSetCommand.roleForOldAppOwner = ['CanView', 'CanEdit'];
114
+ module.exports = new PaAppOwnerSetCommand();
115
+ //# sourceMappingURL=app-owner-set.js.map
@@ -0,0 +1,104 @@
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 _PaAppPermissionListCommand_instances, _PaAppPermissionListCommand_initTelemetry, _PaAppPermissionListCommand_initOptions, _PaAppPermissionListCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const formatting_1 = require("../../../../utils/formatting");
19
+ const odata_1 = require("../../../../utils/odata");
20
+ const validation_1 = require("../../../../utils/validation");
21
+ const PowerAppsCommand_1 = require("../../../base/PowerAppsCommand");
22
+ const commands_1 = require("../../commands");
23
+ class PaAppPermissionListCommand extends PowerAppsCommand_1.default {
24
+ get name() {
25
+ return commands_1.default.APP_PERMISSION_LIST;
26
+ }
27
+ get description() {
28
+ return 'Lists all permissions of a Power Apps app';
29
+ }
30
+ defaultProperties() {
31
+ return ['roleName', 'principalId', 'principalType'];
32
+ }
33
+ constructor() {
34
+ super();
35
+ _PaAppPermissionListCommand_instances.add(this);
36
+ this.allowedRoleNames = ['Owner', 'CanEdit', 'CanView'];
37
+ __classPrivateFieldGet(this, _PaAppPermissionListCommand_instances, "m", _PaAppPermissionListCommand_initTelemetry).call(this);
38
+ __classPrivateFieldGet(this, _PaAppPermissionListCommand_instances, "m", _PaAppPermissionListCommand_initOptions).call(this);
39
+ __classPrivateFieldGet(this, _PaAppPermissionListCommand_instances, "m", _PaAppPermissionListCommand_initValidators).call(this);
40
+ }
41
+ commandAction(logger, args) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ if (this.verbose) {
44
+ logger.logToStderr(`Retrieving permissions for app ${args.options.appName}${args.options.roleName !== undefined ? ` with role name ${args.options.roleName}` : ''}`);
45
+ }
46
+ const url = `${this.resource}/providers/Microsoft.PowerApps${args.options.asAdmin ? '/scopes/admin' : ''}${args.options.environmentName ? '/environments/' + formatting_1.formatting.encodeQueryParameter(args.options.environmentName) : ''}/apps/${args.options.appName}/permissions?api-version=2022-11-01`;
47
+ try {
48
+ let permissions = yield odata_1.odata.getAllItems(url);
49
+ if (args.options.roleName) {
50
+ permissions = permissions.filter(permission => permission.properties.roleName === args.options.roleName);
51
+ }
52
+ if (args.options.output !== 'json') {
53
+ permissions.forEach(permission => {
54
+ permission.roleName = permission.properties.roleName;
55
+ permission.principalId = permission.properties.principal.id;
56
+ permission.principalType = permission.properties.principal.type;
57
+ });
58
+ }
59
+ logger.log(permissions);
60
+ }
61
+ catch (err) {
62
+ this.handleRejectedODataJsonPromise(err);
63
+ }
64
+ });
65
+ }
66
+ }
67
+ _PaAppPermissionListCommand_instances = new WeakSet(), _PaAppPermissionListCommand_initTelemetry = function _PaAppPermissionListCommand_initTelemetry() {
68
+ this.telemetry.push((args) => {
69
+ Object.assign(this.telemetryProperties, {
70
+ asAdmin: !!args.options.asAdmin,
71
+ environmentName: typeof args.options.environmentName !== 'undefined',
72
+ roleName: typeof args.options.roleName !== 'undefined'
73
+ });
74
+ });
75
+ }, _PaAppPermissionListCommand_initOptions = function _PaAppPermissionListCommand_initOptions() {
76
+ this.options.unshift({
77
+ option: '--appName <appName>'
78
+ }, {
79
+ option: '--asAdmin'
80
+ }, {
81
+ option: '-e, --environmentName [environmentName]'
82
+ }, {
83
+ option: '--roleName [roleName]',
84
+ autocomplete: this.allowedRoleNames
85
+ });
86
+ }, _PaAppPermissionListCommand_initValidators = function _PaAppPermissionListCommand_initValidators() {
87
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
88
+ if (!validation_1.validation.isValidGuid(args.options.appName)) {
89
+ return `${args.options.appName} is not a valid GUID for appName.`;
90
+ }
91
+ if (args.options.roleName && !this.allowedRoleNames.includes(args.options.roleName)) {
92
+ return `${args.options.roleName} is not a valid roleName. Allowed values are ${this.allowedRoleNames.join(',')}`;
93
+ }
94
+ if (args.options.asAdmin && !args.options.environmentName) {
95
+ return 'Specifying the environmentName is required when using asAdmin';
96
+ }
97
+ if (!args.options.asAdmin && args.options.environmentName) {
98
+ return 'Specifying environmentName is only allowed when using asAdmin';
99
+ }
100
+ return true;
101
+ }));
102
+ };
103
+ module.exports = new PaAppPermissionListCommand();
104
+ //# sourceMappingURL=app-permission-list.js.map
@@ -7,6 +7,8 @@ exports.default = {
7
7
  APP_LIST: `${prefix} app list`,
8
8
  APP_REMOVE: `${prefix} app remove`,
9
9
  APP_CONSENT_SET: `${prefix} app consent set`,
10
+ APP_OWNER_SET: `${prefix} app owner set`,
11
+ APP_PERMISSION_LIST: `${prefix} app permission list`,
10
12
  CONNECTOR_EXPORT: `${prefix} connector export`,
11
13
  CONNECTOR_LIST: `${prefix} connector list`,
12
14
  ENVIRONMENT_GET: `${prefix} environment get`,
@@ -68,9 +68,13 @@ class PlannerBucketAddCommand extends GraphCommand_1.default {
68
68
  if (args.options.planId) {
69
69
  return args.options.planId;
70
70
  }
71
- const groupId = yield this.getGroupId(args);
72
- const plan = yield planner_1.planner.getPlanByTitle(args.options.planTitle, groupId);
73
- return plan.id;
71
+ if (args.options.planTitle) {
72
+ const groupId = yield this.getGroupId(args);
73
+ const plan = yield planner_1.planner.getPlanByTitle(args.options.planTitle, groupId);
74
+ return plan.id;
75
+ }
76
+ const plans = yield planner_1.planner.getPlansByRosterId(args.options.rosterId);
77
+ return plans[0].id;
74
78
  });
75
79
  }
76
80
  getGroupId(args) {
@@ -88,6 +92,7 @@ _PlannerBucketAddCommand_instances = new WeakSet(), _PlannerBucketAddCommand_ini
88
92
  Object.assign(this.telemetryProperties, {
89
93
  planId: typeof args.options.planId !== 'undefined',
90
94
  planTitle: typeof args.options.planTitle !== 'undefined',
95
+ rosterId: typeof args.options.rosterId !== 'undefined',
91
96
  ownerGroupId: typeof args.options.ownerGroupId !== 'undefined',
92
97
  ownerGroupName: typeof args.options.ownerGroupName !== 'undefined',
93
98
  orderHint: typeof args.options.orderHint !== 'undefined'
@@ -100,6 +105,8 @@ _PlannerBucketAddCommand_instances = new WeakSet(), _PlannerBucketAddCommand_ini
100
105
  option: "--planId [planId]"
101
106
  }, {
102
107
  option: "--planTitle [planTitle]"
108
+ }, {
109
+ option: '--rosterId [rosterId]'
103
110
  }, {
104
111
  option: "--ownerGroupId [ownerGroupId]"
105
112
  }, {
@@ -109,19 +116,16 @@ _PlannerBucketAddCommand_instances = new WeakSet(), _PlannerBucketAddCommand_ini
109
116
  });
110
117
  }, _PlannerBucketAddCommand_initValidators = function _PlannerBucketAddCommand_initValidators() {
111
118
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
112
- if (args.options.planTitle && !args.options.ownerGroupId && !args.options.ownerGroupName) {
113
- return 'Specify either ownerGroupId or ownerGroupName when using planTitle';
114
- }
115
- if (args.options.planTitle && args.options.ownerGroupId && args.options.ownerGroupName) {
116
- return 'Specify either ownerGroupId or ownerGroupName when using planTitle but not both';
117
- }
118
119
  if (args.options.ownerGroupId && !validation_1.validation.isValidGuid(args.options.ownerGroupId)) {
119
120
  return `${args.options.ownerGroupId} is not a valid GUID`;
120
121
  }
121
122
  return true;
122
123
  }));
123
124
  }, _PlannerBucketAddCommand_initOptionSets = function _PlannerBucketAddCommand_initOptionSets() {
124
- this.optionSets.push({ options: ['planId', 'planTitle'] });
125
+ this.optionSets.push({ options: ['planId', 'planTitle', 'rosterId'] }, {
126
+ options: ['ownerGroupId', 'ownerGroupName'],
127
+ runsWhen: (args) => args.options.planTitle !== undefined
128
+ });
125
129
  };
126
130
  module.exports = new PlannerBucketAddCommand();
127
131
  //# sourceMappingURL=bucket-add.js.map