@pnp/cli-microsoft365 6.3.0 → 6.4.0-beta.6b65014

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 (41) hide show
  1. package/.eslintrc.js +1 -0
  2. package/dist/Command.js +1 -0
  3. package/dist/m365/aad/commands/user/user-license-remove.js +2 -1
  4. package/dist/m365/aad/commands/user/user-recyclebinitem-restore.js +2 -9
  5. package/dist/m365/flow/commands/flow-disable.js +9 -2
  6. package/dist/m365/flow/commands/flow-enable.js +9 -2
  7. package/dist/m365/flow/commands/flow-get.js +9 -2
  8. package/dist/m365/flow/commands/flow-list.js +1 -1
  9. package/dist/m365/flow/commands/flow-remove.js +2 -2
  10. package/dist/m365/flow/commands/owner/owner-add.js +147 -0
  11. package/dist/m365/flow/commands/owner/owner-list.js +89 -0
  12. package/dist/m365/flow/commands/owner/owner-remove.js +147 -0
  13. package/dist/m365/flow/commands/run/run-cancel.js +9 -2
  14. package/dist/m365/flow/commands/run/run-list.js +5 -2
  15. package/dist/m365/flow/commands.js +3 -0
  16. package/dist/m365/planner/commands/roster/roster-member-get.js +98 -0
  17. package/dist/m365/planner/commands.js +1 -0
  18. package/dist/m365/spo/commands/customaction/customaction-get.js +27 -7
  19. package/dist/m365/spo/commands/file/file-move.js +1 -1
  20. package/dist/m365/spo/commands/list/list-add.js +11 -8
  21. package/dist/m365/spo/commands/list/list-set.js +3 -3
  22. package/dist/m365/spo/commands/term/term-get.js +68 -48
  23. package/dist/utils/aadGroup.js +18 -0
  24. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.md +5 -5
  25. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.md +3 -3
  26. package/docs/docs/cmd/aad/user/user-remove.md +1 -1
  27. package/docs/docs/cmd/flow/owner/owner-add.md +61 -0
  28. package/docs/docs/cmd/flow/owner/owner-list.md +90 -0
  29. package/docs/docs/cmd/flow/owner/owner-remove.md +67 -0
  30. package/docs/docs/cmd/flow/run/run-list.md +28 -0
  31. package/docs/docs/cmd/planner/roster/roster-member-get.md +87 -0
  32. package/docs/docs/cmd/spo/customaction/customaction-get.md +113 -11
  33. package/docs/docs/cmd/spo/group/group-member-add.md +4 -4
  34. package/docs/docs/cmd/spo/list/list-add.md +2 -2
  35. package/docs/docs/cmd/spo/list/list-set.md +2 -2
  36. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +1 -1
  37. package/docs/docs/cmd/spo/navigation/navigation-node-set.md +1 -1
  38. package/docs/docs/cmd/spo/tenant/tenant-settings-set.md +26 -26
  39. package/docs/docs/cmd/teams/channel/channel-member-add.md +2 -2
  40. package/npm-shrinkwrap.json +2 -2
  41. package/package.json +2 -2
package/.eslintrc.js CHANGED
@@ -60,6 +60,7 @@ const dictionary = [
60
60
  'office365',
61
61
  'one',
62
62
  'org',
63
+ 'owner',
63
64
  'o365',
64
65
  'permission',
65
66
  'place',
package/dist/Command.js CHANGED
@@ -117,6 +117,7 @@ class Command {
117
117
  .then(result => result.missingRequireOptionValue);
118
118
  args.options[command.options[i].name] = missingRequireOptionValue;
119
119
  }
120
+ this.processOptions(args.options);
120
121
  return true;
121
122
  });
122
123
  }
@@ -81,7 +81,8 @@ _AadUserLicenseRemoveCommand_instances = new WeakSet(), _AadUserLicenseRemoveCom
81
81
  this.telemetry.push((args) => {
82
82
  Object.assign(this.telemetryProperties, {
83
83
  userId: typeof args.options.userId !== 'undefined',
84
- userName: typeof args.options.userName !== 'undefined'
84
+ userName: typeof args.options.userName !== 'undefined',
85
+ confirm: !!args.options.confirm
85
86
  });
86
87
  });
87
88
  }, _AadUserLicenseRemoveCommand_initOptions = function _AadUserLicenseRemoveCommand_initOptions() {
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
14
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
15
  };
