@pnp/cli-microsoft365 6.3.0-beta.64eb7da → 6.3.0-beta.861847a

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 (69) hide show
  1. package/.eslintrc.js +4 -0
  2. package/dist/Command.js +4 -4
  3. package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
  4. package/dist/m365/planner/commands/roster/roster-member-add.js +113 -0
  5. package/dist/m365/planner/commands/roster/roster-member-list.js +54 -0
  6. package/dist/m365/planner/commands/task/task-add.js +3 -0
  7. package/dist/m365/planner/commands.js +2 -0
  8. package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +76 -0
  9. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +47 -0
  10. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +77 -0
  11. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +8 -8
  12. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +44 -0
  13. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +97 -0
  14. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +90 -0
  15. package/dist/m365/purview/commands.js +7 -1
  16. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +95 -0
  17. package/dist/m365/spo/commands/file/GraphFileDetails.js +0 -1
  18. package/dist/m365/spo/commands/file/file-sharinglink-add.js +2 -22
  19. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +137 -0
  20. package/dist/m365/spo/commands/file/file-sharinglink-get.js +2 -25
  21. package/dist/m365/spo/commands/file/file-sharinglink-list.js +7 -28
  22. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -25
  23. package/dist/m365/spo/commands/file/file-sharinglink-set.js +104 -0
  24. package/dist/m365/spo/commands/listitem/listitem-add.js +2 -1
  25. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +6 -0
  26. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +179 -0
  27. package/dist/m365/spo/commands.js +4 -0
  28. package/dist/utils/spo.js +28 -0
  29. package/docs/docs/cmd/pa/app/app-get.md +24 -0
  30. package/docs/docs/cmd/pa/app/app-list.md +21 -0
  31. package/docs/docs/cmd/pa/connector/connector-list.md +17 -0
  32. package/docs/docs/cmd/pa/environment/environment-get.md +18 -0
  33. package/docs/docs/cmd/pa/environment/environment-list.md +19 -0
  34. package/docs/docs/cmd/planner/roster/roster-member-add.md +87 -0
  35. package/docs/docs/cmd/planner/roster/roster-member-list.md +76 -0
  36. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.md +43 -0
  37. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.md +43 -0
  38. package/docs/docs/cmd/pp/card/card-clone.md +12 -0
  39. package/docs/docs/cmd/pp/card/card-get.md +49 -0
  40. package/docs/docs/cmd/pp/card/card-list.md +49 -0
  41. package/docs/docs/cmd/pp/chatbot/chatbot-get.md +55 -0
  42. package/docs/docs/cmd/pp/chatbot/chatbot-list.md +36 -0
  43. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +30 -0
  44. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +30 -0
  45. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.md +30 -0
  46. package/docs/docs/cmd/pp/environment/environment-get.md +19 -0
  47. package/docs/docs/cmd/pp/environment/environment-list.md +19 -0
  48. package/docs/docs/cmd/pp/gateway/gateway-get.md +19 -0
  49. package/docs/docs/cmd/pp/gateway/gateway-list.md +19 -0
  50. package/docs/docs/cmd/pp/managementapp/managementapp-add.md +12 -0
  51. package/docs/docs/cmd/pp/managementapp/managementapp-list.md +12 -0
  52. package/docs/docs/cmd/pp/solution/solution-get.md +14 -0
  53. package/docs/docs/cmd/pp/solution/solution-list.md +14 -0
  54. package/docs/docs/cmd/pp/solution/solution-publisher-get.md +20 -1
  55. package/docs/docs/cmd/pp/solution/solution-publisher-list.md +18 -0
  56. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +21 -0
  57. package/docs/docs/cmd/purview/retentionevent/retentionevent-get.md +132 -0
  58. package/docs/docs/cmd/purview/retentionevent/retentionevent-list.md +107 -0
  59. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +106 -0
  60. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.md +97 -0
  61. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.md +43 -0
  62. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.md +43 -0
  63. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +56 -0
  64. package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +46 -0
  65. package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
  66. package/docs/docs/cmd/spo/file/file-sharinglink-set.md +104 -0
  67. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.md +3 -0
  68. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +59 -0
  69. package/package.json +1 -1
