@pnp/cli-microsoft365 6.3.0 → 6.4.0-beta.140530d

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 (212) hide show
  1. package/.devcontainer/Dockerfile +5 -2
  2. package/.eslintrc.js +4 -0
  3. package/Dockerfile +6 -3
  4. package/README.md +12 -1
  5. package/dist/Auth.js +1 -3
  6. package/dist/Command.js +1 -0
  7. package/dist/m365/aad/commands/user/user-get.js +3 -0
  8. package/dist/m365/aad/commands/user/user-license-remove.js +2 -1
  9. package/dist/m365/aad/commands/user/user-recyclebinitem-restore.js +2 -9
  10. package/dist/m365/aad/commands/user/user-set.js +3 -0
  11. package/dist/m365/aad/commands/user/user-signin-list.js +3 -0
  12. package/dist/m365/file/commands/file-list.js +5 -1
  13. package/dist/m365/flow/commands/flow-disable.js +9 -2
  14. package/dist/m365/flow/commands/flow-enable.js +9 -2
  15. package/dist/m365/flow/commands/flow-get.js +9 -2
  16. package/dist/m365/flow/commands/flow-list.js +1 -1
  17. package/dist/m365/flow/commands/flow-remove.js +2 -2
  18. package/dist/m365/flow/commands/owner/owner-ensure.js +147 -0
  19. package/dist/m365/flow/commands/owner/owner-list.js +89 -0
  20. package/dist/m365/flow/commands/owner/owner-remove.js +147 -0
  21. package/dist/m365/flow/commands/run/run-cancel.js +9 -2
  22. package/dist/m365/flow/commands/run/run-list.js +5 -2
  23. package/dist/m365/flow/commands.js +3 -0
  24. package/dist/m365/planner/commands/roster/roster-member-add.js +3 -0
  25. package/dist/m365/planner/commands/roster/roster-member-get.js +98 -0
  26. package/dist/m365/planner/commands.js +1 -0
  27. package/dist/m365/purview/commands/retentionevent/retentionevent-add.js +138 -0
  28. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +48 -14
  29. package/dist/m365/purview/commands.js +1 -0
  30. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.17.0-beta.1.js +59 -0
  31. package/dist/m365/spfx/commands/project/project-upgrade.js +16 -13
  32. package/dist/m365/spfx/commands/spfx-doctor.js +43 -29
  33. package/dist/m365/spo/commands/commandset/commandset-add.js +138 -0
  34. package/dist/m365/spo/commands/commandset/commandset-get.js +128 -0
  35. package/dist/m365/spo/commands/commandset/commandset-list.js +77 -0
  36. package/dist/m365/spo/commands/commandset/commandset-remove.js +146 -0
  37. package/dist/m365/spo/commands/commandset/commandset-set.js +182 -0
  38. package/dist/m365/spo/commands/customaction/customaction-get.js +27 -7
  39. package/dist/m365/spo/commands/file/file-move.js +1 -1
  40. package/dist/m365/spo/commands/group/group-member-add.js +54 -95
  41. package/dist/m365/spo/commands/list/list-add.js +11 -8
  42. package/dist/m365/spo/commands/list/list-set.js +3 -3
  43. package/dist/m365/spo/commands/navigation/navigation-node-add.js +5 -4
  44. package/dist/m365/spo/commands/navigation/navigation-node-set.js +5 -1
  45. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +118 -0
  46. package/dist/m365/spo/commands/term/term-get.js +68 -48
  47. package/dist/m365/spo/commands/user/user-ensure.js +105 -0
  48. package/dist/m365/spo/commands.js +7 -0
  49. package/dist/m365/todo/commands/task/task-add.js +35 -3
  50. package/dist/utils/aadGroup.js +18 -0
  51. package/dist/utils/aadUser.js +37 -0
  52. package/dist/utils/md.js +7 -0
  53. package/dist/utils/spo.js +32 -0
  54. package/docs/docs/cmd/aad/app/app-add.md +3 -3
  55. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.md +5 -5
  56. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.md +3 -3
  57. package/docs/docs/cmd/aad/user/user-remove.md +1 -1
  58. package/docs/docs/cmd/cli/completion/completion-clink-update.md +4 -4
  59. package/docs/docs/cmd/flow/owner/owner-ensure.md +61 -0
  60. package/docs/docs/cmd/flow/owner/owner-list.md +90 -0
  61. package/docs/docs/cmd/flow/owner/owner-remove.md +67 -0
  62. package/docs/docs/cmd/flow/run/run-list.md +28 -0
  63. package/docs/docs/cmd/onenote/page/page-list.md +1 -1
  64. package/docs/docs/cmd/outlook/mail/mail-send.md +7 -3
  65. package/docs/docs/cmd/outlook/message/message-get.md +143 -0
  66. package/docs/docs/cmd/outlook/message/message-list.md +119 -0
  67. package/docs/docs/cmd/outlook/message/message-move.md +4 -0
  68. package/docs/docs/cmd/outlook/report/report-mailactivitycounts.md +40 -0
  69. package/docs/docs/cmd/outlook/report/report-mailactivityusercounts.md +40 -0
  70. package/docs/docs/cmd/outlook/report/report-mailactivityuserdetail.md +45 -0
  71. package/docs/docs/cmd/outlook/report/report-mailappusageappsusercounts.md +43 -0
  72. package/docs/docs/cmd/outlook/report/report-mailappusageusercounts.md +44 -0
  73. package/docs/docs/cmd/outlook/report/report-mailappusageuserdetail.md +48 -0
  74. package/docs/docs/cmd/outlook/report/report-mailappusageversionsusercounts.md +41 -0
  75. package/docs/docs/cmd/outlook/report/report-mailboxusagedetail.md +49 -0
  76. package/docs/docs/cmd/outlook/report/report-mailboxusagemailboxcount.md +37 -0
  77. package/docs/docs/cmd/outlook/report/report-mailboxusagequotastatusmailboxcounts.md +40 -0
  78. package/docs/docs/cmd/outlook/report/report-mailboxusagestorage.md +36 -0
  79. package/docs/docs/cmd/outlook/room/room-list.md +81 -0
  80. package/docs/docs/cmd/outlook/roomlist/roomlist-list.md +58 -0
  81. package/docs/docs/cmd/planner/plan/plan-add.md +3 -3
  82. package/docs/docs/cmd/planner/plan/plan-set.md +73 -7
  83. package/docs/docs/cmd/planner/roster/roster-add.md +16 -1
  84. package/docs/docs/cmd/planner/roster/roster-member-get.md +87 -0
  85. package/docs/docs/cmd/planner/task/task-add.md +230 -0
  86. package/docs/docs/cmd/planner/task/task-checklistitem-add.md +55 -0
  87. package/docs/docs/cmd/planner/task/task-checklistitem-list.md +55 -0
  88. package/docs/docs/cmd/planner/task/task-checklistitem-remove.md +4 -0
  89. package/docs/docs/cmd/planner/task/task-get.md +131 -0
  90. package/docs/docs/cmd/planner/task/task-list.md +92 -0
  91. package/docs/docs/cmd/planner/task/task-reference-add.md +46 -0
  92. package/docs/docs/cmd/planner/task/task-reference-list.md +46 -0
  93. package/docs/docs/cmd/planner/task/task-reference-remove.md +4 -0
  94. package/docs/docs/cmd/planner/task/task-remove.md +4 -0
  95. package/docs/docs/cmd/planner/task/task-set.md +230 -0
  96. package/docs/docs/cmd/planner/tenant/tenant-settings-list.md +55 -0
  97. package/docs/docs/cmd/planner/tenant/tenant-settings-set.md +55 -0
  98. package/docs/docs/cmd/pp/card/card-get.md +2 -2
  99. package/docs/docs/cmd/pp/card/card-list.md +2 -2
  100. package/docs/docs/cmd/purview/retentionevent/retentionevent-add.md +149 -0
  101. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +7 -7
  102. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.md +12 -0
  103. package/docs/docs/cmd/skype/report/report-activitycounts.md +38 -0
  104. package/docs/docs/cmd/skype/report/report-activityusercounts.md +38 -0
  105. package/docs/docs/cmd/skype/report/report-activityuserdetail.md +67 -0
  106. package/docs/docs/cmd/spfx/project/project-doctor.md +3 -3
  107. package/docs/docs/cmd/spfx/project/project-externalize.md +3 -3
  108. package/docs/docs/cmd/spfx/project/project-permissions-grant.md +21 -0
  109. package/docs/docs/cmd/spfx/project/project-upgrade.md +3 -3
  110. package/docs/docs/cmd/spfx/spfx-doctor.md +3 -3
  111. package/docs/docs/cmd/spo/cdn/cdn-get.md +6 -6
  112. package/docs/docs/cmd/spo/cdn/cdn-origin-add.md +3 -3
  113. package/docs/docs/cmd/spo/cdn/cdn-origin-list.md +3 -3
  114. package/docs/docs/cmd/spo/cdn/cdn-origin-remove.md +3 -3
  115. package/docs/docs/cmd/spo/cdn/cdn-policy-list.md +3 -3
  116. package/docs/docs/cmd/spo/cdn/cdn-policy-set.md +3 -3
  117. package/docs/docs/cmd/spo/cdn/cdn-set.md +3 -3
  118. package/docs/docs/cmd/spo/commandset/commandset-add.md +159 -0
  119. package/docs/docs/cmd/spo/commandset/commandset-get.md +149 -0
  120. package/docs/docs/cmd/spo/commandset/commandset-list.md +109 -0
  121. package/docs/docs/cmd/spo/commandset/commandset-remove.md +55 -0
  122. package/docs/docs/cmd/spo/commandset/commandset-set.md +71 -0
  123. package/docs/docs/cmd/spo/customaction/customaction-get.md +113 -11
  124. package/docs/docs/cmd/spo/externaluser/externaluser-list.md +2 -0
  125. package/docs/docs/cmd/spo/group/group-member-add.md +26 -4
  126. package/docs/docs/cmd/spo/hidedefaultthemes/hidedefaultthemes-get.md +2 -0
  127. package/docs/docs/cmd/spo/hidedefaultthemes/hidedefaultthemes-set.md +2 -0
  128. package/docs/docs/cmd/spo/homesite/homesite-remove.md +2 -0
  129. package/docs/docs/cmd/spo/homesite/homesite-set.md +2 -0
  130. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-get.md +2 -0
  131. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-remove.md +2 -0
  132. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-set.md +3 -3
  133. package/docs/docs/cmd/spo/list/list-add.md +2 -2
  134. package/docs/docs/cmd/spo/list/list-set.md +2 -2
  135. package/docs/docs/cmd/spo/listitem/listitem-add.md +1 -1
  136. package/docs/docs/cmd/spo/listitem/listitem-batch-add.md +1 -1
  137. package/docs/docs/cmd/spo/listitem/listitem-set.md +1 -1
  138. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +3 -3
  139. package/docs/docs/cmd/spo/navigation/navigation-node-set.md +2 -2
  140. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.md +2 -0
  141. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.md +2 -0
  142. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-remove.md +2 -0
  143. package/docs/docs/cmd/spo/orgnewssite/orgnewssite-list.md +2 -0
  144. package/docs/docs/cmd/spo/orgnewssite/orgnewssite-remove.md +2 -0
  145. package/docs/docs/cmd/spo/orgnewssite/orgnewssite-set.md +3 -3
  146. package/docs/docs/cmd/spo/site/site-appcatalog-add.md +2 -0
  147. package/docs/docs/cmd/spo/site/site-appcatalog-remove.md +3 -3
  148. package/docs/docs/cmd/spo/site/site-commsite-enable.md +2 -0
  149. package/docs/docs/cmd/spo/site/site-list.md +3 -3
  150. package/docs/docs/cmd/spo/site/site-remove.md +3 -3
  151. package/docs/docs/cmd/spo/site/site-rename.md +3 -3
  152. package/docs/docs/cmd/spo/site/site-set.md +5 -5
  153. package/docs/docs/cmd/spo/storageentity/storageentity-remove.md +3 -3
  154. package/docs/docs/cmd/spo/storageentity/storageentity-set.md +3 -3
  155. package/docs/docs/cmd/spo/tenant/tenant-appcatalog-add.md +3 -3
  156. package/docs/docs/cmd/spo/tenant/tenant-appcatalogurl-get.md +2 -0
  157. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +3 -3
  158. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-get.md +142 -0
  159. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-list.md +2 -0
  160. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.md +3 -3
  161. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.md +3 -3
  162. package/docs/docs/cmd/spo/tenant/tenant-settings-list.md +2 -0
  163. package/docs/docs/cmd/spo/tenant/tenant-settings-set.md +28 -26
  164. package/docs/docs/cmd/spo/term/term-add.md +3 -3
  165. package/docs/docs/cmd/spo/term/term-get.md +3 -3
  166. package/docs/docs/cmd/spo/term/term-group-add.md +2 -0
  167. package/docs/docs/cmd/spo/term/term-group-get.md +2 -0
  168. package/docs/docs/cmd/spo/term/term-group-list.md +2 -0
  169. package/docs/docs/cmd/spo/term/term-list.md +3 -1
  170. package/docs/docs/cmd/spo/term/term-set-add.md +3 -3
  171. package/docs/docs/cmd/spo/term/term-set-get.md +2 -0
  172. package/docs/docs/cmd/spo/term/term-set-list.md +2 -0
  173. package/docs/docs/cmd/spo/theme/theme-apply.md +3 -3
  174. package/docs/docs/cmd/spo/theme/theme-get.md +2 -0
  175. package/docs/docs/cmd/spo/theme/theme-list.md +2 -0
  176. package/docs/docs/cmd/spo/theme/theme-remove.md +2 -0
  177. package/docs/docs/cmd/spo/theme/theme-set.md +3 -3
  178. package/docs/docs/cmd/spo/user/user-ensure.md +109 -0
  179. package/docs/docs/cmd/teams/channel/channel-get.md +1 -1
  180. package/docs/docs/cmd/teams/channel/channel-member-add.md +2 -2
  181. package/docs/docs/cmd/teams/message/message-get.md +39 -4
  182. package/docs/docs/cmd/teams/message/message-list.md +41 -6
  183. package/docs/docs/cmd/teams/message/message-reply-list.md +39 -4
  184. package/docs/docs/cmd/teams/messagingsettings/messagingsettings-list.md +20 -2
  185. package/docs/docs/cmd/teams/messagingsettings/messagingsettings-set.md +8 -8
  186. package/docs/docs/cmd/teams/report/report-deviceusagedistributionusercounts.md +12 -5
  187. package/docs/docs/cmd/teams/report/report-deviceusageusercounts.md +13 -6
  188. package/docs/docs/cmd/teams/report/report-deviceusageuserdetail.md +14 -7
  189. package/docs/docs/cmd/teams/report/report-directroutingcalls.md +13 -6
  190. package/docs/docs/cmd/teams/report/report-pstncalls.md +13 -6
  191. package/docs/docs/cmd/teams/report/report-useractivitycounts.md +13 -6
  192. package/docs/docs/cmd/teams/report/report-useractivityusercounts.md +13 -6
  193. package/docs/docs/cmd/teams/report/report-useractivityuserdetail.md +13 -6
  194. package/docs/docs/cmd/teams/tab/tab-add.md +16 -0
  195. package/docs/docs/cmd/teams/tab/tab-get.md +17 -0
  196. package/docs/docs/cmd/teams/tab/tab-list.md +19 -0
  197. package/docs/docs/cmd/teams/team/team-add.md +77 -8
  198. package/docs/docs/cmd/teams/team/team-app-list.md +18 -2
  199. package/docs/docs/cmd/teams/team/team-archive.md +2 -2
  200. package/docs/docs/cmd/teams/team/team-clone.md +8 -8
  201. package/docs/docs/cmd/teams/team/team-get.md +34 -4
  202. package/docs/docs/cmd/teams/team/team-list.md +34 -3
  203. package/docs/docs/cmd/teams/team/team-remove.md +3 -3
  204. package/docs/docs/cmd/teams/team/team-set.md +8 -8
  205. package/docs/docs/cmd/teams/team/team-unarchive.md +3 -2
  206. package/docs/docs/cmd/teams/user/user-app-add.md +3 -3
  207. package/docs/docs/cmd/teams/user/user-app-list.md +18 -2
  208. package/docs/docs/cmd/teams/user/user-app-remove.md +4 -4
  209. package/docs/docs/cmd/teams/user/user-list.md +21 -4
  210. package/docs/docs/cmd/todo/task/task-add.md +47 -2
  211. package/npm-shrinkwrap.json +279 -194
  212. package/package.json +15 -14