16
- var _AadUserRecycleBinItemRestoreCommand_instances, _AadUserRecycleBinItemRestoreCommand_initTelemetry, _AadUserRecycleBinItemRestoreCommand_initOptions, _AadUserRecycleBinItemRestoreCommand_initValidators;
16
+ var _AadUserRecycleBinItemRestoreCommand_instances, _AadUserRecycleBinItemRestoreCommand_initOptions, _AadUserRecycleBinItemRestoreCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
19
  const validation_1 = require("../../../../utils/validation");
@@ -29,7 +29,6 @@ class AadUserRecycleBinItemRestoreCommand extends GraphCommand_1.default {
29
29
  constructor() {
30
30
  super();
31
31
  _AadUserRecycleBinItemRestoreCommand_instances.add(this);
32
- __classPrivateFieldGet(this, _AadUserRecycleBinItemRestoreCommand_instances, "m", _AadUserRecycleBinItemRestoreCommand_initTelemetry).call(this);
33
32
  __classPrivateFieldGet(this, _AadUserRecycleBinItemRestoreCommand_instances, "m", _AadUserRecycleBinItemRestoreCommand_initOptions).call(this);
34
33
  __classPrivateFieldGet(this, _AadUserRecycleBinItemRestoreCommand_instances, "m", _AadUserRecycleBinItemRestoreCommand_initValidators).call(this);
35
34
  }
@@ -55,13 +54,7 @@ class AadUserRecycleBinItemRestoreCommand extends GraphCommand_1.default {
55
54
  });
56
55
  }
57
56
  }
58
- _AadUserRecycleBinItemRestoreCommand_instances = new WeakSet(), _AadUserRecycleBinItemRestoreCommand_initTelemetry = function _AadUserRecycleBinItemRestoreCommand_initTelemetry() {
59
- this.telemetry.push((args) => {
60
- Object.assign(this.telemetryProperties, {
61
- confirm: !!args.options.confirm
62
- });
63
- });
64
- }, _AadUserRecycleBinItemRestoreCommand_initOptions = function _AadUserRecycleBinItemRestoreCommand_initOptions() {
57
+ _AadUserRecycleBinItemRestoreCommand_instances = new WeakSet(), _AadUserRecycleBinItemRestoreCommand_initOptions = function _AadUserRecycleBinItemRestoreCommand_initOptions() {
65
58
  this.options.unshift({
66
59
  option: '--id <id>'
67
60
  });
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
14
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
15
  };
16
- var _FlowDisableCommand_instances, _FlowDisableCommand_initOptions;
16
+ var _FlowDisableCommand_instances, _FlowDisableCommand_initTelemetry, _FlowDisableCommand_initOptions;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../request");
19
19
  const formatting_1 = require("../../../utils/formatting");
@@ -29,6 +29,7 @@ class FlowDisableCommand extends AzmgmtCommand_1.default {
29
29
  constructor() {
30
30
  super();
31
31
  _FlowDisableCommand_instances.add(this);
32
+ __classPrivateFieldGet(this, _FlowDisableCommand_instances, "m", _FlowDisableCommand_initTelemetry).call(this);
32
33
  __classPrivateFieldGet(this, _FlowDisableCommand_instances, "m", _FlowDisableCommand_initOptions).call(this);
33
34
  }
34
35
  commandAction(logger, args) {
@@ -52,7 +53,13 @@ class FlowDisableCommand extends AzmgmtCommand_1.default {
52
53
  });
53
54
  }
54
55
  }