@@ -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
@@ -2,8 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const prefix = 'purview';
4
4
  exports.default = {
5
- RETENTIONEVENTTYPE_GET: `${prefix} retentioneventtype get`,
6
5
  AUDITLOG_LIST: `${prefix} auditlog list`,
6
+ RETENTIONEVENT_GET: `${prefix} retentionevent get`,
7
+ RETENTIONEVENT_LIST: `${prefix} retentionevent list`,
8
+ RETENTIONEVENTTYPE_ADD: `${prefix} retentioneventtype add`,
9
+ RETENTIONEVENTTYPE_GET: `${prefix} retentioneventtype get`,
10
+ RETENTIONEVENTTYPE_LIST: `${prefix} retentioneventtype list`,
11
+ RETENTIONEVENTTYPE_REMOVE: `${prefix} retentioneventtype remove`,
12
+ RETENTIONEVENTTYPE_SET: `${prefix} retentioneventtype set`,
7
13
  RETENTIONLABEL_ADD: `${prefix} retentionlabel add`,
8
14
  RETENTIONLABEL_GET: `${prefix} retentionlabel get`,
9
15
  RETENTIONLABEL_LIST: `${prefix} retentionlabel list`,
@@ -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
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
2
  //# sourceMappingURL=GraphFileDetails.js.map
@@ -16,7 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoFileSharingLinkAddCommand_instances, _SpoFileSharingLinkAddCommand_initTelemetry, _SpoFileSharingLinkAddCommand_initOptions, _SpoFileSharingLinkAddCommand_initValidators, _SpoFileSharingLinkAddCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
- 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");
@@ -41,7 +41,7 @@ class SpoFileSharingLinkAddCommand extends SpoCommand_1.default {
41
41
  logger.logToStderr(`Creating a sharing link for file ${args.options.fileId || args.options.fileUrl}...`);
42
42
  }
43
43
  try {
44
- const fileDetails = yield this.getFileDetails(args.options.webUrl, args.options.fileId, args.options.fileUrl);
44
+ const fileDetails = yield spo_1.spo.getVroomFileDetails(args.options.webUrl, args.options.fileId, args.options.fileUrl);
45
45
  const requestOptions = {
46
46
  url: `https://graph.microsoft.com/v1.0/sites/${fileDetails.SiteId}/drives/${fileDetails.VroomDriveID}/items/${fileDetails.VroomItemID}/createLink`,
47
47
  headers: {
@@ -62,26 +62,6 @@ class SpoFileSharingLinkAddCommand extends SpoCommand_1.default {
62
62
  }
63
63
  });
64
64
  }
65
- getFileDetails(webUrl, fileId, fileUrl) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- let requestUrl = `${webUrl}/_api/web/`;
68
- if (fileId) {
69
- requestUrl += `GetFileById('${fileId}')`;
70
- }
71
- else if (fileUrl) {
72
- requestUrl += `GetFileByServerRelativePath(decodedUrl='${formatting_1.formatting.encodeQueryParameter(fileUrl)}')`;
73
- }
74
- const requestOptions = {
75
- url: requestUrl += '?$select=SiteId,VroomItemId,VroomDriveId',
76
- headers: {
77
- accept: 'application/json;odata=nometadata'
78
- },
79
- responseType: 'json'
80
- };
81
- const res = yield request_1.default.get(requestOptions);
82
- return res;
83
- });
84
- }
85
65
  }