@@ -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_ENSURE: `${prefix} owner ensure`,
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`,
@@ -106,6 +106,9 @@ _PlannerRosterMemberAddCommand_instances = new WeakSet(), _PlannerRosterMemberAd
106
106
  if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
107
107
  return `${args.options.userId} is not a valid GUID`;
108
108
  }
109
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
110
+ return `${args.options.userName} is not a valid user principal name (UPN)`;
111
+ }
109
112
  return true;
110
113
  }));
111
114
  };
@@ -0,0 +1,98 @@
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 _PlannerRosterMemberGetCommand_instances, _PlannerRosterMemberGetCommand_initTelemetry, _PlannerRosterMemberGetCommand_initOptions, _PlannerRosterMemberGetCommand_initOptionSets, _PlannerRosterMemberGetCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const request_1 = require("../../../../request");
19
+ const validation_1 = require("../../../../utils/validation");
20
+ const GraphCommand_1 = require("../../../base/GraphCommand");
21
+ const commands_1 = require("../../commands");
22
+ const aadUser_1 = require("../../../../utils/aadUser");
23
+ class PlannerRosterMemberGetCommand extends GraphCommand_1.default {
24
+ get name() {
25
+ return commands_1.default.ROSTER_MEMBER_GET;
26
+ }
27
+ get description() {
28
+ return 'Gets a member of the specified Microsoft Planner Roster';
29
+ }
30
+ constructor() {
31
+ super();
32
+ _PlannerRosterMemberGetCommand_instances.add(this);
33
+ __classPrivateFieldGet(this, _PlannerRosterMemberGetCommand_instances, "m", _PlannerRosterMemberGetCommand_initTelemetry).call(this);
34
+ __classPrivateFieldGet(this, _PlannerRosterMemberGetCommand_instances, "m", _PlannerRosterMemberGetCommand_initOptions).call(this);
35
+ __classPrivateFieldGet(this, _PlannerRosterMemberGetCommand_instances, "m", _PlannerRosterMemberGetCommand_initValidators).call(this);
36
+ __classPrivateFieldGet(this, _PlannerRosterMemberGetCommand_instances, "m", _PlannerRosterMemberGetCommand_initOptionSets).call(this);
37
+ }
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (this.verbose) {
41
+ logger.logToStderr(`Retrieving member ${args.options.userName || args.options.userId} from the Microsoft Planner Roster`);
42
+ }
43
+ try {
44
+ const userId = yield this.getUserId(args);
45
+ const requestOptions = {
46
+ url: `${this.resource}/beta/planner/rosters/${args.options.rosterId}/members/${userId}`,
47
+ headers: {
48
+ accept: 'application/json;odata.metadata=none'
49
+ },
50
+ responseType: 'json'
51
+ };
52
+ const response = yield request_1.default.get(requestOptions);
53
+ logger.log(response);
54
+ }
55
+ catch (err) {
56
+ this.handleRejectedODataJsonPromise(err);
57
+ }
58
+ });
59
+ }
60
+ getUserId(args) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ if (args.options.userId) {
63
+ return args.options.userId;
64
+ }
65
+ return aadUser_1.aadUser.getUserIdByUpn(args.options.userName);
66
+ });
67
+ }
68
+ }
69
+ _PlannerRosterMemberGetCommand_instances = new WeakSet(), _PlannerRosterMemberGetCommand_initTelemetry = function _PlannerRosterMemberGetCommand_initTelemetry() {
70
+ this.telemetry.push((args) => {
71
+ Object.assign(this.telemetryProperties, {
72
+ userId: typeof args.options.userId !== 'undefined',
73
+ userName: typeof args.options.userName !== 'undefined'
74
+ });
75
+ });
76
+ }, _PlannerRosterMemberGetCommand_initOptions = function _PlannerRosterMemberGetCommand_initOptions() {
77
+ this.options.unshift({
78
+ option: '--rosterId <rosterId>'
79
+ }, {
80
+ option: '--userId [userId]'
81
+ }, {
82
+ option: '--userName [userName]'
83
+ });
84
+ }, _PlannerRosterMemberGetCommand_initOptionSets = function _PlannerRosterMemberGetCommand_initOptionSets() {
85
+ this.optionSets.push({ options: ['userId', 'userName'] });
86
+ }, _PlannerRosterMemberGetCommand_initValidators = function _PlannerRosterMemberGetCommand_initValidators() {
87
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
88
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
89
+ return `${args.options.userId} is not a valid GUID`;
90
+ }
91
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
92
+ return `${args.options.userName} is not a valid userName`;
93
+ }
94
+ return true;
95
+ }));
96
+ };
97
+ module.exports = new PlannerRosterMemberGetCommand();
98
+ //# sourceMappingURL=roster-member-get.js.map
@@ -15,6 +15,7 @@ exports.default = {
15
15
  ROSTER_ADD: `${prefix} roster add`,
16
16
  ROSTER_GET: `${prefix} roster get`,
17
17
  ROSTER_MEMBER_ADD: `${prefix} roster member add`,
18
+ ROSTER_MEMBER_GET: `${prefix} roster member get`,
18
19
  ROSTER_MEMBER_LIST: `${prefix} roster member list`,
19
20
  ROSTER_MEMBER_REMOVE: `${prefix} roster member remove`,
20
21
  ROSTER_REMOVE: `${prefix} roster remove`,
@@ -0,0 +1,138 @@
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 _PurviewRetentionEventAddCommand_instances, _PurviewRetentionEventAddCommand_initOptions, _PurviewRetentionEventAddCommand_initValidators, _PurviewRetentionEventAddCommand_initTelemetry, _PurviewRetentionEventAddCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const GraphCommand_1 = require("../../../base/GraphCommand");
19
+ const commands_1 = require("../../commands");
20
+ const accessToken_1 = require("../../../../utils/accessToken");
21
+ const Auth_1 = require("../../../../Auth");
22
+ const request_1 = require("../../../../request");
23
+ const validation_1 = require("../../../../utils/validation");
24
+ const odata_1 = require("../../../../utils/odata");
25
+ class PurviewRetentionEventAddCommand extends GraphCommand_1.default {
26
+ get name() {
27
+ return commands_1.default.RETENTIONEVENT_ADD;
28
+ }
29
+ get description() {
30
+ return 'Create a retention event';
31
+ }
32
+ constructor() {
33
+ super();
34
+ _PurviewRetentionEventAddCommand_instances.add(this);
35
+ __classPrivateFieldGet(this, _PurviewRetentionEventAddCommand_instances, "m", _PurviewRetentionEventAddCommand_initTelemetry).call(this);
36
+ __classPrivateFieldGet(this, _PurviewRetentionEventAddCommand_instances, "m", _PurviewRetentionEventAddCommand_initOptions).call(this);
37
+ __classPrivateFieldGet(this, _PurviewRetentionEventAddCommand_instances, "m", _PurviewRetentionEventAddCommand_initValidators).call(this);
38
+ __classPrivateFieldGet(this, _PurviewRetentionEventAddCommand_instances, "m", _PurviewRetentionEventAddCommand_initOptionSets).call(this);
39
+ }
40
+ commandAction(logger, args) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ if (accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken)) {
43
+ this.handleError('This command does not support application permissions.');
44
+ }
45
+ if (this.verbose) {
46
+ logger.logToStderr(`Creating retention event...`);
47
+ }
48
+ const eventQueries = [];
49
+ if (args.options.assetIds) {
50
+ eventQueries.push({ queryType: "files", query: args.options.assetIds });
51
+ }
52
+ if (args.options.keywords) {
53
+ eventQueries.push({ queryType: "messages", query: args.options.keywords });
54
+ }
55
+ const eventTypeId = yield this.getEventTypeId(logger, args);
56
+ const data = {
57
+ 'retentionEventType@odata.bind': `https://graph.microsoft.com/beta/security/triggerTypes/retentionEventTypes/${eventTypeId}`,
58
+ displayName: args.options.displayName,
59
+ description: args.options.description,
60
+ eventQueries: eventQueries,
61
+ eventTriggerDateTime: args.options.triggerDateTime
62
+ };
63
+ try {
64
+ const requestOptions = {
65
+ url: `${this.resource}/beta/security/triggers/retentionEvents`,
66
+ headers: {
67
+ accept: 'application/json;odata.metadata=none'
68
+ },
69
+ responseType: 'json',
70
+ data: data
71
+ };
72
+ const res = yield request_1.default.post(requestOptions);
73
+ logger.log(res);
74
+ }
75
+ catch (err) {
76
+ this.handleRejectedODataJsonPromise(err);
77
+ }
78
+ });
79
+ }
80
+ getEventTypeId(logger, args) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ if (args.options.eventTypeId) {
83
+ return args.options.eventTypeId;
84
+ }
85
+ if (this.verbose) {
86
+ logger.logToStderr(`Retrieving the event type id for event type ${args.options.eventTypeName}`);
87
+ }
88
+ const items = yield odata_1.odata.getAllItems(`${this.resource}/beta/security/triggerTypes/retentionEventTypes`);
89
+ const eventTypes = items.filter((x) => x.displayName === args.options.eventTypeName);
90
+ if (eventTypes.length === 0) {
91
+ throw `The specified event type '${args.options.eventTypeName}' does not exist.`;
92
+ }
93
+ return eventTypes[0].id;
94
+ });
95
+ }
96
+ }
97
+ _PurviewRetentionEventAddCommand_instances = new WeakSet(), _PurviewRetentionEventAddCommand_initOptions = function _PurviewRetentionEventAddCommand_initOptions() {
98
+ this.options.unshift({
99
+ option: '-n, --displayName <displayName>'
100
+ }, {
101
+ option: '-i, --eventTypeId [eventTypeId]'
102
+ }, {
103
+ option: '-e, --eventTypeName [eventTypeName]'
104
+ }, {
105
+ option: '-d, --description [description]'
106
+ }, {
107
+ option: '--triggerDateTime [triggerDateTime]'
108
+ }, {
109
+ option: '-a, --assetIds [assetIds]'
110
+ }, {
111
+ option: '-k, --keywords [keywords]'
112
+ });
113
+ }, _PurviewRetentionEventAddCommand_initValidators = function _PurviewRetentionEventAddCommand_initValidators() {
114
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
115
+ if (args.options.triggerDateTime && !validation_1.validation.isValidISODateTime(args.options.triggerDateTime)) {
116
+ return 'The triggerDateTime is not a valid ISO date string';
117
+ }
118
+ if (!args.options.assetIds && !args.options.keywords) {
119
+ return 'Specify assetIds and/or keywords, but at least one.';
120
+ }
121
+ return true;
122
+ }));
123
+ }, _PurviewRetentionEventAddCommand_initTelemetry = function _PurviewRetentionEventAddCommand_initTelemetry() {
124
+ this.telemetry.push((args) => {
125
+ Object.assign(this.telemetryProperties, {
126
+ description: typeof args.options.description !== 'undefined',
127
+ triggerDateTime: typeof args.options.triggerDateTime !== 'undefined',
128
+ eventTypeId: typeof args.options.eventTypeId !== 'undefined',
129
+ eventTypeName: typeof args.options.eventTypeName !== 'undefined',
130
+ assetIds: typeof args.options.assetIds !== 'undefined',
131
+ keywords: typeof args.options.keywords !== 'undefined'
132
+ });
133
+ });
134
+ }, _PurviewRetentionEventAddCommand_initOptionSets = function _PurviewRetentionEventAddCommand_initOptionSets() {
135
+ this.optionSets.push({ options: ['eventTypeId', 'eventTypeName'] });
136
+ };
137
+ module.exports = new PurviewRetentionEventAddCommand();
138
+ //# sourceMappingURL=retentionevent-add.js.map
@@ -13,13 +13,14 @@ 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 _PurviewRetentionLabelAddCommand_instances, _PurviewRetentionLabelAddCommand_initTelemetry, _PurviewRetentionLabelAddCommand_initOptions, _PurviewRetentionLabelAddCommand_initValidators;
16
+ var _PurviewRetentionLabelAddCommand_instances, _PurviewRetentionLabelAddCommand_initTelemetry, _PurviewRetentionLabelAddCommand_initOptions, _PurviewRetentionLabelAddCommand_initValidators, _PurviewRetentionLabelAddCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const Auth_1 = require("../../../../Auth");
19
19
  const request_1 = require("../../../../request");