55
- _FlowDisableCommand_instances = new WeakSet(), _FlowDisableCommand_initOptions = function _FlowDisableCommand_initOptions() {
56
+ _FlowDisableCommand_instances = new WeakSet(), _FlowDisableCommand_initTelemetry = function _FlowDisableCommand_initTelemetry() {
57
+ this.telemetry.push((args) => {
58
+ Object.assign(this.telemetryProperties, {
59
+ asAdmin: !!args.options.asAdmin
60
+ });
61
+ });
62
+ }, _FlowDisableCommand_initOptions = function _FlowDisableCommand_initOptions() {
56
63
  this.options.unshift({
57
64
  option: '-n, --name <name>'
58
65
  }, {
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
14
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
15
  };
16
- var _FlowEnableCommand_instances, _FlowEnableCommand_initOptions;
16
+ var _FlowEnableCommand_instances, _FlowEnableCommand_initTelemetry, _FlowEnableCommand_initOptions;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../request");
19
19
  const formatting_1 = require("../../../utils/formatting");
@@ -29,6 +29,7 @@ class FlowEnableCommand extends AzmgmtCommand_1.default {
29
29
  constructor() {
30
30
  super();
31
31
  _FlowEnableCommand_instances.add(this);
32
+ __classPrivateFieldGet(this, _FlowEnableCommand_instances, "m", _FlowEnableCommand_initTelemetry).call(this);
32
33
  __classPrivateFieldGet(this, _FlowEnableCommand_instances, "m", _FlowEnableCommand_initOptions).call(this);
33
34
  }
34
35
  commandAction(logger, args) {
@@ -52,7 +53,13 @@ class FlowEnableCommand extends AzmgmtCommand_1.default {
52
53
  });
53
54
  }
54
55
  }
55
- _FlowEnableCommand_instances = new WeakSet(), _FlowEnableCommand_initOptions = function _FlowEnableCommand_initOptions() {
56
+ _FlowEnableCommand_instances = new WeakSet(), _FlowEnableCommand_initTelemetry = function _FlowEnableCommand_initTelemetry() {
57
+ this.telemetry.push((args) => {
58
+ Object.assign(this.telemetryProperties, {
59
+ asAdmin: !!args.options.asAdmin
60
+ });
61
+ });
62
+ }, _FlowEnableCommand_initOptions = function _FlowEnableCommand_initOptions() {
56
63
  this.options.unshift({
57
64
  option: '-n, --name <name>'
58
65
  }, {
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
14
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
15
  };
16
- var _FlowGetCommand_instances, _FlowGetCommand_initOptions;
16
+ var _FlowGetCommand_instances, _FlowGetCommand_initTelemetry, _FlowGetCommand_initOptions;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../request");
19
19
  const formatting_1 = require("../../../utils/formatting");
@@ -32,6 +32,7 @@ class FlowGetCommand extends AzmgmtCommand_1.default {
32
32
  constructor() {
33
33
  super();
34
34
  _FlowGetCommand_instances.add(this);
35
+ __classPrivateFieldGet(this, _FlowGetCommand_instances, "m", _FlowGetCommand_initTelemetry).call(this);
35
36
  __classPrivateFieldGet(this, _FlowGetCommand_instances, "m", _FlowGetCommand_initOptions).call(this);
36
37
  }
37
38
  commandAction(logger, args) {
@@ -60,7 +61,13 @@ class FlowGetCommand extends AzmgmtCommand_1.default {
60
61
  });
61
62
  }
62
63
  }
63
- _FlowGetCommand_instances = new WeakSet(), _FlowGetCommand_initOptions = function _FlowGetCommand_initOptions() {
64
+ _FlowGetCommand_instances = new WeakSet(), _FlowGetCommand_initTelemetry = function _FlowGetCommand_initTelemetry() {
65
+ this.telemetry.push((args) => {
66
+ Object.assign(this.telemetryProperties, {
67
+ asAdmin: !!args.options.asAdmin
68
+ });
69
+ });
70
+ }, _FlowGetCommand_initOptions = function _FlowGetCommand_initOptions() {
64
71
  this.options.unshift({
65
72
  option: '-n, --name <name>'
66
73
  }, {
@@ -60,7 +60,7 @@ class FlowListCommand extends AzmgmtItemsListCommand_1.AzmgmtItemsListCommand {
60
60
  _FlowListCommand_instances = new WeakSet(), _FlowListCommand_initTelemetry = function _FlowListCommand_initTelemetry() {
61
61
  this.telemetry.push((args) => {
62
62
  Object.assign(this.telemetryProperties, {
63
- asAdmin: args.options.asAdmin === true
63
+ asAdmin: !!args.options.asAdmin
64
64
  });
65
65
  });
66
66
  }, _FlowListCommand_initOptions = function _FlowListCommand_initOptions() {
@@ -82,8 +82,8 @@ class FlowRemoveCommand extends AzmgmtCommand_1.default {
82
82
  _FlowRemoveCommand_instances = new WeakSet(), _FlowRemoveCommand_initTelemetry = function _FlowRemoveCommand_initTelemetry() {
83
83
  this.telemetry.push((args) => {
84
84
  Object.assign(this.telemetryProperties, {
85
- asAdmin: typeof args.options.asAdmin !== 'undefined',
86
- confirm: typeof args.options.confirm !== 'undefined'
85
+ asAdmin: !!args.options.asAdmin,
86
+ confirm: !!args.options.confirm
87
87
  });
88
88
  });
89
89
  }, _FlowRemoveCommand_initOptions = function _FlowRemoveCommand_initOptions() {
@@ -0,0 +1,147 @@
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 _FlowOwnerAddCommand_instances, _FlowOwnerAddCommand_initTelemetry, _FlowOwnerAddCommand_initOptions, _FlowOwnerAddCommand_initOptionSets, _FlowOwnerAddCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const request_1 = require("../../../../request");
19
+ const aadGroup_1 = require("../../../../utils/aadGroup");
20
+ const aadUser_1 = require("../../../../utils/aadUser");
21
+ const formatting_1 = require("../../../../utils/formatting");
22
+ const validation_1 = require("../../../../utils/validation");
23
+ const AzmgmtCommand_1 = require("../../../base/AzmgmtCommand");
24
+ const commands_1 = require("../../commands");
25
+ class FlowOwnerAddCommand extends AzmgmtCommand_1.default {
26
+ get name() {
27
+ return commands_1.default.OWNER_ADD;
28
+ }
29
+ get description() {
30
+ return 'Assigns permissions to a Power Automate flow';
31
+ }
32
+ constructor() {
33
+ super();
34
+ _FlowOwnerAddCommand_instances.add(this);
35
+ __classPrivateFieldGet(this, _FlowOwnerAddCommand_instances, "m", _FlowOwnerAddCommand_initTelemetry).call(this);
36
+ __classPrivateFieldGet(this, _FlowOwnerAddCommand_instances, "m", _FlowOwnerAddCommand_initOptions).call(this);
37
+ __classPrivateFieldGet(this, _FlowOwnerAddCommand_instances, "m", _FlowOwnerAddCommand_initValidators).call(this);
38
+ __classPrivateFieldGet(this, _FlowOwnerAddCommand_instances, "m", _FlowOwnerAddCommand_initOptionSets).call(this);
39
+ }
40
+ commandAction(logger, args) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ try {
43
+ if (this.verbose) {
44
+ logger.logToStderr(`Assigning permissions for ${args.options.userId || args.options.userName || args.options.groupId || args.options.groupName} with permissions ${args.options.roleName} to Power Automate flow ${args.options.flowName}`);
45
+ }
46
+ let id = '';
47
+ if (args.options.userId) {
48
+ id = args.options.userId;
49
+ }
50
+ else if (args.options.userName) {
51
+ id = yield aadUser_1.aadUser.getUserIdByUpn(args.options.userName);
52
+ }
53
+ else if (args.options.groupId) {
54
+ id = args.options.groupId;
55
+ }
56
+ else {
57
+ id = yield aadGroup_1.aadGroup.getGroupIdByDisplayName(args.options.groupName);
58
+ }
59
+ let type;
60
+ if (args.options.userId || args.options.userName) {
61
+ type = 'User';
62
+ }
63
+ else {
64
+ type = 'Group';
65
+ }
66
+ const requestOptions = {
67
+ url: `${this.resource}providers/Microsoft.ProcessSimple/${args.options.asAdmin ? 'scopes/admin/' : ''}environments/${formatting_1.formatting.encodeQueryParameter(args.options.environmentName)}/flows/${formatting_1.formatting.encodeQueryParameter(args.options.flowName)}/modifyPermissions?api-version=2016-11-01`,
68
+ headers: {
69
+ accept: 'application/json'
70
+ },
71
+ data: {
72
+ put: [
73
+ {
74
+ properties: {
75
+ principal: {
76
+ id: id,
77
+ type: type
78
+ },
79
+ roleName: args.options.roleName
80
+ }
81
+ }
82
+ ]
83
+ },
84
+ responseType: 'json'
85
+ };
86
+ yield request_1.default.post(requestOptions);
87
+ }
88
+ catch (err) {
89
+ this.handleRejectedODataJsonPromise(err);
90
+ }
91
+ });
92
+ }
93
+ }
94
+ _FlowOwnerAddCommand_instances = new WeakSet(), _FlowOwnerAddCommand_initTelemetry = function _FlowOwnerAddCommand_initTelemetry() {
95
+ this.telemetry.push((args) => {
96
+ Object.assign(this.telemetryProperties, {
97
+ asAdmin: !!args.options.asAdmin,
98
+ userId: typeof args.options.userId !== 'undefined',
99
+ userName: typeof args.options.userName !== 'undefined',
100
+ groupId: typeof args.options.groupId !== 'undefined',
101
+ groupName: typeof args.options.groupName !== 'undefined'
102
+ });
103
+ });
104
+ }, _FlowOwnerAddCommand_initOptions = function _FlowOwnerAddCommand_initOptions() {
105
+ this.options.unshift({
106
+ option: '-e, --environmentName <environmentName>'
107
+ }, {
108
+ option: '-f, --flowName <flowName>'
109
+ }, {
110
+ option: '--userId [userId]'
111
+ }, {
112
+ option: '--userName [userName]'
113
+ }, {
114
+ option: '--groupId [groupId]'
115
+ }, {
116
+ option: '--groupName [groupName]'
117
+ }, {
118
+ option: '--roleName <roleName>',
119
+ autocomplete: FlowOwnerAddCommand.allowedRoleNames
120
+ }, {
121
+ option: '--asAdmin'
122
+ });
123
+ }, _FlowOwnerAddCommand_initOptionSets = function _FlowOwnerAddCommand_initOptionSets() {
124
+ this.optionSets.push({ options: ['userId', 'userName', 'groupId', 'groupName'] });
125
+ }, _FlowOwnerAddCommand_initValidators = function _FlowOwnerAddCommand_initValidators() {
126
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
127
+ if (!validation_1.validation.isValidGuid(args.options.flowName)) {
128
+ return `${args.options.flowName} is not a valid GUID.`;
129
+ }
130
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
131
+ return `${args.options.userId} is not a valid GUID.`;
132
+ }
133
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
134
+ return `${args.options.userName} is not a valid userName.`;
135
+ }
136
+ if (args.options.groupId && !validation_1.validation.isValidGuid(args.options.groupId)) {
137
+ return `${args.options.groupId} is not a valid GUID.`;
138
+ }
139
+ if (FlowOwnerAddCommand.allowedRoleNames.indexOf(args.options.roleName) === -1) {
140
+ return `${args.options.roleName} is not a valid roleName. Valid values are: ${FlowOwnerAddCommand.allowedRoleNames.join(', ')}`;
141
+ }
142
+ return true;
143
+ }));
144
+ };
145
+ FlowOwnerAddCommand.allowedRoleNames = ['CanView', 'CanEdit'];
146
+ module.exports = new FlowOwnerAddCommand();
147
+ //# sourceMappingURL=owner-add.js.map
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _FlowOwnerListCommand_instances, _FlowOwnerListCommand_initTelemetry, _FlowOwnerListCommand_initOptions, _FlowOwnerListCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ const formatting_1 = require("../../../../utils/formatting");
20
+ const odata_1 = require("../../../../utils/odata");
21
+ const validation_1 = require("../../../../utils/validation");
22
+ const AzmgmtCommand_1 = require("../../../base/AzmgmtCommand");
23
+ const commands_1 = require("../../commands");
24
+ class FlowOwnerListCommand extends AzmgmtCommand_1.default {
25
+ get name() {
26
+ return commands_1.default.OWNER_LIST;
27
+ }
28
+ get description() {
29
+ return 'Lists all owners of a Power Automate flow';
30
+ }
31
+ defaultProperties() {
32
+ return ['roleName', 'id', 'type'];
33
+ }
34
+ constructor() {
35
+ super();
36
+ _FlowOwnerListCommand_instances.add(this);
37
+ __classPrivateFieldGet(this, _FlowOwnerListCommand_instances, "m", _FlowOwnerListCommand_initTelemetry).call(this);
38
+ __classPrivateFieldGet(this, _FlowOwnerListCommand_instances, "m", _FlowOwnerListCommand_initOptions).call(this);
39
+ __classPrivateFieldGet(this, _FlowOwnerListCommand_instances, "m", _FlowOwnerListCommand_initValidators).call(this);
40
+ }
41
+ commandAction(logger, args) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ try {
44
+ if (this.verbose) {
45
+ logger.logToStderr(`Listing owners for flow ${args.options.flowName} in environment ${args.options.environmentName}`);
46
+ }
47
+ const response = yield odata_1.odata.getAllItems(`${this.resource}providers/Microsoft.ProcessSimple/${args.options.asAdmin ? 'scopes/admin/' : ''}environments/${formatting_1.formatting.encodeQueryParameter(args.options.environmentName)}/flows/${formatting_1.formatting.encodeQueryParameter(args.options.flowName)}/permissions?api-version=2016-11-01`);
48
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
49
+ logger.log(response);
50
+ }
51
+ else {
52
+ //converted to text friendly output
53
+ logger.log(response.map(res => ({
54
+ roleName: res.properties.roleName,
55
+ id: res.properties.principal.id,
56
+ type: res.properties.principal.type
57
+ })));
58
+ }
59
+ }
60
+ catch (err) {
61
+ this.handleRejectedODataJsonPromise(err);
62
+ }
63
+ });
64
+ }
65
+ }
66
+ _FlowOwnerListCommand_instances = new WeakSet(), _FlowOwnerListCommand_initTelemetry = function _FlowOwnerListCommand_initTelemetry() {
67
+ this.telemetry.push((args) => {
68
+ Object.assign(this.telemetryProperties, {
69
+ asAdmin: !!args.options.asAdmin
70
+ });
71
+ });
72
+ }, _FlowOwnerListCommand_initOptions = function _FlowOwnerListCommand_initOptions() {
73
+ this.options.unshift({
74
+ option: '-e, --environmentName <environmentName>'
75
+ }, {
76
+ option: '-f, --flowName <flowName>'
77
+ }, {
78
+ option: '--asAdmin'
79
+ });
80
+ }, _FlowOwnerListCommand_initValidators = function _FlowOwnerListCommand_initValidators() {
81
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
82
+ if (!validation_1.validation.isValidGuid(args.options.flowName)) {
83
+ return `${args.options.flowName} is not a valid GUID.`;
84
+ }
85
+ return true;
86
+ }));
87
+ };
88
+ module.exports = new FlowOwnerListCommand();
89
+ //# sourceMappingURL=owner-list.js.map
@@ -0,0 +1,147 @@
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 _FlowOwnerRemoveCommand_instances, _FlowOwnerRemoveCommand_initTelemetry, _FlowOwnerRemoveCommand_initOptions, _FlowOwnerRemoveCommand_initValidators, _FlowOwnerRemoveCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ const request_1 = require("../../../../request");
20
+ const aadGroup_1 = require("../../../../utils/aadGroup");
21
+ const aadUser_1 = require("../../../../utils/aadUser");
22
+ const formatting_1 = require("../../../../utils/formatting");
23
+ const validation_1 = require("../../../../utils/validation");
24
+ const AzmgmtCommand_1 = require("../../../base/AzmgmtCommand");
25
+ const commands_1 = require("../../commands");
26
+ class FlowOwnerRemoveCommand extends AzmgmtCommand_1.default {
27
+ get name() {
28
+ return commands_1.default.OWNER_REMOVE;
29
+ }
30
+ get description() {
31
+ return 'Removes owner permissions to a Power Automate flow';
32
+ }
33
+ constructor() {
34
+ super();
35
+ _FlowOwnerRemoveCommand_instances.add(this);
36
+ __classPrivateFieldGet(this, _FlowOwnerRemoveCommand_instances, "m", _FlowOwnerRemoveCommand_initTelemetry).call(this);
37
+ __classPrivateFieldGet(this, _FlowOwnerRemoveCommand_instances, "m", _FlowOwnerRemoveCommand_initOptions).call(this);
38
+ __classPrivateFieldGet(this, _FlowOwnerRemoveCommand_instances, "m", _FlowOwnerRemoveCommand_initValidators).call(this);
39
+ __classPrivateFieldGet(this, _FlowOwnerRemoveCommand_instances, "m", _FlowOwnerRemoveCommand_initOptionSets).call(this);
40
+ }
41
+ commandAction(logger, args) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ try {
44
+ if (this.verbose) {
45
+ logger.logToStderr(`Removing owner ${args.options.userId || args.options.userName || args.options.groupId || args.options.groupName} from flow ${args.options.flowName} in environment ${args.options.environmentName}`);
46
+ }
47
+ const removeFlowOwner = () => __awaiter(this, void 0, void 0, function* () {
48
+ let idToRemove = '';
49
+ if (args.options.userId) {
50
+ idToRemove = args.options.userId;
51
+ }
52
+ else if (args.options.userName) {
53
+ idToRemove = yield aadUser_1.aadUser.getUserIdByUpn(args.options.userName);
54
+ }
55
+ else if (args.options.groupId) {
56
+ idToRemove = args.options.groupId;
57
+ }
58
+ else {
59
+ idToRemove = yield aadGroup_1.aadGroup.getGroupIdByDisplayName(args.options.groupName);
60
+ }
61
+ const requestOptions = {
62
+ url: `${this.resource}providers/Microsoft.ProcessSimple/${args.options.asAdmin ? 'scopes/admin/' : ''}environments/${formatting_1.formatting.encodeQueryParameter(args.options.environmentName)}/flows/${formatting_1.formatting.encodeQueryParameter(args.options.flowName)}/modifyPermissions?api-version=2016-11-01`,
63
+ headers: {
64
+ accept: 'application/json'
65
+ },
66
+ data: {
67
+ delete: [
68
+ {
69
+ id: idToRemove
70
+ }
71
+ ]
72
+ },
73
+ responseType: 'json'
74
+ };
75
+ yield request_1.default.post(requestOptions);
76
+ });
77
+ if (args.options.confirm) {
78
+ yield removeFlowOwner();
79
+ }
80
+ else {
81
+ const result = yield Cli_1.Cli.prompt({
82
+ type: 'confirm',
83
+ name: 'continue',
84
+ default: false,
85
+ message: `Are you sure you want to remove owner '${args.options.groupId || args.options.groupName || args.options.userId || args.options.userName}' from the specified flow?`
86
+ });
87
+ if (result.continue) {
88
+ yield removeFlowOwner();
89
+ }
90
+ }
91
+ }
92
+ catch (err) {
93
+ this.handleRejectedODataJsonPromise(err);
94
+ }
95
+ });
96
+ }
97
+ }
98
+ _FlowOwnerRemoveCommand_instances = new WeakSet(), _FlowOwnerRemoveCommand_initTelemetry = function _FlowOwnerRemoveCommand_initTelemetry() {
99
+ this.telemetry.push((args) => {
100
+ Object.assign(this.telemetryProperties, {
101
+ userId: typeof args.options.userId !== 'undefined',
102
+ userName: typeof args.options.userName !== 'undefined',
103
+ groupId: typeof args.options.groupId !== 'undefined',
104
+ groupName: typeof args.options.groupName !== 'undefined',
105
+ asAdmin: !!args.options.asAdmin,
106
+ confirm: !!args.options.confirm
107
+ });
108
+ });
109
+ }, _FlowOwnerRemoveCommand_initOptions = function _FlowOwnerRemoveCommand_initOptions() {
110
+ this.options.unshift({
111
+ option: '-e, --environmentName <environmentName>'
112
+ }, {
113
+ option: '-f, --flowName <flowName>'
114
+ }, {
115
+ option: '--userId [userId]'
116
+ }, {
117
+ option: '--userName [userName]'
118
+ }, {
119
+ option: '--groupId [groupId]'
120
+ }, {
121
+ option: '--groupName [groupName]'
122
+ }, {
123
+ option: '--asAdmin'
124
+ }, {
125
+ option: '--confirm'
126
+ });
127
+ }, _FlowOwnerRemoveCommand_initValidators = function _FlowOwnerRemoveCommand_initValidators() {
128
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
129
+ if (!validation_1.validation.isValidGuid(args.options.flowName)) {
130
+ return `${args.options.flowName} is not a valid GUID.`;
131
+ }
132
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
133
+ return `${args.options.userId} is not a valid GUID.`;
134
+ }
135
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
136
+ return `${args.options.userName} is not a valid userName.`;
137
+ }
138
+ if (args.options.groupId && !validation_1.validation.isValidGuid(args.options.groupId)) {
139
+ return `${args.options.groupId} is not a valid GUID.`;
140
+ }
141
+ return true;
142
+ }));
143
+ }, _FlowOwnerRemoveCommand_initOptionSets = function _FlowOwnerRemoveCommand_initOptionSets() {
144
+ this.optionSets.push({ options: ['userId', 'userName', 'groupId', 'groupName'] });
145
+ };
146
+ module.exports = new FlowOwnerRemoveCommand();
147
+ //# sourceMappingURL=owner-remove.js.map
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
14
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
15
  };