86
66
  _SpoFileSharingLinkAddCommand_instances = new WeakSet(), _SpoFileSharingLinkAddCommand_initTelemetry = function _SpoFileSharingLinkAddCommand_initTelemetry() {
87
67
  this.telemetry.push((args) => {
@@ -0,0 +1,137 @@
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 _SpoFileSharingLinkClearCommand_instances, _SpoFileSharingLinkClearCommand_initTelemetry, _SpoFileSharingLinkClearCommand_initOptions, _SpoFileSharingLinkClearCommand_initValidators, _SpoFileSharingLinkClearCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const validation_1 = require("../../../../utils/validation");
19
+ const SpoCommand_1 = require("../../../base/SpoCommand");
20
+ const commands_1 = require("../../commands");
21
+ const Cli_1 = require("../../../../cli/Cli");
22
+ const spoFileSharingLinkListCommand = require("./file-sharinglink-list");
23
+ const request_1 = require("../../../../request");
24
+ const spo_1 = require("../../../../utils/spo");
25
+ class SpoFileSharingLinkClearCommand extends SpoCommand_1.default {
26
+ get name() {
27
+ return commands_1.default.FILE_SHARINGLINK_CLEAR;
28
+ }
29
+ get description() {
30
+ return 'Removes sharing links of a file';
31
+ }
32
+ constructor() {
33
+ super();
34
+ _SpoFileSharingLinkClearCommand_instances.add(this);
35
+ this.allowedScopes = ['anonymous', 'users', 'organization'];
36
+ __classPrivateFieldGet(this, _SpoFileSharingLinkClearCommand_instances, "m", _SpoFileSharingLinkClearCommand_initTelemetry).call(this);
37
+ __classPrivateFieldGet(this, _SpoFileSharingLinkClearCommand_instances, "m", _SpoFileSharingLinkClearCommand_initOptions).call(this);
38
+ __classPrivateFieldGet(this, _SpoFileSharingLinkClearCommand_instances, "m", _SpoFileSharingLinkClearCommand_initValidators).call(this);
39
+ __classPrivateFieldGet(this, _SpoFileSharingLinkClearCommand_instances, "m", _SpoFileSharingLinkClearCommand_initOptionSets).call(this);
40
+ }
41
+ commandAction(logger, args) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ const clearSharingLinks = () => __awaiter(this, void 0, void 0, function* () {
44
+ try {
45
+ if (this.verbose) {
46
+ logger.logToStderr(`Clearing sharing links for file ${args.options.fileUrl || args.options.fileId}${args.options.scope ? ` with scope ${args.options.scope}` : ''}`);
47
+ }
48
+ const fileDetails = yield spo_1.spo.getVroomFileDetails(args.options.webUrl, args.options.fileId, args.options.fileUrl);
49
+ const sharingLinks = yield this.getFileSharingLinks(args.options.webUrl, args.options.fileId, args.options.fileUrl, args.options.scope);
50
+ const requestOptions = {
51
+ headers: {
52
+ accept: 'application/json;odata.metadata=none'
53
+ },
54
+ responseType: 'json'
55
+ };
56
+ for (const sharingLink of sharingLinks) {
57
+ requestOptions.url = `https://graph.microsoft.com/v1.0/sites/${fileDetails.SiteId}/drives/${fileDetails.VroomDriveID}/items/${fileDetails.VroomItemID}/permissions/${sharingLink.id}`;
58
+ yield request_1.default.delete(requestOptions);
59
+ }
60
+ }
61
+ catch (err) {
62
+ this.handleRejectedODataJsonPromise(err);
63
+ }
64
+ });
65
+ if (args.options.confirm) {
66
+ yield clearSharingLinks();
67
+ }
68
+ else {
69
+ const result = yield Cli_1.Cli.prompt({
70
+ type: 'confirm',
71
+ name: 'continue',
72
+ default: false,
73
+ message: `Are you sure you want to clear the sharing links of file ${args.options.fileUrl || args.options.fileId}${args.options.scope ? ` with scope ${args.options.scope}` : ''}?`
74
+ });
75
+ if (result.continue) {
76
+ yield clearSharingLinks();
77
+ }
78
+ }
79
+ });
80
+ }
81
+ getFileSharingLinks(webUrl, fileId, fileUrl, scope) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ const sharingLinkListOptions = {
84
+ webUrl: webUrl,
85
+ fileId: fileId,
86
+ fileUrl: fileUrl,
87
+ scope: scope,
88
+ debug: this.debug,
89
+ verbose: this.verbose
90
+ };
91
+ const commandOutput = yield Cli_1.Cli.executeCommandWithOutput(spoFileSharingLinkListCommand, { options: Object.assign(Object.assign({}, sharingLinkListOptions), { _: [] }) });
92
+ const outputParsed = JSON.parse(commandOutput.stdout);
93
+ return outputParsed;
94
+ });
95
+ }
96
+ }
97
+ _SpoFileSharingLinkClearCommand_instances = new WeakSet(), _SpoFileSharingLinkClearCommand_initTelemetry = function _SpoFileSharingLinkClearCommand_initTelemetry() {
98
+ this.telemetry.push((args) => {
99
+ Object.assign(this.telemetryProperties, {
100
+ fileUrl: typeof args.options.fileUrl !== 'undefined',
101
+ fileId: typeof args.options.fileId !== 'undefined',
102
+ scope: typeof args.options.scope !== 'undefined',
103
+ confirm: !!args.options.confirm
104
+ });
105
+ });
106
+ }, _SpoFileSharingLinkClearCommand_initOptions = function _SpoFileSharingLinkClearCommand_initOptions() {
107
+ this.options.unshift({
108
+ option: '-u, --webUrl <webUrl>'
109
+ }, {
110
+ option: '--fileUrl [fileUrl]'
111
+ }, {
112
+ option: '--fileId [fileId]'
113
+ }, {
114
+ option: '-s, --scope [scope]',
115
+ autocomplete: this.allowedScopes
116
+ }, {
117
+ option: '--confirm'
118
+ });
119
+ }, _SpoFileSharingLinkClearCommand_initValidators = function _SpoFileSharingLinkClearCommand_initValidators() {
120
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
121
+ const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
122
+ if (isValidSharePointUrl !== true) {
123
+ return isValidSharePointUrl;
124
+ }
125
+ if (args.options.fileId && !validation_1.validation.isValidGuid(args.options.fileId)) {
126
+ return `${args.options.fileId} is not a valid GUID`;
127
+ }
128
+ if (args.options.scope && this.allowedScopes.indexOf(args.options.scope) === -1) {
129
+ return `'${args.options.scope}' is not a valid scope. Allowed values are: ${this.allowedScopes.join(',')}`;
130
+ }
131
+ return true;
132
+ }));
133
+ }, _SpoFileSharingLinkClearCommand_initOptionSets = function _SpoFileSharingLinkClearCommand_initOptionSets() {
134
+ this.optionSets.push({ options: ['fileUrl', 'fileId'] });
135
+ };
136
+ module.exports = new SpoFileSharingLinkClearCommand();
137
+ //# sourceMappingURL=file-sharinglink-clear.js.map
@@ -16,8 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoFileSharingLinkGetCommand_instances, _SpoFileSharingLinkGetCommand_initTelemetry, _SpoFileSharingLinkGetCommand_initOptions, _SpoFileSharingLinkGetCommand_initValidators, _SpoFileSharingLinkGetCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
- const formatting_1 = require("../../../../utils/formatting");
20
- const urlUtil_1 = require("../../../../utils/urlUtil");
19
+ const spo_1 = require("../../../../utils/spo");
21
20
  const validation_1 = require("../../../../utils/validation");