20
20
  const accessToken_1 = require("../../../../utils/accessToken");
21
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
22
22
  const commands_1 = require("../../commands");
23
+ const odata_1 = require("../../../../utils/odata");
23
24
  class PurviewRetentionLabelAddCommand extends GraphCommand_1.default {
24
25
  get name() {
25
26
  return commands_1.default.RETENTIONLABEL_ADD;
@@ -33,6 +34,7 @@ class PurviewRetentionLabelAddCommand extends GraphCommand_1.default {
33
34
  __classPrivateFieldGet(this, _PurviewRetentionLabelAddCommand_instances, "m", _PurviewRetentionLabelAddCommand_initTelemetry).call(this);
34
35
  __classPrivateFieldGet(this, _PurviewRetentionLabelAddCommand_instances, "m", _PurviewRetentionLabelAddCommand_initOptions).call(this);
35
36
  __classPrivateFieldGet(this, _PurviewRetentionLabelAddCommand_instances, "m", _PurviewRetentionLabelAddCommand_initValidators).call(this);
37
+ __classPrivateFieldGet(this, _PurviewRetentionLabelAddCommand_instances, "m", _PurviewRetentionLabelAddCommand_initOptionSets).call(this);
36
38
  }
37
39
  commandAction(logger, args) {
38
40
  return __awaiter(this, void 0, void 0, function* () {
@@ -52,6 +54,10 @@ class PurviewRetentionLabelAddCommand extends GraphCommand_1.default {
52
54
  },
53
55
  defaultRecordBehavior: defaultRecordBehavior
54
56
  };
57
+ if (args.options.retentionTrigger === 'dateOfEvent') {
58
+ const eventTypeId = yield this.getEventTypeId(args, logger);
59
+ requestBody['retentionEventType@odata.bind'] = `https://graph.microsoft.com/beta/security/triggerTypes/retentionEventTypes/${eventTypeId}`;
60
+ }
55
61
  if (args.options.descriptionForAdmins) {
56
62
  if (this.verbose) {
57
63
  logger.logToStderr(`Using '${args.options.descriptionForAdmins}' as descriptionForAdmins`);
@@ -87,6 +93,22 @@ class PurviewRetentionLabelAddCommand extends GraphCommand_1.default {
87
93
  }
88
94
  });
89
95
  }
96
+ getEventTypeId(args, logger) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ if (args.options.eventTypeId) {
99
+ return args.options.eventTypeId;
100
+ }
101
+ if (this.verbose) {
102
+ logger.logToStderr(`Retrieving the event type id for event type ${args.options.eventTypeName}`);
103
+ }
104
+ const eventTypes = yield odata_1.odata.getAllItems(`${this.resource}/beta/security/triggerTypes/retentionEventTypes`);
105
+ const filteredEventTypes = eventTypes.filter((eventType) => eventType.displayName === args.options.eventTypeName);
106
+ if (filteredEventTypes.length === 0) {
107
+ throw `The specified retention event type '${args.options.eventTypeName}' does not exist.`;
108
+ }
109
+ return filteredEventTypes[0].id;
110
+ });
111
+ }
90
112
  }