16
- var _FlowRunCancelCommand_instances, _FlowRunCancelCommand_initOptions, _FlowRunCancelCommand_initValidators;
16
+ var _FlowRunCancelCommand_instances, _FlowRunCancelCommand_initTelemetry, _FlowRunCancelCommand_initOptions, _FlowRunCancelCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const Cli_1 = require("../../../../cli/Cli");
19
19
  const request_1 = require("../../../../request");
@@ -31,6 +31,7 @@ class FlowRunCancelCommand extends AzmgmtCommand_1.default {
31
31
  constructor() {
32
32
  super();
33
33
  _FlowRunCancelCommand_instances.add(this);
34
+ __classPrivateFieldGet(this, _FlowRunCancelCommand_instances, "m", _FlowRunCancelCommand_initTelemetry).call(this);
34
35
  __classPrivateFieldGet(this, _FlowRunCancelCommand_instances, "m", _FlowRunCancelCommand_initOptions).call(this);
35
36
  __classPrivateFieldGet(this, _FlowRunCancelCommand_instances, "m", _FlowRunCancelCommand_initValidators).call(this);
36
37
  }
@@ -71,7 +72,13 @@ class FlowRunCancelCommand extends AzmgmtCommand_1.default {
71
72
  });
72
73
  }
73
74
  }