22
21
  const SpoCommand_1 = require("../../../base/SpoCommand");
23
22
  const commands_1 = require("../../commands");
@@ -42,7 +41,7 @@ class SpoFileSharingLinkGetCommand extends SpoCommand_1.default {
42
41
  logger.logToStderr(`Retrieving sharing link for file ${args.options.fileUrl || args.options.fileId} with id ${args.options.id}...`);
43
42
  }
44
43
  try {
45
- const fileDetails = yield this.getNeededFileInformation(args);
44
+ const fileDetails = yield spo_1.spo.getVroomFileDetails(args.options.webUrl, args.options.fileId, args.options.fileUrl);
46
45
  const requestOptions = {
47
46
  url: `https://graph.microsoft.com/v1.0/sites/${fileDetails.SiteId}/drives/${fileDetails.VroomDriveID}/items/${fileDetails.VroomItemID}/permissions/${args.options.id}`,
48
47
  headers: {
@@ -58,28 +57,6 @@ class SpoFileSharingLinkGetCommand extends SpoCommand_1.default {
58
57
  }
59
58
  });
60
59
  }
61
- getNeededFileInformation(args) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- let requestUrl = `${args.options.webUrl}/_api/web/`;
64
- if (args.options.fileUrl) {
65
- const fileServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.fileUrl);
66
- requestUrl += `GetFileByServerRelativePath(decodedUrl='${formatting_1.formatting.encodeQueryParameter(fileServerRelativeUrl)}')`;
67
- }
68
- else {
69
- requestUrl += `GetFileById('${args.options.fileId}')`;
70
- }
71
- requestUrl += '?$select=SiteId,VroomItemId,VroomDriveId';
72
- const requestOptions = {
73
- url: requestUrl,
74
- headers: {
75
- accept: 'application/json;odata=nometadata'
76
- },
77
- responseType: 'json'
78
- };
79
- const res = yield request_1.default.get(requestOptions);
80
- return res;
81
- });
82
- }
83
60
  }