91
113
  _PurviewRetentionLabelAddCommand_instances = new WeakSet(), _PurviewRetentionLabelAddCommand_initTelemetry = function _PurviewRetentionLabelAddCommand_initTelemetry() {
92
114
  this.telemetry.push((args) => {
@@ -95,7 +117,9 @@ _PurviewRetentionLabelAddCommand_instances = new WeakSet(), _PurviewRetentionLab
95
117
  defaultRecordBehavior: typeof args.options.defaultRecordBehavior !== 'undefined',
96
118
  descriptionForUsers: typeof args.options.descriptionForUsers !== 'undefined',
97
119
  descriptionForAdmins: typeof args.options.descriptionForAdmins !== 'undefined',
98
- labelToBeApplied: typeof args.options.labelToBeApplied !== 'undefined'
120
+ labelToBeApplied: typeof args.options.labelToBeApplied !== 'undefined',
121
+ eventTypeId: typeof args.options.eventTypeId !== 'undefined',
122
+ eventTypeName: typeof args.options.eventTypeName !== 'undefined'
99
123
  });
100
124
  });
101
125
  }, _PurviewRetentionLabelAddCommand_initOptions = function _PurviewRetentionLabelAddCommand_initOptions() {
@@ -103,46 +127,56 @@ _PurviewRetentionLabelAddCommand_instances = new WeakSet(), _PurviewRetentionLab
103
127
  option: '-n, --displayName <displayName>'
104
128
  }, {
105
129
  option: '--behaviorDuringRetentionPeriod <behaviorDuringRetentionPeriod>',
106
- autocomplete: ['doNotRetain', 'retain', 'retainAsRecord', 'retainAsRegulatoryRecord']
130
+ autocomplete: PurviewRetentionLabelAddCommand.behaviorDuringRetentionPeriods
107
131
  }, {
108
132
  option: '--actionAfterRetentionPeriod <actionAfterRetentionPeriod>',
109
- autocomplete: ['none', 'delete', 'startDispositionReview']
133
+ autocomplete: PurviewRetentionLabelAddCommand.actionAfterRetentionPeriods
110
134
  }, {
111
135
  option: '--retentionDuration <retentionDuration>'
112
136
  }, {
113
137
  option: '-t, --retentionTrigger [retentionTrigger]',
114
- autocomplete: ['dateLabeled', 'dateCreated', 'dateModified', 'dateOfEvent']
138
+ autocomplete: PurviewRetentionLabelAddCommand.retentionTriggers
115
139
  }, {
116
140
  option: '--defaultRecordBehavior [defaultRecordBehavior]',
117
- autocomplete: ['startLocked', 'startUnlocked']
141
+ autocomplete: PurviewRetentionLabelAddCommand.defaultRecordBehavior
118
142
  }, {
119
143
  option: '--descriptionForUsers [descriptionForUsers]'
120
144
  }, {
121
145
  option: '--descriptionForAdmins [descriptionForAdmins]'
122
146
  }, {
123
147
  option: '--labelToBeApplied [labelToBeApplied]'
148
+ }, {
149
+ option: '--eventTypeId [eventTypeId]'
150
+ }, {
151
+ option: '--eventTypeName [eventTypeName]'
124
152
  });