74
- _FlowRunCancelCommand_instances = new WeakSet(), _FlowRunCancelCommand_initOptions = function _FlowRunCancelCommand_initOptions() {
75
+ _FlowRunCancelCommand_instances = new WeakSet(), _FlowRunCancelCommand_initTelemetry = function _FlowRunCancelCommand_initTelemetry() {
76
+ this.telemetry.push((args) => {
77
+ Object.assign(this.telemetryProperties, {
78
+ confirm: !!args.options.confirm
79
+ });
80
+ });
81
+ }, _FlowRunCancelCommand_initOptions = function _FlowRunCancelCommand_initOptions() {
75
82
  this.options.unshift({
76
83
  option: '-n, --name <name>'
77
84
  }, {
@@ -42,7 +42,7 @@ class FlowRunListCommand extends AzmgmtItemsListCommand_1.AzmgmtItemsListCommand
42
42
  if (this.verbose) {
43
43
  logger.logToStderr(`Retrieving list of runs for Microsoft Flow ${args.options.flowName}...`);
44
44
  }
45
- let url = `${this.resource}providers/Microsoft.ProcessSimple/environments/${formatting_1.formatting.encodeQueryParameter(args.options.environmentName)}/flows/${formatting_1.formatting.encodeQueryParameter(args.options.flowName)}/runs?api-version=2016-11-01`;
45
+ let url = `${this.resource}providers/Microsoft.ProcessSimple/${args.options.asAdmin ? 'scopes/admin/' : ''}environments/${formatting_1.formatting.encodeQueryParameter(args.options.environmentName)}/flows/${formatting_1.formatting.encodeQueryParameter(args.options.flowName)}/runs?api-version=2016-11-01`;
46
46
  const filters = this.getFilters(args.options);
47
47
  if (filters.length > 0) {
48
48
  url += `&$filter=${filters.join(' and ')}`;
@@ -86,7 +86,8 @@ _FlowRunListCommand_instances = new WeakSet(), _FlowRunListCommand_initTelemetry
86
86
  Object.assign(this.telemetryProperties, {
87
87
  status: typeof args.options.status !== 'undefined',
88
88
  triggerStartTime: typeof args.options.triggerStartTime !== 'undefined',
89
- triggerEndTime: typeof args.options.triggerEndTime !== 'undefined'
89
+ triggerEndTime: typeof args.options.triggerEndTime !== 'undefined',
90
+ asAdmin: !!args.options.asAdmin
90
91
  });
91
92
  });
92
93
  }, _FlowRunListCommand_initOptions = function _FlowRunListCommand_initOptions() {
@@ -101,6 +102,8 @@ _FlowRunListCommand_instances = new WeakSet(), _FlowRunListCommand_initTelemetry
101
102
  option: '--triggerStartTime [triggerStartTime]'
102
103
  }, {
103
104
  option: '--triggerEndTime [triggerEndTime]'
105
+ }, {
106
+ option: '--asAdmin'
104
107
  });
105
108
  }, _FlowRunListCommand_initValidators = function _FlowRunListCommand_initValidators() {
106
109
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
@@ -11,6 +11,9 @@ exports.default = {
11
11
  EXPORT: `${prefix} export`,
12
12
  GET: `${prefix} get`,
13
13
  LIST: `${prefix} list`,
14
+ OWNER_ADD: `${prefix} owner add`,
15
+ OWNER_LIST: `${prefix} owner list`,
16
+ OWNER_REMOVE: `${prefix} owner remove`,
14
17
  REMOVE: `${prefix} remove`,
15
18
  RUN_CANCEL: `${prefix} run cancel`,
16
19
  RUN_GET: `${prefix} run get`,