84
61
  _SpoFileSharingLinkGetCommand_instances = new WeakSet(), _SpoFileSharingLinkGetCommand_initTelemetry = function _SpoFileSharingLinkGetCommand_initTelemetry() {
85
62
  this.telemetry.push((args) => {
@@ -16,9 +16,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoFileSharingLinkListCommand_instances, _SpoFileSharingLinkListCommand_initTelemetry, _SpoFileSharingLinkListCommand_initOptions, _SpoFileSharingLinkListCommand_initValidators, _SpoFileSharingLinkListCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const Cli_1 = require("../../../../cli/Cli");
19
- const request_1 = require("../../../../request");
20
- const formatting_1 = require("../../../../utils/formatting");
21
19
  const odata_1 = require("../../../../utils/odata");
20
+ const spo_1 = require("../../../../utils/spo");
22
21
  const validation_1 = require("../../../../utils/validation");
23
22
  const SpoCommand_1 = require("../../../base/SpoCommand");
24
23
  const commands_1 = require("../../commands");
@@ -46,7 +45,7 @@ class SpoFileSharingLinkListCommand extends SpoCommand_1.default {
46
45
  logger.logToStderr(`Retrieving sharing links for file ${args.options.fileId || args.options.fileUrl}...`);
47
46
  }
48
47
  try {
49
- const fileDetails = yield this.getFileDetails(args.options.webUrl, args.options.fileId, args.options.fileUrl);
48
+ const fileDetails = yield spo_1.spo.getVroomFileDetails(args.options.webUrl, args.options.fileId, args.options.fileUrl);
50
49
  let url = `https://graph.microsoft.com/v1.0/sites/${fileDetails.SiteId}/drives/${fileDetails.VroomDriveID}/items/${fileDetails.VroomItemID}/permissions?$filter=Link ne null`;
51
50
  if (args.options.scope) {
52
51
  url += ` and Link/Scope eq '${args.options.scope}'`;
@@ -72,26 +71,6 @@ class SpoFileSharingLinkListCommand extends SpoCommand_1.default {
72
71
  }
73
72
  });
74
73
  }
75
- getFileDetails(webUrl, fileId, fileUrl) {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- let requestUrl = `${webUrl}/_api/web/`;
78
- if (fileId) {
79
- requestUrl += `GetFileById('${fileId}')`;
80
- }
81
- else if (fileUrl) {
82
- requestUrl += `GetFileByServerRelativePath(decodedUrl='${formatting_1.formatting.encodeQueryParameter(fileUrl)}')`;
83
- }
84
- const requestOptions = {
85
- url: requestUrl += '?$select=SiteId,VroomItemId,VroomDriveId',
86
- headers: {
87
- accept: 'application/json;odata=nometadata'
88
- },
89
- responseType: 'json'
90
- };
91
- const res = yield request_1.default.get(requestOptions);
92
- return res;
93
- });
94
- }
95
74
  }
96
75
  _SpoFileSharingLinkListCommand_instances = new WeakSet(), _SpoFileSharingLinkListCommand_initTelemetry = function _SpoFileSharingLinkListCommand_initTelemetry() {
97
76
  this.telemetry.push((args) => {
@@ -109,8 +88,8 @@ _SpoFileSharingLinkListCommand_instances = new WeakSet(), _SpoFileSharingLinkLis
109
88
  }, {
110
89
  option: '--fileUrl [fileUrl]'
111
90
  }, {
112
- option: '--scope [scope]',
113
- autocomplete: SpoFileSharingLinkListCommand.scope
91
+ option: '-s, --scope [scope]',
92
+ autocomplete: SpoFileSharingLinkListCommand.allowedScopes
114
93
  });
115
94
  }, _SpoFileSharingLinkListCommand_initValidators = function _SpoFileSharingLinkListCommand_initValidators() {
116
95
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
@@ -121,14 +100,14 @@ _SpoFileSharingLinkListCommand_instances = new WeakSet(), _SpoFileSharingLinkLis
121
100
  if (args.options.fileId && !validation_1.validation.isValidGuid(args.options.fileId)) {
122
101
  return `${args.options.fileId} is not a valid GUID`;
123
102
  }
124
- if (args.options.scope && SpoFileSharingLinkListCommand.scope.indexOf(args.options.scope) === -1) {
125
- return `'${args.options.scope}' is not a valid scope. Allowed values are: ${SpoFileSharingLinkListCommand.scope.join(',')}`;
103
+ if (args.options.scope && SpoFileSharingLinkListCommand.allowedScopes.indexOf(args.options.scope) === -1) {
104
+ return `'${args.options.scope}' is not a valid scope. Allowed values are: ${SpoFileSharingLinkListCommand.allowedScopes.join(',')}`;
126
105
  }
127
106
  return true;
128
107
  }));
