@pnp/cli-microsoft365 6.3.0-beta.c3dc921 → 6.3.0-beta.e0fa4e0

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 (188) hide show
  1. package/.eslintrc.js +8 -0
  2. package/dist/Auth.js +0 -18
  3. package/dist/Command.js +12 -1
  4. package/dist/cli/Cli.js +42 -1
  5. package/dist/m365/aad/commands/group/group-list.js +2 -1
  6. package/dist/m365/aad/commands/user/user-recyclebinitem-clear.js +103 -0
  7. package/dist/m365/aad/commands/user/user-recyclebinitem-remove.js +92 -0
  8. package/dist/m365/aad/commands.js +2 -0
  9. package/dist/m365/base/O365MgmtCommand.js +10 -0
  10. package/dist/m365/context/commands/option/option-list.js +54 -0
  11. package/dist/m365/context/commands.js +1 -0
  12. package/dist/m365/file/commands/convert/convert-pdf.js +7 -6
  13. package/dist/m365/flow/commands/run/run-list.js +55 -3
  14. package/dist/m365/graph/commands/changelog/changelog-list.js +3 -2
  15. package/dist/m365/onenote/commands/notebook/notebook-list.js +50 -53
  16. package/dist/m365/onenote/commands/page/page-list.js +2 -16
  17. package/dist/m365/outlook/commands/mail/mail-send.js +3 -2
  18. package/dist/m365/outlook/commands/message/message-get.js +4 -3
  19. package/dist/m365/pa/commands/environment/environment-get.js +13 -5
  20. package/dist/m365/planner/commands/plan/plan-add.js +20 -6
  21. package/dist/m365/planner/commands/plan/plan-get.js +40 -26
  22. package/dist/m365/planner/commands/plan/plan-list.js +24 -14
  23. package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
  24. package/dist/m365/planner/commands/plan/plan-set.js +21 -10
  25. package/dist/m365/planner/commands/roster/roster-add.js +47 -0
  26. package/dist/m365/planner/commands/roster/roster-get.js +61 -0
  27. package/dist/m365/planner/commands/roster/roster-member-add.js +113 -0
  28. package/dist/m365/planner/commands/roster/roster-member-list.js +54 -0
  29. package/dist/m365/planner/commands/roster/roster-member-remove.js +140 -0
  30. package/dist/m365/planner/commands/roster/roster-remove.js +88 -0
  31. package/dist/m365/planner/commands/task/task-add.js +3 -0
  32. package/dist/m365/planner/commands/task/task-checklistitem-add.js +2 -1
  33. package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
  34. package/dist/m365/planner/commands.js +6 -0
  35. package/dist/m365/pp/commands/environment/environment-get.js +18 -9
  36. package/dist/m365/pp/commands/solution/solution-get.js +2 -1
  37. package/dist/m365/pp/commands/solution/solution-list.js +2 -1
  38. package/dist/m365/purview/commands/auditlog/auditlog-list.js +205 -0
  39. package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +75 -0
  40. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +46 -0
  41. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +97 -0
  42. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +77 -0
  43. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +75 -0
  44. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +43 -0
  45. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +97 -0
  46. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +90 -0
  47. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +5 -0
  48. package/dist/m365/purview/commands/retentionlabel/retentionlabel-get.js +5 -0
  49. package/dist/m365/purview/commands/retentionlabel/retentionlabel-list.js +5 -0
  50. package/dist/m365/purview/commands/retentionlabel/retentionlabel-remove.js +5 -0
  51. package/dist/m365/purview/commands/retentionlabel/retentionlabel-set.js +11 -1
  52. package/dist/m365/purview/commands.js +9 -0
  53. package/dist/m365/spfx/commands/project/WebApiPermissionRequests.js +3 -0
  54. package/dist/m365/spfx/commands/project/project-permissions-grant.js +81 -0
  55. package/dist/m365/spfx/commands.js +3 -2
  56. package/dist/m365/spo/commands/app/app-add.js +2 -1
  57. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +95 -0
  58. package/dist/m365/spo/commands/customaction/customaction-get.js +17 -66
  59. package/dist/m365/spo/commands/customaction/customaction-list.js +2 -36
  60. package/dist/m365/spo/commands/customaction/customaction-remove.js +11 -18
  61. package/dist/m365/spo/commands/file/GraphFileDetails.js +0 -1
  62. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +2 -1
  63. package/dist/m365/spo/commands/file/file-sharinglink-add.js +2 -22
  64. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +137 -0
  65. package/dist/m365/spo/commands/file/file-sharinglink-get.js +2 -25
  66. package/dist/m365/spo/commands/file/file-sharinglink-list.js +9 -29
  67. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -25
  68. package/dist/m365/spo/commands/file/file-sharinglink-set.js +104 -0
  69. package/dist/m365/spo/commands/group/group-list.js +2 -1
  70. package/dist/m365/spo/commands/hubsite/hubsite-get.js +1 -1
  71. package/dist/m365/spo/commands/listitem/listitem-add.js +2 -1
  72. package/dist/m365/spo/commands/listitem/listitem-list.js +2 -1
  73. package/dist/m365/spo/commands/navigation/navigation-node-add.js +17 -3
  74. package/dist/m365/spo/commands/navigation/navigation-node-get.js +73 -0
  75. package/dist/m365/spo/commands/navigation/navigation-node-list.js +4 -7
  76. package/dist/m365/spo/commands/navigation/navigation-node-set.js +118 -0
  77. package/dist/m365/spo/commands/page/page-column-get.js +2 -1
  78. package/dist/m365/spo/commands/page/page-column-list.js +2 -1
  79. package/dist/m365/spo/commands/page/page-section-get.js +2 -1
  80. package/dist/m365/spo/commands/page/page-section-list.js +2 -1
  81. package/dist/m365/spo/commands/site/site-apppermission-add.js +2 -14
  82. package/dist/m365/spo/commands/site/site-apppermission-get.js +2 -14
  83. package/dist/m365/spo/commands/site/site-apppermission-list.js +2 -14
  84. package/dist/m365/spo/commands/site/site-apppermission-remove.js +2 -14
  85. package/dist/m365/spo/commands/site/site-apppermission-set.js +2 -14
  86. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +6 -0
  87. package/dist/m365/spo/commands/spo-search.js +2 -1
  88. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +179 -0
  89. package/dist/m365/spo/commands/term/term-list.js +2 -1
  90. package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -2
  91. package/dist/m365/spo/commands/web/web-set.js +11 -4
  92. package/dist/m365/spo/commands.js +6 -0
  93. package/dist/m365/teams/commands/chat/chat-list.js +4 -4
  94. package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +5 -5
  95. package/dist/m365/teams/commands/meeting/meeting-get.js +5 -5
  96. package/dist/m365/teams/commands/meeting/meeting-list.js +5 -4
  97. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  98. package/dist/m365/teams/commands/user/user-app-list.js +2 -1
  99. package/dist/m365/todo/commands/task/task-get.js +2 -1
  100. package/dist/m365/todo/commands/task/task-list.js +2 -1
  101. package/dist/m365/yammer/commands/yammer-search.js +2 -1
  102. package/dist/utils/aadUser.js +38 -0
  103. package/dist/utils/accessToken.js +1 -1
  104. package/dist/utils/planner.js +16 -5
  105. package/dist/utils/spo.js +116 -0
  106. package/docs/docs/cmd/aad/app/app-list.md +3 -0
  107. package/docs/docs/cmd/aad/user/user-recyclebinitem-clear.md +42 -0
  108. package/docs/docs/cmd/aad/user/user-recyclebinitem-remove.md +45 -0
  109. package/docs/docs/cmd/aad/user/user-set.md +1 -1
  110. package/docs/docs/cmd/context/option/option-list.md +63 -0
  111. package/docs/docs/cmd/flow/run/run-list.md +21 -0
  112. package/docs/docs/cmd/login.md +26 -0
  113. package/docs/docs/cmd/logout.md +4 -0
  114. package/docs/docs/cmd/pa/app/app-get.md +24 -0
  115. package/docs/docs/cmd/pa/app/app-list.md +21 -0
  116. package/docs/docs/cmd/pa/connector/connector-list.md +17 -0
  117. package/docs/docs/cmd/pa/environment/environment-get.md +26 -2
  118. package/docs/docs/cmd/pa/environment/environment-list.md +19 -0
  119. package/docs/docs/cmd/planner/plan/plan-add.md +17 -6
  120. package/docs/docs/cmd/planner/plan/plan-get.md +21 -7
  121. package/docs/docs/cmd/planner/plan/plan-list.md +16 -2
  122. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  123. package/docs/docs/cmd/planner/plan/plan-set.md +10 -4
  124. package/docs/docs/cmd/planner/roster/roster-add.md +60 -0
  125. package/docs/docs/cmd/planner/roster/roster-get.md +73 -0
  126. package/docs/docs/cmd/planner/roster/roster-member-add.md +87 -0
  127. package/docs/docs/cmd/planner/roster/roster-member-list.md +76 -0
  128. package/docs/docs/cmd/planner/roster/roster-member-remove.md +51 -0
  129. package/docs/docs/cmd/planner/roster/roster-remove.md +48 -0
  130. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.md +43 -0
  131. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.md +43 -0
  132. package/docs/docs/cmd/pp/card/card-clone.md +12 -0
  133. package/docs/docs/cmd/pp/card/card-get.md +49 -0
  134. package/docs/docs/cmd/pp/card/card-list.md +49 -0
  135. package/docs/docs/cmd/pp/chatbot/chatbot-get.md +55 -0
  136. package/docs/docs/cmd/pp/chatbot/chatbot-list.md +36 -0
  137. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +30 -0
  138. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +30 -0
  139. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.md +30 -0
  140. package/docs/docs/cmd/pp/environment/environment-get.md +19 -0
  141. package/docs/docs/cmd/pp/environment/environment-list.md +19 -0
  142. package/docs/docs/cmd/pp/gateway/gateway-get.md +19 -0
  143. package/docs/docs/cmd/pp/gateway/gateway-list.md +19 -0
  144. package/docs/docs/cmd/pp/managementapp/managementapp-add.md +12 -0
  145. package/docs/docs/cmd/pp/managementapp/managementapp-list.md +12 -0
  146. package/docs/docs/cmd/pp/solution/solution-get.md +14 -0
  147. package/docs/docs/cmd/pp/solution/solution-list.md +14 -0
  148. package/docs/docs/cmd/pp/solution/solution-publisher-get.md +20 -1
  149. package/docs/docs/cmd/pp/solution/solution-publisher-list.md +18 -0
  150. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +21 -0
  151. package/docs/docs/cmd/purview/auditlog/auditlog-list.md +123 -0
  152. package/docs/docs/cmd/purview/retentionevent/retentionevent-get.md +132 -0
  153. package/docs/docs/cmd/purview/retentionevent/retentionevent-list.md +107 -0
  154. package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.md +45 -0
  155. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +106 -0
  156. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +103 -0
  157. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.md +97 -0
  158. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.md +43 -0
  159. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.md +43 -0
  160. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.md +3 -0
  161. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-get.md +3 -0
  162. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-list.md +3 -0
  163. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-remove.md +3 -0
  164. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.md +3 -0
  165. package/docs/docs/cmd/request.md +74 -0
  166. package/docs/docs/cmd/spfx/project/project-permissions-grant.md +65 -0
  167. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +56 -0
  168. package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +46 -0
  169. package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
  170. package/docs/docs/cmd/spo/file/file-sharinglink-set.md +104 -0
  171. package/docs/docs/cmd/spo/list/list-contenttype-add.md +1 -1
  172. package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +1 -1
  173. package/docs/docs/cmd/spo/list/list-contenttype-list.md +1 -1
  174. package/docs/docs/cmd/spo/list/list-contenttype-remove.md +1 -1
  175. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +2 -2
  176. package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +2 -2
  177. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +18 -3
  178. package/docs/docs/cmd/spo/navigation/navigation-node-get.md +91 -0
  179. package/docs/docs/cmd/spo/navigation/navigation-node-list.md +30 -0
  180. package/docs/docs/cmd/spo/navigation/navigation-node-remove.md +1 -1
  181. package/docs/docs/cmd/spo/navigation/navigation-node-set.md +59 -0
  182. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.md +3 -0
  183. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +59 -0
  184. package/docs/docs/cmd/spo/web/web-set.md +9 -0
  185. package/docs/docs/cmd/status.md +46 -0
  186. package/docs/docs/cmd/version.md +26 -0
  187. package/npm-shrinkwrap.json +911 -876
  188. package/package.json +12 -12