125
153
  }, _PurviewRetentionLabelAddCommand_initValidators = function _PurviewRetentionLabelAddCommand_initValidators() {
126
154
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
127
155
  if (isNaN(args.options.retentionDuration)) {
128
156
  return `Specified retentionDuration ${args.options.retentionDuration} is not a number`;
129
157
  }
130
- if (['doNotRetain', 'retain', 'retainAsRecord', 'retainAsRegulatoryRecord'].indexOf(args.options.behaviorDuringRetentionPeriod) === -1) {
131
- return `${args.options.behaviorDuringRetentionPeriod} is not a valid behavior of a document with the label. Allowed values are doNotRetain|retain|retainAsRecord|retainAsRegulatoryRecord`;
158
+ if (PurviewRetentionLabelAddCommand.behaviorDuringRetentionPeriods.indexOf(args.options.behaviorDuringRetentionPeriod) === -1) {
159
+ return `${args.options.behaviorDuringRetentionPeriod} is not a valid behavior of a document with the label. Allowed values are ${PurviewRetentionLabelAddCommand.behaviorDuringRetentionPeriods.join(', ')}`;
132
160
  }
133
- if (['none', 'delete', 'startDispositionReview'].indexOf(args.options.actionAfterRetentionPeriod) === -1) {
134
- return `${args.options.actionAfterRetentionPeriod} is not a valid action to take on a document with the label. Allowed values are none|delete|startDispositionReview`;
161
+ if (PurviewRetentionLabelAddCommand.actionAfterRetentionPeriods.indexOf(args.options.actionAfterRetentionPeriod) === -1) {
162
+ return `${args.options.actionAfterRetentionPeriod} is not a valid action to take on a document with the label. Allowed values are ${PurviewRetentionLabelAddCommand.actionAfterRetentionPeriods.join(', ')}`;
135
163
  }
136
164
  if (args.options.retentionTrigger &&
137
- ['dateLabeled', 'dateCreated', 'dateModified', 'dateOfEvent'].indexOf(args.options.retentionTrigger) === -1) {
138
- return `${args.options.retentionTrigger} is not a valid action retention duration calculation. Allowed values are dateLabeled|dateCreated|dateModified|dateOfEvent`;
165
+ PurviewRetentionLabelAddCommand.retentionTriggers.indexOf(args.options.retentionTrigger) === -1) {
166
+ return `${args.options.retentionTrigger} is not a valid action retention duration calculation. Allowed values are ${PurviewRetentionLabelAddCommand.retentionTriggers.join(', ')}`;
139
167
  }
140
168
  if (args.options.defaultRecordBehavior &&
141
- ['startLocked', 'startUnlocked'].indexOf(args.options.defaultRecordBehavior) === -1) {
142
- return `${args.options.defaultRecordBehavior} is not a valid state of a record label. Allowed values are startLocked|startUnlocked`;
169
+ PurviewRetentionLabelAddCommand.defaultRecordBehavior.indexOf(args.options.defaultRecordBehavior) === -1) {
170
+ return `${args.options.defaultRecordBehavior} is not a valid state of a record label. Allowed values are ${PurviewRetentionLabelAddCommand.defaultRecordBehavior.join(', ')}`;
143
171
  }
144
172
  return true;
145
173
  }));