129
108
  }, _SpoFileSharingLinkListCommand_initOptionSets = function _SpoFileSharingLinkListCommand_initOptionSets() {
130
109
  this.optionSets.push({ options: ['fileId', 'fileUrl'] });
131
110
  };
132
- SpoFileSharingLinkListCommand.scope = ['anonymous', 'users', 'organization'];
111
+ SpoFileSharingLinkListCommand.allowedScopes = ['anonymous', 'users', 'organization'];
133
112
  module.exports = new SpoFileSharingLinkListCommand();
134
113
  //# sourceMappingURL=file-sharinglink-list.js.map
@@ -17,8 +17,7 @@ var _SpoFileSharingLinkRemoveCommand_instances, _SpoFileSharingLinkRemoveCommand
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const Cli_1 = require("../../../../cli/Cli");
19
19
  const request_1 = require("../../../../request");
20
- const formatting_1 = require("../../../../utils/formatting");
21
- const urlUtil_1 = require("../../../../utils/urlUtil");
20
+ const spo_1 = require("../../../../utils/spo");
22
21
  const validation_1 = require("../../../../utils/validation");
23
22
  const SpoCommand_1 = require("../../../base/SpoCommand");
24
23
  const commands_1 = require("../../commands");
@@ -44,7 +43,7 @@ class SpoFileSharingLinkRemoveCommand extends SpoCommand_1.default {
44
43
  if (this.verbose) {
45
44
  logger.logToStderr(`Removing sharing link of file ${args.options.fileUrl || args.options.fileId} with id ${args.options.id}...`);
46
45
  }
47
- const fileDetails = yield this.getNeededFileInformation(args);
46
+ const fileDetails = yield spo_1.spo.getVroomFileDetails(args.options.webUrl, args.options.fileId, args.options.fileUrl);
48
47
  const requestOptions = {
49
48
  url: `https://graph.microsoft.com/v1.0/sites/${fileDetails.SiteId}/drives/${fileDetails.VroomDriveID}/items/${fileDetails.VroomItemID}/permissions/${args.options.id}`,
50
49
  headers: {
@@ -74,28 +73,6 @@ class SpoFileSharingLinkRemoveCommand extends SpoCommand_1.default {
74
73
  }
75
74
  });
76
75
  }
77
- getNeededFileInformation(args) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- let requestUrl = `${args.options.webUrl}/_api/web/`;
80
- if (args.options.fileUrl) {
81
- const fileServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.fileUrl);
82
- requestUrl += `GetFileByServerRelativePath(decodedUrl='${formatting_1.formatting.encodeQueryParameter(fileServerRelativeUrl)}')`;
83
- }
84
- else {
85
- requestUrl += `GetFileById('${args.options.fileId}')`;
86
- }
87
- requestUrl += '?$select=SiteId,VroomItemId,VroomDriveId';
88
- const requestOptions = {
89
- url: requestUrl,
90
- headers: {
91
- accept: 'application/json;odata=nometadata'
92
- },
93
- responseType: 'json'
94
- };
95
- const res = yield request_1.default.get(requestOptions);
96
- return res;
97
- });
98
- }
99
76
  }
100
77
  _SpoFileSharingLinkRemoveCommand_instances = new WeakSet(), _SpoFileSharingLinkRemoveCommand_initTelemetry = function _SpoFileSharingLinkRemoveCommand_initTelemetry() {
101
78
  this.telemetry.push((args) => {