@@ -0,0 +1,97 @@
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 _PurviewRetentionEventTypeRemoveCommand_instances, _PurviewRetentionEventTypeRemoveCommand_initTelemetry, _PurviewRetentionEventTypeRemoveCommand_initOptions, _PurviewRetentionEventTypeRemoveCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
19
+ const Cli_1 = require("../../../../cli/Cli");
20
+ const validation_1 = require("../../../../utils/validation");
21
+ const request_1 = require("../../../../request");
22
+ const GraphCommand_1 = require("../../../base/GraphCommand");
23
+ const commands_1 = require("../../commands");
24
+ const accessToken_1 = require("../../../../utils/accessToken");
25
+ class PurviewRetentionEventTypeRemoveCommand extends GraphCommand_1.default {
26
+ get name() {
27
+ return commands_1.default.RETENTIONEVENTTYPE_REMOVE;
28
+ }
29
+ get description() {
30
+ return 'Delete a retention event type';
31
+ }
32
+ constructor() {
33
+ super();
34
+ _PurviewRetentionEventTypeRemoveCommand_instances.add(this);
35
+ __classPrivateFieldGet(this, _PurviewRetentionEventTypeRemoveCommand_instances, "m", _PurviewRetentionEventTypeRemoveCommand_initTelemetry).call(this);
36
+ __classPrivateFieldGet(this, _PurviewRetentionEventTypeRemoveCommand_instances, "m", _PurviewRetentionEventTypeRemoveCommand_initOptions).call(this);
37
+ __classPrivateFieldGet(this, _PurviewRetentionEventTypeRemoveCommand_instances, "m", _PurviewRetentionEventTypeRemoveCommand_initValidators).call(this);
38
+ }
39
+ commandAction(logger, args) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ if (accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken)) {
42
+ this.handleError('This command does not support application permissions.');
43
+ }
44
+ const removeRetentionEventType = () => __awaiter(this, void 0, void 0, function* () {
45
+ try {
46
+ const requestOptions = {
47
+ url: `${this.resource}/beta/security/triggerTypes/retentionEventTypes/${args.options.id}`,
48
+ headers: {
49
+ accept: 'application/json;odata.metadata=none'
50
+ },
51
+ responseType: 'json'
52
+ };
53
+ yield request_1.default.delete(requestOptions);
54
+ }
55
+ catch (err) {
56
+ this.handleRejectedODataJsonPromise(err);
57
+ }
58
+ });
59
+ if (args.options.confirm) {
60
+ yield removeRetentionEventType();
61
+ }
62
+ else {
63
+ const result = yield Cli_1.Cli.prompt({
64
+ type: 'confirm',
65
+ name: 'continue',
66
+ default: false,
67
+ message: `Are you sure you want to remove the retention event type with id ${args.options.id}?`
68
+ });
69
+ if (result.continue) {
70
+ yield removeRetentionEventType();
71
+ }
72
+ }
73
+ });
74
+ }
75
+ }
76
+ _PurviewRetentionEventTypeRemoveCommand_instances = new WeakSet(), _PurviewRetentionEventTypeRemoveCommand_initTelemetry = function _PurviewRetentionEventTypeRemoveCommand_initTelemetry() {
77
+ this.telemetry.push((args) => {
78
+ Object.assign(this.telemetryProperties, {
79
+ confirm: !!args.options.confirm
80
+ });
81
+ });
82
+ }, _PurviewRetentionEventTypeRemoveCommand_initOptions = function _PurviewRetentionEventTypeRemoveCommand_initOptions() {
83
+ this.options.unshift({
84
+ option: '-i, --id <id>'
85
+ }, {
86
+ option: '--confirm'
87
+ });
88
+ }, _PurviewRetentionEventTypeRemoveCommand_initValidators = function _PurviewRetentionEventTypeRemoveCommand_initValidators() {
89
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
90
+ if (!validation_1.validation.isValidGuid(args.options.id)) {
91
+ return `'${args.options.id}' is not a valid GUID.`;
92
+ }
93
+ return true;
94
+ }));
95
+ };
96
+ module.exports = new PurviewRetentionEventTypeRemoveCommand();
97
+ //# sourceMappingURL=retentioneventtype-remove.js.map
@@ -0,0 +1,90 @@
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 _PurviewRetentionEventTypeSetCommand_instances, _PurviewRetentionEventTypeSetCommand_initTelemetry, _PurviewRetentionEventTypeSetCommand_initOptions, _PurviewRetentionEventTypeSetCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
19
+ const validation_1 = require("../../../../utils/validation");
20
+ const request_1 = require("../../../../request");
21
+ const GraphCommand_1 = require("../../../base/GraphCommand");
22
+ const commands_1 = require("../../commands");
23
+ const accessToken_1 = require("../../../../utils/accessToken");
24
+ class PurviewRetentionEventTypeSetCommand extends GraphCommand_1.default {
25
+ get name() {
26
+ return commands_1.default.RETENTIONEVENTTYPE_SET;
27
+ }
28
+ get description() {
29
+ return 'Update a retention event type';
30
+ }
31
+ constructor() {
32
+ super();
33
+ _PurviewRetentionEventTypeSetCommand_instances.add(this);
34
+ __classPrivateFieldGet(this, _PurviewRetentionEventTypeSetCommand_instances, "m", _PurviewRetentionEventTypeSetCommand_initTelemetry).call(this);
35
+ __classPrivateFieldGet(this, _PurviewRetentionEventTypeSetCommand_instances, "m", _PurviewRetentionEventTypeSetCommand_initOptions).call(this);
36
+ __classPrivateFieldGet(this, _PurviewRetentionEventTypeSetCommand_instances, "m", _PurviewRetentionEventTypeSetCommand_initValidators).call(this);
37
+ }
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken)) {
41
+ this.handleError('This command does not support application permissions.');
42
+ }
43
+ if (this.verbose) {
44
+ logger.log(`Updating retention event type with id ${args.options.id}`);
45
+ }
46
+ try {
47
+ const requestBody = {
48
+ description: args.options.description
49
+ };
50
+ const requestOptions = {
51
+ url: `${this.resource}/beta/security/triggerTypes/retentionEventTypes/${args.options.id}`,
52
+ headers: {
53
+ accept: 'application/json'
54
+ },
55
+ responseType: 'json',
56
+ data: requestBody
57
+ };
58
+ yield request_1.default.patch(requestOptions);
59
+ }
60
+ catch (err) {
61
+ this.handleRejectedODataJsonPromise(err);
62
+ }
63
+ });
64
+ }
65
+ }
66
+ _PurviewRetentionEventTypeSetCommand_instances = new WeakSet(), _PurviewRetentionEventTypeSetCommand_initTelemetry = function _PurviewRetentionEventTypeSetCommand_initTelemetry() {
67
+ this.telemetry.push((args) => {
68
+ Object.assign(this.telemetryProperties, {
69
+ description: typeof args.options.description !== 'undefined'
70
+ });
71
+ });
72
+ }, _PurviewRetentionEventTypeSetCommand_initOptions = function _PurviewRetentionEventTypeSetCommand_initOptions() {
73
+ this.options.unshift({
74
+ option: '-i, --id <id>'
75
+ }, {
76
+ option: '-d, --description [description]'
77
+ });
78
+ }, _PurviewRetentionEventTypeSetCommand_initValidators = function _PurviewRetentionEventTypeSetCommand_initValidators() {
79
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
80
+ if (!validation_1.validation.isValidGuid(args.options.id)) {
81
+ return `'${args.options.id}' is not a valid GUID.`;
82
+ }
83
+ if (!args.options.description) {
84
+ return 'Specify at least one option to update.';
85
+ }
86
+ return true;
87
+ }));
88
+ };
89
+ module.exports = new PurviewRetentionEventTypeSetCommand();
90
+ //# sourceMappingURL=retentioneventtype-set.js.map
@@ -15,7 +15,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _PurviewRetentionLabelAddCommand_instances, _PurviewRetentionLabelAddCommand_initTelemetry, _PurviewRetentionLabelAddCommand_initOptions, _PurviewRetentionLabelAddCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
18
19
  const request_1 = require("../../../../request");