174
+ }, _PurviewRetentionLabelAddCommand_initOptionSets = function _PurviewRetentionLabelAddCommand_initOptionSets() {
175
+ this.optionSets.push({ options: ['eventTypeId', 'eventTypeName'], runsWhen(args) { return args.options.retentionTrigger === 'dateOfEvent'; } });
146
176
  };
177
+ PurviewRetentionLabelAddCommand.behaviorDuringRetentionPeriods = ['doNotRetain', 'retain', 'retainAsRecord', 'retainAsRegulatoryRecord'];
178
+ PurviewRetentionLabelAddCommand.actionAfterRetentionPeriods = ['none', 'delete', 'startDispositionReview'];
179
+ PurviewRetentionLabelAddCommand.retentionTriggers = ['dateLabeled', 'dateCreated', 'dateModified', 'dateOfEvent'];
180
+ PurviewRetentionLabelAddCommand.defaultRecordBehavior = ['startLocked', 'startUnlocked'];
147
181
  module.exports = new PurviewRetentionLabelAddCommand();
148
182
  //# sourceMappingURL=retentionlabel-add.js.map
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const prefix = 'purview';
4
4
  exports.default = {
5
5
  AUDITLOG_LIST: `${prefix} auditlog list`,
6
+ RETENTIONEVENT_ADD: `${prefix} retentionevent add`,
6
7
  RETENTIONEVENT_GET: `${prefix} retentionevent get`,
7
8
  RETENTIONEVENT_LIST: `${prefix} retentionevent list`,
8
9
  RETENTIONEVENT_REMOVE: `${prefix} retentionevent remove`,