20
+ const accessToken_1 = require("../../../../utils/accessToken");
19
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
20
22
  const commands_1 = require("../../commands");
21
23
  class PurviewRetentionLabelAddCommand extends GraphCommand_1.default {
@@ -34,6 +36,9 @@ class PurviewRetentionLabelAddCommand extends GraphCommand_1.default {
34
36
  }
35
37
  commandAction(logger, args) {
36
38
  return __awaiter(this, void 0, void 0, function* () {
39
+ if (accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken)) {
40
+ this.handleError('This command does not support application permissions.');
41
+ }
37
42
  const retentionTrigger = args.options.retentionTrigger ? args.options.retentionTrigger : 'dateLabeled';
38
43
  const defaultRecordBehavior = args.options.defaultRecordBehavior ? args.options.defaultRecordBehavior : 'startLocked';
39
44
  const requestBody = {
@@ -15,10 +15,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _PurviewRetentionLabelGetCommand_instances, _PurviewRetentionLabelGetCommand_initOptions, _PurviewRetentionLabelGetCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
18
19
  const GraphCommand_1 = require("../../../base/GraphCommand");
19
20
  const commands_1 = require("../../commands");
20
21
  const request_1 = require("../../../../request");
21
22
  const validation_1 = require("../../../../utils/validation");
23
+ const accessToken_1 = require("../../../../utils/accessToken");
22
24
  class PurviewRetentionLabelGetCommand extends GraphCommand_1.default {
23
25
  get name() {
24
26
  return commands_1.default.RETENTIONLABEL_GET;
@@ -34,6 +36,9 @@ class PurviewRetentionLabelGetCommand extends GraphCommand_1.default {
34
36
  }
35
37
  commandAction(logger, args) {
36
38
  return __awaiter(this, void 0, void 0, function* () {
39
+ if (accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken)) {
40
+ this.handleError('This command does not support application permissions.');
41
+ }
37
42
  try {
38
43
  if (this.verbose) {
39
44
  logger.logToStderr(`Retrieving retention label with id ${args.options.id}`);
@@ -9,6 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ const Auth_1 = require("../../../../Auth");
13
+ const accessToken_1 = require("../../../../utils/accessToken");
12
14
  const odata_1 = require("../../../../utils/odata");
13
15
  const GraphCommand_1 = require("../../../base/GraphCommand");
14
16
  const commands_1 = require("../../commands");
@@ -24,6 +26,9 @@ class PurviewRetentionLabelListCommand extends GraphCommand_1.default {
24
26
  }
25
27
  commandAction(logger) {
26
28
  return __awaiter(this, void 0, void 0, function* () {
29
+ if (accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken)) {
30
+ this.handleError('This command does not support application permissions.');
31
+ }
27
32
  try {
28
33
  const items = yield odata_1.odata.getAllItems(`${this.resource}/beta/security/labels/retentionLabels`);
29
34
  logger.log(items);
@@ -15,11 +15,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _PurviewRetentionLabelRemoveCommand_instances, _PurviewRetentionLabelRemoveCommand_initTelemetry, _PurviewRetentionLabelRemoveCommand_initOptions, _PurviewRetentionLabelRemoveCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
18
19
  const Cli_1 = require("../../../../cli/Cli");
19
20
  const validation_1 = require("../../../../utils/validation");
20
21
  const request_1 = require("../../../../request");
21
22
  const GraphCommand_1 = require("../../../base/GraphCommand");
22
23
  const commands_1 = require("../../commands");
24
+ const accessToken_1 = require("../../../../utils/accessToken");
23
25
  class PurviewRetentionLabelRemoveCommand extends GraphCommand_1.default {
24
26
  get name() {
25
27
  return commands_1.default.RETENTIONLABEL_REMOVE;
@@ -36,6 +38,9 @@ class PurviewRetentionLabelRemoveCommand extends GraphCommand_1.default {
36
38
  }
37
39
  commandAction(logger, args) {
38
40
  return __awaiter(this, void 0, void 0, function* () {
41
+ if (accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken)) {
42
+ this.handleError('This command does not support application permissions.');
43
+ }
39
44
  const removeRetentionLabel = () => __awaiter(this, void 0, void 0, function* () {
40
45
  try {
41
46
  const requestOptions = {
@@ -15,10 +15,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _PurviewRetentionLabelSetCommand_instances, _PurviewRetentionLabelSetCommand_initTelemetry, _PurviewRetentionLabelSetCommand_initOptions, _PurviewRetentionLabelSetCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
18
19
  const validation_1 = require("../../../../utils/validation");
19
20
  const request_1 = require("../../../../request");
20
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
21
22
  const commands_1 = require("../../commands");
23
+ const accessToken_1 = require("../../../../utils/accessToken");
22
24
  class PurviewRetentionLabelSetCommand extends GraphCommand_1.default {
23
25
  get name() {
24
26
  return commands_1.default.RETENTIONLABEL_SET;
@@ -39,6 +41,9 @@ class PurviewRetentionLabelSetCommand extends GraphCommand_1.default {
39
41
  }
40
42
  commandAction(logger, args) {
41
43
  return __awaiter(this, void 0, void 0, function* () {
44
+ if (accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken)) {
45
+ this.handleError('This command does not support application permissions.');
46
+ }
42
47
  if (this.verbose) {
43
48
  logger.log(`Starting to update retention label with id ${args.options.id}`);
44
49
  }
@@ -51,7 +56,12 @@ class PurviewRetentionLabelSetCommand extends GraphCommand_1.default {
51
56
  responseType: 'json',
52
57
  data: requestBody
53
58
  };
54
- yield request_1.default.patch(requestOptions);
59
+ try {
60
+ yield request_1.default.patch(requestOptions);
61
+ }
62
+ catch (err) {
63
+ this.handleRejectedODataJsonPromise(err);
64
+ }
55
65
  });
56
66
  }
57
67
  mapRequestBody(options) {
@@ -2,6 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const prefix = 'purview';
4
4
  exports.default = {
5
+ AUDITLOG_LIST: `${prefix} auditlog list`,
6
+ RETENTIONEVENT_GET: `${prefix} retentionevent get`,
7
+ RETENTIONEVENT_LIST: `${prefix} retentionevent list`,
8
+ RETENTIONEVENT_REMOVE: `${prefix} retentionevent remove`,
9
+ RETENTIONEVENTTYPE_ADD: `${prefix} retentioneventtype add`,
10
+ RETENTIONEVENTTYPE_GET: `${prefix} retentioneventtype get`,
11
+ RETENTIONEVENTTYPE_LIST: `${prefix} retentioneventtype list`,
12
+ RETENTIONEVENTTYPE_REMOVE: `${prefix} retentioneventtype remove`,
13
+ RETENTIONEVENTTYPE_SET: `${prefix} retentioneventtype set`,
5
14
  RETENTIONLABEL_ADD: `${prefix} retentionlabel add`,
6
15
  RETENTIONLABEL_GET: `${prefix} retentionlabel get`,
7
16
  RETENTIONLABEL_LIST: `${prefix} retentionlabel list`,
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WebApiPermissionRequests.js.map
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const path = require("path");
13
+ const fs = require("fs");
14
+ const Command_1 = require("../../../../Command");
15
+ const commands_1 = require("../../commands");
16
+ const base_project_command_1 = require("./base-project-command");
17
+ const SpoServicePrincipalGrantAddCommand = require("../../../spo/commands/serviceprincipal/serviceprincipal-grant-add");
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ class SpfxProjectPermissionSGrantCommand extends base_project_command_1.BaseProjectCommand {
20
+ get name() {
21
+ return commands_1.default.PROJECT_PERMISSIONS_GRANT;
22
+ }
23
+ get description() {
24
+ return 'Grant API permissions defined in the current SPFx project';
25
+ }
26
+ constructor() {
27
+ super();
28
+ }
29
+ commandAction(logger) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ this.projectRootPath = this.getProjectRoot(process.cwd());
32
+ if (this.projectRootPath === null) {
33
+ throw new Command_1.CommandError(`Couldn't find project root folder`, SpfxProjectPermissionSGrantCommand.ERROR_NO_PROJECT_ROOT_FOLDER);
34
+ }
35
+ if (this.debug) {
36
+ logger.logToStderr(`Granting API permissions defined in the current SPFx project`);
37
+ }
38
+ try {
39
+ const webApiPermissionsRequest = this.getWebApiPermissionRequest(path.join(this.projectRootPath, 'config', 'package-solution.json'));
40
+ for (const permission of webApiPermissionsRequest) {
41
+ const options = {
42
+ resource: permission.resource,
43
+ scope: permission.scope,
44
+ output: 'json',
45
+ debug: this.debug,
46
+ verbose: this.verbose
47
+ };
48
+ let output = null;
49
+ try {
50
+ output = yield Cli_1.Cli.executeCommandWithOutput(SpoServicePrincipalGrantAddCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
51
+ }
52
+ catch (err) {
53
+ if (err.error && err.error.message.indexOf('already exists') > -1) {
54
+ this.warn(logger, err.error.message);
55
+ continue;
56
+ }
57
+ else {
58
+ throw err;
59
+ }
60
+ }
61
+ const getGrantOutput = JSON.parse(output.stdout);
62
+ logger.log(getGrantOutput);
63
+ }
64
+ }
65
+ catch (error) {
66
+ throw new Command_1.CommandError(error);
67
+ }
68
+ });
69
+ }
70
+ getWebApiPermissionRequest(filePath) {
71
+ if (!fs.existsSync(filePath)) {
72
+ throw (`The package-solution.json file could not be found`);
73
+ }
74
+ const existingContent = fs.readFileSync(filePath, 'utf-8');
75
+ const solutionContent = JSON.parse(existingContent);
76
+ return solutionContent.solution.webApiPermissionRequests;
77
+ }
78
+ }
79
+ SpfxProjectPermissionSGrantCommand.ERROR_NO_PROJECT_ROOT_FOLDER = 1;
80
+ module.exports = new SpfxProjectPermissionSGrantCommand();
81
+ //# sourceMappingURL=project-permissions-grant.js.map
@@ -5,8 +5,9 @@ exports.default = {
5
5
  DOCTOR: `${prefix} doctor`,
6
6
  PACKAGE_GENERATE: `${prefix} package generate`,
7
7
  PROJECT_DOCTOR: `${prefix} project doctor`,
8
- PROJECT_UPGRADE: `${prefix} project upgrade`,
9
8
  PROJECT_EXTERNALIZE: `${prefix} project externalize`,
10
- PROJECT_RENAME: `${prefix} project rename`
9
+ PROJECT_PERMISSIONS_GRANT: `${prefix} project permissions grant`,
10
+ PROJECT_RENAME: `${prefix} project rename`,
11
+ PROJECT_UPGRADE: `${prefix} project upgrade`
11
12
  };
12
13
  //# sourceMappingURL=commands.js.map
@@ -17,6 +17,7 @@ var _SpoAppAddCommand_instances, _SpoAppAddCommand_initTelemetry, _SpoAppAddComm
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const fs = require("fs");
19
19
  const path = require("path");
20
+ const Cli_1 = require("../../../../cli/Cli");
20
21
  const request_1 = require("../../../../request");
21
22
  const spo_1 = require("../../../../utils/spo");
22
23
  const validation_1 = require("../../../../utils/validation");
@@ -58,7 +59,7 @@ class SpoAppAddCommand extends SpoAppBaseCommand_1.SpoAppBaseCommand {
58
59
  };
59
60
  const res = yield request_1.default.post(requestOptions);
60
61
  const json = JSON.parse(res);
61
- if (args.options.output === 'json') {
62
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
62
63
  logger.log(json);
63
64
  }
64
65
  else {
@@ -0,0 +1,95 @@
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 _SpoApplicationCustomizerAddCommand_instances, _SpoApplicationCustomizerAddCommand_initOptions, _SpoApplicationCustomizerAddCommand_initTelemetry, _SpoApplicationCustomizerAddCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ const validation_1 = require("../../../../utils/validation");
20
+ const SpoCommand_1 = require("../../../base/SpoCommand");
21
+ const commands_1 = require("../../commands");
22
+ const spoCustomActionAddCommand = require("../customaction/customaction-add");
23
+ class SpoApplicationCustomizerAddCommand extends SpoCommand_1.default {
24
+ get name() {
25
+ return commands_1.default.APPLICATIONCUSTOMIZER_ADD;
26
+ }
27
+ get description() {
28
+ return 'Add an application customizer to a site.';
29
+ }
30
+ constructor() {
31
+ super();
32
+ _SpoApplicationCustomizerAddCommand_instances.add(this);
33
+ __classPrivateFieldGet(this, _SpoApplicationCustomizerAddCommand_instances, "m", _SpoApplicationCustomizerAddCommand_initTelemetry).call(this);
34
+ __classPrivateFieldGet(this, _SpoApplicationCustomizerAddCommand_instances, "m", _SpoApplicationCustomizerAddCommand_initOptions).call(this);
35
+ __classPrivateFieldGet(this, _SpoApplicationCustomizerAddCommand_instances, "m", _SpoApplicationCustomizerAddCommand_initValidators).call(this);
36
+ }
37
+ commandAction(logger, args) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ if (this.verbose) {
40
+ logger.logToStderr(`Adding application customizer with title '${args.options.title}' and clientSideComponentId '${args.options.clientSideComponentId}' to the site`);
41
+ }
42
+ const options = {
43
+ webUrl: args.options.webUrl,
44
+ name: args.options.title,
45
+ title: args.options.title,
46
+ clientSideComponentId: args.options.clientSideComponentId,
47
+ clientSideComponentProperties: args.options.clientSideComponentProperties || '',
48
+ location: 'ClientSideExtension.ApplicationCustomizer',
49
+ debug: this.debug,
50
+ verbose: this.verbose
51
+ };
52
+ yield Cli_1.Cli.executeCommand(spoCustomActionAddCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
53
+ });
54
+ }
55
+ }
56
+ _SpoApplicationCustomizerAddCommand_instances = new WeakSet(), _SpoApplicationCustomizerAddCommand_initOptions = function _SpoApplicationCustomizerAddCommand_initOptions() {
57
+ this.options.unshift({
58
+ option: '-t, --title <title>'
59
+ }, {
60
+ option: '-u, --webUrl <webUrl>'
61
+ }, {
62
+ option: '-i, --clientSideComponentId <clientSideComponentId>'
63
+ }, {
64
+ option: '--clientSideComponentProperties [clientSideComponentProperties]'
65
+ });
66
+ }, _SpoApplicationCustomizerAddCommand_initTelemetry = function _SpoApplicationCustomizerAddCommand_initTelemetry() {
67
+ this.telemetry.push((args) => {
68
+ Object.assign(this.telemetryProperties, {
69
+ clientSideComponentProperties: typeof args.options.clientSideComponentProperties !== 'undefined'
70
+ });
71
+ });
72
+ }, _SpoApplicationCustomizerAddCommand_initValidators = function _SpoApplicationCustomizerAddCommand_initValidators() {
73
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
74
+ if (args.options.webUrl) {
75
+ const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
76
+ if (isValidSharePointUrl !== true) {
77
+ return isValidSharePointUrl;
78
+ }
79
+ }
80
+ if (!validation_1.validation.isValidGuid(args.options.clientSideComponentId)) {
81
+ return `${args.options.clientSideComponentId} is not a valid GUID`;
82
+ }
83
+ if (args.options.clientSideComponentProperties) {
84
+ try {
85
+ JSON.parse(args.options.clientSideComponentProperties);
86
+ }
87
+ catch (e) {
88
+ return `An error has occurred while parsing clientSideComponentProperties: ${e}`;
89
+ }
90
+ }
91
+ return true;
92
+ }));
93
+ };
94
+ module.exports = new SpoApplicationCustomizerAddCommand();
95
+ //# sourceMappingURL=applicationcustomizer-add.js.map
@@ -15,8 +15,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoCustomActionGetCommand_instances, _SpoCustomActionGetCommand_initTelemetry, _SpoCustomActionGetCommand_initOptions, _SpoCustomActionGetCommand_initValidators, _SpoCustomActionGetCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const request_1 = require("../../../../request");
19
18
  const formatting_1 = require("../../../../utils/formatting");
19
+ const spo_1 = require("../../../../utils/spo");
20
20
  const validation_1 = require("../../../../utils/validation");
21
21
  const SpoCommand_1 = require("../../../base/SpoCommand");
22
22
  const commands_1 = require("../../commands");
@@ -38,19 +38,8 @@ class SpoCustomActionGetCommand extends SpoCommand_1.default {
38
38
  commandAction(logger, args) {
39
39
  return __awaiter(this, void 0, void 0, function* () {
40
40
  try {
41
- let customAction;
42
- if (args.options.scope && args.options.scope.toLowerCase() !== "all") {
43
- customAction = yield this.getCustomAction(args.options);
44
- }
45
- else {
46
- customAction = yield this.searchAllScopes(args.options);
47
- }
48
- if (customAction["odata.null"] === true) {
49
- if (this.verbose) {
50
- logger.logToStderr(`Custom action with id ${args.options.id} not found`);
51
- }
52
- }
53
- else {
41
+ const customAction = yield this.getCustomAction(args.options);
42
+ if (customAction) {
54
43
  logger.log({
55
44
  ClientSideComponentId: customAction.ClientSideComponentId,
56
45
  ClientSideComponentProperties: customAction.ClientSideComponentProperties,
@@ -80,60 +69,22 @@ class SpoCustomActionGetCommand extends SpoCommand_1.default {
80
69
  });
81
70
  }
82
71
  getCustomAction(options) {
83
- const filter = options.id ?
84
- `('${formatting_1.formatting.encodeQueryParameter(options.id)}')` :
85
- `?$filter=Title eq '${formatting_1.formatting.encodeQueryParameter(options.title)}'`;
86
- const requestOptions = {
87
- url: `${options.webUrl}/_api/${options.scope}/UserCustomActions${filter}`,
88
- headers: {
89
- accept: 'application/json;odata=nometadata'
90
- },
91
- responseType: 'json'
92
- };
93
- if (options.id) {
94
- return request_1.default
95
- .get(requestOptions)
96
- .then((res) => {
97
- return Promise.resolve(res);
98
- });
99
- }
100
- return request_1.default
101
- .get(requestOptions)
102
- .then((res) => {
103
- if (res.value.length === 1) {
104
- return Promise.resolve(res.value[0]);
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ if (options.id) {
74
+ const customAction = yield spo_1.spo.getCustomActionById(options.webUrl, options.id, options.scope);
75
+ if (!customAction) {
76
+ throw `No user custom action with id '${options.id}' found`;
77
+ }
78
+ return customAction;
105
79
  }
106
- if (res.value.length === 0) {
107
- return Promise.reject(`No user custom action with title '${options.title}' found`);
80
+ const customActions = yield spo_1.spo.getCustomActions(options.webUrl, options.scope, `Title eq '${formatting_1.formatting.encodeQueryParameter(options.title)}'`);
81
+ if (customActions.length === 1) {
82
+ return customActions[0];
108
83
  }
109
- return Promise.reject(`Multiple user custom actions with title '${options.title}' found. Please disambiguate using IDs: ${res.value.map(a => a.Id).join(', ')}`);
110
- });
111
- }
112
- /**
113
- * Get request with `web` scope is send first.
114
- * If custom action not found then
115
- * another get request is send with `site` scope.
116
- */
117
- searchAllScopes(options) {
118
- return new Promise((resolve, reject) => {
119
- options.scope = "Web";
120
- this
121
- .getCustomAction(options)
122
- .then((webResult) => {
123
- if (webResult["odata.null"] !== true) {
124
- return resolve(webResult);
125
- }
126
- options.scope = "Site";
127
- this
128
- .getCustomAction(options)
129
- .then((siteResult) => {
130
- return resolve(siteResult);
131
- }, (err) => {
132
- reject(err);
133
- });
134
- }, (err) => {
135
- reject(err);
136
- });
84
+ if (customActions.length === 0) {
85
+ throw `No user custom action with title '${options.title}' found`;
86
+ }
87
+ throw `Multiple user custom actions with title '${options.title}' found. Please disambiguate using IDs: ${customActions.map(a => a.Id).join(', ')}`;
137
88
  });
138
89
  }
139
90
  humanizeScope(scope) {