@pnp/cli-microsoft365 6.8.0-beta.2463cfa → 6.8.0-beta.74dea8a

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 (161) hide show
  1. package/.eslintrc.js +2 -0
  2. package/.mocharc.json +1 -0
  3. package/README.md +6 -1
  4. package/dist/m365/commands/commands.js +1 -0
  5. package/dist/m365/commands/docs.js +42 -0
  6. package/dist/m365/commands/login.js +1 -1
  7. package/dist/m365/pa/commands/app/app-consent-set.js +101 -0
  8. package/dist/m365/pa/commands.js +1 -0
  9. package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-get.js +97 -0
  10. package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-list.js +85 -0
  11. package/dist/m365/purview/commands/sensitivitylabel/sensitivitylabel-policysettings-list.js +89 -0
  12. package/dist/m365/purview/commands.js +3 -0
  13. package/dist/m365/spo/commands/file/file-checkin.js +8 -3
  14. package/dist/m365/spo/commands/file/file-checkout.js +8 -3
  15. package/dist/m365/spo/commands/file/file-copy.js +4 -4
  16. package/dist/m365/spo/commands/file/file-get.js +3 -1
  17. package/dist/m365/spo/commands/file/file-list.js +17 -6
  18. package/dist/m365/spo/commands/file/file-move.js +6 -7
  19. package/dist/m365/spo/commands/file/file-remove.js +6 -12
  20. package/dist/m365/spo/commands/file/file-rename.js +3 -3
  21. package/dist/m365/spo/commands/file/file-roleassignment-add.js +2 -1
  22. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +3 -3
  23. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +2 -1
  24. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +2 -1
  25. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +4 -2
  26. package/dist/m365/spo/commands/file/file-version-clear.js +3 -1
  27. package/dist/m365/spo/commands/file/file-version-get.js +3 -1
  28. package/dist/m365/spo/commands/file/file-version-remove.js +3 -1
  29. package/dist/m365/spo/commands/file/file-version-restore.js +3 -1
  30. package/dist/m365/spo/commands/folder/folder-copy.js +4 -4
  31. package/dist/m365/spo/commands/folder/folder-get.js +5 -2
  32. package/dist/m365/spo/commands/folder/folder-move.js +3 -2
  33. package/dist/m365/spo/commands/folder/folder-rename.js +5 -2
  34. package/dist/m365/spo/commands/list/list-get.js +30 -3
  35. package/dist/m365/spo/commands/list/list-list.js +39 -2
  36. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +46 -1
  37. package/dist/m365/spo/commands/site/site-recyclebinitem-move.js +119 -0
  38. package/dist/m365/spo/commands/site/site-recyclebinitem-remove.js +106 -0
  39. package/dist/m365/spo/commands/term/term-add.js +13 -4
  40. package/dist/m365/spo/commands/term/term-get.js +14 -5
  41. package/dist/m365/spo/commands/term/term-group-get.js +12 -3
  42. package/dist/m365/spo/commands/term/term-group-list.js +39 -4
  43. package/dist/m365/spo/commands/term/term-list.js +18 -9
  44. package/dist/m365/spo/commands/term/term-set-add.js +13 -4
  45. package/dist/m365/spo/commands/term/term-set-get.js +12 -3
  46. package/dist/m365/spo/commands/term/term-set-list.js +12 -3
  47. package/dist/m365/spo/commands.js +3 -0
  48. package/dist/utils/spo.js +1 -1
  49. package/docs/docs/cmd/aad/o365group/o365group-get.md +0 -12
  50. package/docs/docs/cmd/cli/cli-consent.md +6 -0
  51. package/docs/docs/cmd/cli/cli-doctor.md +17 -0
  52. package/docs/docs/cmd/cli/cli-issue.md +6 -0
  53. package/docs/docs/cmd/cli/cli-reconsent.md +6 -0
  54. package/docs/docs/cmd/cli/completion/completion-sh-setup.md +6 -0
  55. package/docs/docs/cmd/cli/config/config-get.md +6 -0
  56. package/docs/docs/cmd/docs.md +51 -0
  57. package/docs/docs/cmd/login.md +1 -1
  58. package/docs/docs/cmd/pa/app/app-consent-set.md +47 -0
  59. package/docs/docs/cmd/planner/task/task-get.md +0 -6
  60. package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-get.md +118 -0
  61. package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-list.md +111 -0
  62. package/docs/docs/cmd/purview/sensitivitylabel/sensitivitylabel-policysettings-list.md +97 -0
  63. package/docs/docs/cmd/search/externalconnection/externalconnection-get.md +17 -0
  64. package/docs/docs/cmd/search/externalconnection/externalconnection-list.md +17 -0
  65. package/docs/docs/cmd/spo/file/file-add.md +1 -1
  66. package/docs/docs/cmd/spo/file/file-checkin.md +1 -1
  67. package/docs/docs/cmd/spo/file/file-checkout.md +1 -1
  68. package/docs/docs/cmd/spo/file/file-copy.md +1 -1
  69. package/docs/docs/cmd/spo/file/file-get.md +1 -1
  70. package/docs/docs/cmd/spo/file/file-list.md +9 -6
  71. package/docs/docs/cmd/spo/file/file-move.md +3 -3
  72. package/docs/docs/cmd/spo/file/file-remove.md +12 -0
  73. package/docs/docs/cmd/spo/file/file-rename.md +1 -1
  74. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.md +3 -3
  75. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.md +2 -2
  76. package/docs/docs/cmd/spo/file/file-roleassignment-add.md +1 -1
  77. package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +1 -1
  78. package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +1 -1
  79. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +1 -1
  80. package/docs/docs/cmd/spo/file/file-sharinginfo-get.md +1 -1
  81. package/docs/docs/cmd/spo/file/file-sharinglink-add.md +1 -1
  82. package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +1 -1
  83. package/docs/docs/cmd/spo/file/file-sharinglink-get.md +1 -1
  84. package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
  85. package/docs/docs/cmd/spo/file/file-sharinglink-remove.md +1 -1
  86. package/docs/docs/cmd/spo/file/file-sharinglink-set.md +1 -1
  87. package/docs/docs/cmd/spo/file/file-version-clear.md +2 -2
  88. package/docs/docs/cmd/spo/file/file-version-get.md +1 -1
  89. package/docs/docs/cmd/spo/file/file-version-list.md +1 -1
  90. package/docs/docs/cmd/spo/file/file-version-remove.md +1 -1
  91. package/docs/docs/cmd/spo/file/file-version-restore.md +1 -1
  92. package/docs/docs/cmd/spo/folder/folder-add.md +9 -3
  93. package/docs/docs/cmd/spo/folder/folder-copy.md +1 -1
  94. package/docs/docs/cmd/spo/folder/folder-get.md +7 -7
  95. package/docs/docs/cmd/spo/folder/folder-list.md +11 -11
  96. package/docs/docs/cmd/spo/folder/folder-move.md +1 -1
  97. package/docs/docs/cmd/spo/folder/folder-remove.md +7 -7
  98. package/docs/docs/cmd/spo/folder/folder-rename.md +11 -5
  99. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.md +3 -3
  100. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.md +1 -1
  101. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +1 -1
  102. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +4 -4
  103. package/docs/docs/cmd/spo/list/list-get.md +10 -0
  104. package/docs/docs/cmd/spo/list/list-list.md +28 -0
  105. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-list.md +19 -0
  106. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-remove.md +12 -0
  107. package/docs/docs/cmd/spo/orgnewssite/orgnewssite-list.md +6 -0
  108. package/docs/docs/cmd/spo/page/page-column-get.md +15 -0
  109. package/docs/docs/cmd/spo/page/page-column-list.md +16 -0
  110. package/docs/docs/cmd/spo/page/page-control-get.md +18 -0
  111. package/docs/docs/cmd/spo/page/page-control-list.md +18 -0
  112. package/docs/docs/cmd/spo/page/page-copy.md +35 -0
  113. package/docs/docs/cmd/spo/page/page-get.md +39 -0
  114. package/docs/docs/cmd/spo/page/page-list.md +53 -0
  115. package/docs/docs/cmd/spo/page/page-section-get.md +12 -0
  116. package/docs/docs/cmd/spo/page/page-section-list.md +13 -0
  117. package/docs/docs/cmd/spo/page/page-template-list.md +31 -0
  118. package/docs/docs/cmd/spo/propertybag/propertybag-get.md +6 -0
  119. package/docs/docs/cmd/spo/propertybag/propertybag-list.md +13 -0
  120. package/docs/docs/cmd/spo/report/report-activityfilecounts.md +7 -0
  121. package/docs/docs/cmd/spo/report/report-activitypages.md +7 -0
  122. package/docs/docs/cmd/spo/report/report-activityusercounts.md +7 -0
  123. package/docs/docs/cmd/spo/report/report-activityuserdetail.md +7 -0
  124. package/docs/docs/cmd/spo/report/report-siteusagedetail.md +7 -0
  125. package/docs/docs/cmd/spo/report/report-siteusagefilecounts.md +7 -0
  126. package/docs/docs/cmd/spo/report/report-siteusagepages.md +7 -0
  127. package/docs/docs/cmd/spo/report/report-siteusagesitecounts.md +7 -0
  128. package/docs/docs/cmd/spo/report/report-siteusagestorage.md +7 -0
  129. package/docs/docs/cmd/spo/roledefinition/roledefinition-get.md +20 -0
  130. package/docs/docs/cmd/spo/roledefinition/roledefinition-list.md +20 -0
  131. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-add.md +20 -0
  132. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-list.md +18 -0
  133. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-approve.md +20 -0
  134. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-list.md +17 -0
  135. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-set.md +13 -0
  136. package/docs/docs/cmd/spo/site/site-recyclebinitem-move.md +43 -0
  137. package/docs/docs/cmd/spo/site/site-recyclebinitem-remove.md +45 -0
  138. package/docs/docs/cmd/spo/term/term-add.md +107 -6
  139. package/docs/docs/cmd/spo/term/term-get.md +111 -10
  140. package/docs/docs/cmd/spo/term/term-group-get.md +71 -5
  141. package/docs/docs/cmd/spo/term/term-group-list.md +70 -2
  142. package/docs/docs/cmd/spo/term/term-list.md +80 -8
  143. package/docs/docs/cmd/spo/term/term-set-add.md +95 -11
  144. package/docs/docs/cmd/spo/term/term-set-get.md +92 -8
  145. package/docs/docs/cmd/spo/term/term-set-list.md +85 -5
  146. package/docs/docs/cmd/teams/app/app-list.md +17 -0
  147. package/docs/docs/cmd/teams/app/app-publish.md +18 -1
  148. package/docs/docs/cmd/teams/channel/channel-add.md +20 -0
  149. package/docs/docs/cmd/teams/channel/channel-get.md +21 -0
  150. package/docs/docs/cmd/teams/channel/channel-list.md +21 -0
  151. package/docs/docs/cmd/teams/channel/channel-member-list.md +20 -0
  152. package/docs/docs/cmd/teams/channel/channel-member-set.md +21 -0
  153. package/docs/docs/cmd/teams/chat/chat-get.md +22 -0
  154. package/docs/docs/cmd/teams/chat/chat-list.md +22 -0
  155. package/docs/docs/cmd/teams/chat/chat-member-list.md +20 -0
  156. package/docs/docs/cmd/teams/chat/chat-message-list.md +23 -0
  157. package/docs/docs/cmd/teams/funsettings/funsettings-list.md +15 -0
  158. package/docs/docs/cmd/teams/guestsettings/guestsettings-list.md +13 -0
  159. package/docs/docs/cmd/teams/membersettings/membersettings-list.md +17 -0
  160. package/npm-shrinkwrap.json +267 -334
  161. package/package.json +12 -12
package/.eslintrc.js CHANGED
@@ -66,6 +66,7 @@ const dictionary = [
66
66
  'o365',
67
67
  'permission',
68
68
  'place',
69
+ 'policy',
69
70
  'property',
70
71
  'records',
71
72
  'recycle',
@@ -73,6 +74,7 @@ const dictionary = [
73
74
  'role',
74
75
  'room',
75
76
  'schema',
77
+ 'sensitivity',
76
78
  'service',
77
79
  'set',
78
80
  'setting',
package/.mocharc.json CHANGED
@@ -3,6 +3,7 @@
3
3
  "ts"
4
4
  ],
5
5
  "spec": "dist/**/*.spec.js",
6
+ "reporter": "min",
6
7
  "require": "source-map-support/register",
7
8
  "watch": "dist/**/*.js",
8
9
  "timeout": 10000,
package/README.md CHANGED
@@ -74,15 +74,20 @@
74
74
  - Access all your Microsoft 365 workloads
75
75
  - Supported workloads
76
76
  - Azure Active Directory
77
+ - Bookings
77
78
  - Microsoft Teams
78
79
  - Microsoft To Do
79
80
  - OneDrive
81
+ - OneNote
80
82
  - Outlook
81
83
  - Planner
82
84
  - Power Automate
83
85
  - Power Apps
86
+ - Power Platform
87
+ - Purview
84
88
  - Skype for Business
85
89
  - SharePoint Online
90
+ - To Do
86
91
  - Yammer
87
92
  - Supported authentication methods
88
93
  - Azure Managed Identity
@@ -98,7 +103,7 @@
98
103
 
99
104
  ## Install
100
105
 
101
- To install this CLI, you will need [`node`](https://nodejs.org) `>= 8.0.0` installed.
106
+ To use the CLI for Microsoft 365 you need [`Node.js`](https://nodejs.org). The CLI has been tested with Node.js versions 18 and higher, but we recommend you to use the Node.js LTS version available at the moment.
102
107
 
103
108
  ```
104
109
  npm install -g @pnp/cli-microsoft365
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = {
4
+ DOCS: 'docs',
4
5
  LOGIN: `login`,
5
6
  LOGOUT: `logout`,
6
7
  REQUEST: `request`,
@@ -0,0 +1,42 @@
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 AnonymousCommand_1 = require("../base/AnonymousCommand");
13
+ const Cli_1 = require("../../cli/Cli");
14
+ const commands_1 = require("./commands");
15
+ const settingsNames_1 = require("../../settingsNames");
16
+ const packageJSON = require('../../../package.json');
17
+ class DocsCommand extends AnonymousCommand_1.default {
18
+ get name() {
19
+ return commands_1.default.DOCS;
20
+ }
21
+ get description() {
22
+ return 'Returns the CLI for Microsoft 365 docs webpage URL';
23
+ }
24
+ commandAction(logger) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ logger.log(packageJSON.homepage);
27
+ if (Cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.autoOpenLinksInBrowser, false) === false) {
28
+ return;
29
+ }
30
+ // _open is never set before hitting this line, but this check
31
+ // is implemented so that we can support lazy loading
32
+ // but also stub it for testing
33
+ /* c8 ignore next 3 */
34
+ if (!this._open) {
35
+ this._open = require('open');
36
+ }
37
+ yield this._open(packageJSON.homepage);
38
+ });
39
+ }
40
+ }
41
+ module.exports = new DocsCommand();
42
+ //# sourceMappingURL=docs.js.map
@@ -145,7 +145,7 @@ _LoginCommand_instances = new WeakSet(), _LoginCommand_initTelemetry = function
145
145
  }, {
146
146
  option: '--tenant [tenant]'
147
147
  }, {
148
- option: '--secret [secret]'
148
+ option: '-s, --secret [secret]'
149
149
  }, {
150
150
  option: '--cloud [cloud]',
151
151
  autocomplete: misc_1.misc.getEnums(Auth_1.CloudType)
@@ -0,0 +1,101 @@
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 _PaAppConsentSetCommand_instances, _PaAppConsentSetCommand_initOptions, _PaAppConsentSetCommand_initValidators, _PaAppConsentSetCommand_initTypes;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ const request_1 = require("../../../../request");
20
+ const validation_1 = require("../../../../utils/validation");
21
+ const PowerAppsCommand_1 = require("../../../base/PowerAppsCommand");
22
+ const commands_1 = require("../../commands");
23
+ class PaAppConsentSetCommand extends PowerAppsCommand_1.default {
24
+ get name() {
25
+ return commands_1.default.APP_CONSENT_SET;
26
+ }
27
+ get description() {
28
+ return 'Configures if users can bypass the API Consent window for the selected canvas app';
29
+ }
30
+ constructor() {
31
+ super();
32
+ _PaAppConsentSetCommand_instances.add(this);
33
+ __classPrivateFieldGet(this, _PaAppConsentSetCommand_instances, "m", _PaAppConsentSetCommand_initOptions).call(this);
34
+ __classPrivateFieldGet(this, _PaAppConsentSetCommand_instances, "m", _PaAppConsentSetCommand_initValidators).call(this);
35
+ __classPrivateFieldGet(this, _PaAppConsentSetCommand_instances, "m", _PaAppConsentSetCommand_initTypes).call(this);
36
+ }
37
+ commandAction(logger, args) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ if (this.verbose) {
40
+ logger.logToStderr(`Setting the bypass consent for the Microsoft Power App ${args.options.name}... to ${args.options.bypass}`);
41
+ }
42
+ if (args.options.confirm) {
43
+ yield this.consentPaApp(args);
44
+ }
45
+ else {
46
+ const result = yield Cli_1.Cli.prompt({
47
+ type: 'confirm',
48
+ name: 'continue',
49
+ default: false,
50
+ message: `Are you sure you bypass the consent for the Microsoft Power App ${args.options.name} to ${args.options.bypass}?`
51
+ });
52
+ if (result.continue) {
53
+ yield this.consentPaApp(args);
54
+ }
55
+ }
56
+ });
57
+ }
58
+ consentPaApp(args) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const requestOptions = {
61
+ url: `${this.resource}/providers/Microsoft.PowerApps/scopes/admin/environments/${args.options.environment}/apps/${args.options.name}/setPowerAppConnectionDirectConsentBypass?api-version=2021-02-01`,
62
+ headers: {
63
+ accept: 'application/json;odata.metadata=none'
64
+ },
65
+ responseType: 'json',
66
+ data: {
67
+ bypassconsent: args.options.bypass
68
+ }
69
+ };
70
+ try {
71
+ yield request_1.default.post(requestOptions);
72
+ }
73
+ catch (err) {
74
+ this.handleRejectedODataJsonPromise(err);
75
+ }
76
+ });
77
+ }
78
+ }
79
+ _PaAppConsentSetCommand_instances = new WeakSet(), _PaAppConsentSetCommand_initOptions = function _PaAppConsentSetCommand_initOptions() {
80
+ this.options.unshift({
81
+ option: '-e, --environment <environment>'
82
+ }, {
83
+ option: '-n, --name <name>'
84
+ }, {
85
+ option: '-b, --bypass <bypass>',
86
+ autocomplete: ['true', 'false']
87
+ }, {
88
+ option: '--confirm'
89
+ });
90
+ }, _PaAppConsentSetCommand_initValidators = function _PaAppConsentSetCommand_initValidators() {
91
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
92
+ if (!validation_1.validation.isValidGuid(args.options.name)) {
93
+ return `${args.options.name} is not a valid GUID`;
94
+ }
95
+ return true;
96
+ }));
97
+ }, _PaAppConsentSetCommand_initTypes = function _PaAppConsentSetCommand_initTypes() {
98
+ this.types.boolean.push('bypass');
99
+ };
100
+ module.exports = new PaAppConsentSetCommand();
101
+ //# sourceMappingURL=app-consent-set.js.map
@@ -6,6 +6,7 @@ exports.default = {
6
6
  APP_GET: `${prefix} app get`,
7
7
  APP_LIST: `${prefix} app list`,
8
8
  APP_REMOVE: `${prefix} app remove`,
9
+ APP_CONSENT_SET: `${prefix} app consent set`,
9
10
  CONNECTOR_EXPORT: `${prefix} connector export`,
10
11
  CONNECTOR_LIST: `${prefix} connector list`,
11
12
  ENVIRONMENT_GET: `${prefix} environment get`,
@@ -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 _PurviewSensitivityLabelGetCommand_instances, _PurviewSensitivityLabelGetCommand_initTelemetry, _PurviewSensitivityLabelGetCommand_initOptions, _PurviewSensitivityLabelGetCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
19
+ const GraphCommand_1 = require("../../../base/GraphCommand");
20
+ const commands_1 = require("../../commands");
21
+ const request_1 = require("../../../../request");
22
+ const validation_1 = require("../../../../utils/validation");
23
+ const accessToken_1 = require("../../../../utils/accessToken");
24
+ class PurviewSensitivityLabelGetCommand extends GraphCommand_1.default {
25
+ get name() {
26
+ return commands_1.default.SENSITIVITYLABEL_GET;
27
+ }
28
+ get description() {
29
+ return 'Retrieve the specified sensitivity label';
30
+ }
31
+ constructor() {
32
+ super();
33
+ _PurviewSensitivityLabelGetCommand_instances.add(this);
34
+ __classPrivateFieldGet(this, _PurviewSensitivityLabelGetCommand_instances, "m", _PurviewSensitivityLabelGetCommand_initTelemetry).call(this);
35
+ __classPrivateFieldGet(this, _PurviewSensitivityLabelGetCommand_instances, "m", _PurviewSensitivityLabelGetCommand_initOptions).call(this);
36
+ __classPrivateFieldGet(this, _PurviewSensitivityLabelGetCommand_instances, "m", _PurviewSensitivityLabelGetCommand_initValidators).call(this);
37
+ }
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const isAppOnlyAccessToken = accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken);
41
+ if (isAppOnlyAccessToken && !args.options.userId && !args.options.userName) {
42
+ this.handleError(`Specify at least 'userId' or 'userName' when using application permissions.`);
43
+ }
44
+ if (this.verbose) {
45
+ logger.logToStderr(`Retrieving sensitivity label with id ${args.options.id}`);
46
+ }
47
+ const requestUrl = args.options.userId || args.options.userName
48
+ ? `${this.resource}/beta/users/${args.options.userId || args.options.userName}/security/informationProtection/sensitivityLabels/${args.options.id}`
49
+ : `${this.resource}/beta/me/security/informationProtection/sensitivityLabels/${args.options.id}`;
50
+ const requestOptions = {
51
+ url: requestUrl,
52
+ headers: {
53
+ accept: 'application/json;odata.metadata=none'
54
+ },
55
+ responseType: 'json'
56
+ };
57
+ try {
58
+ const res = yield request_1.default.get(requestOptions);
59
+ logger.log(res);
60
+ }
61
+ catch (err) {
62
+ this.handleRejectedODataJsonPromise(err);
63
+ }
64
+ });
65
+ }
66
+ }
67
+ _PurviewSensitivityLabelGetCommand_instances = new WeakSet(), _PurviewSensitivityLabelGetCommand_initTelemetry = function _PurviewSensitivityLabelGetCommand_initTelemetry() {
68
+ this.telemetry.push((args) => {
69
+ Object.assign(this.telemetryProperties, {
70
+ userId: typeof args.options.userId !== 'undefined',
71
+ userName: typeof args.options.userName !== 'undefined'
72
+ });
73
+ });
74
+ }, _PurviewSensitivityLabelGetCommand_initOptions = function _PurviewSensitivityLabelGetCommand_initOptions() {
75
+ this.options.unshift({
76
+ option: '-i, --id <id>'
77
+ }, {
78
+ option: '--userId [userId]'
79
+ }, {
80
+ option: '--userName [userName]'
81
+ });
82
+ }, _PurviewSensitivityLabelGetCommand_initValidators = function _PurviewSensitivityLabelGetCommand_initValidators() {
83
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
84
+ if (!validation_1.validation.isValidGuid(args.options.id)) {
85
+ return `'${args.options.id}' is not a valid GUID.`;
86
+ }
87
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
88
+ return `${args.options.userId} is not a valid GUID`;
89
+ }
90
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
91
+ return `${args.options.userName} is not a valid user principal name (UPN)`;
92
+ }
93
+ return true;
94
+ }));
95
+ };
96
+ module.exports = new PurviewSensitivityLabelGetCommand();
97
+ //# sourceMappingURL=sensitivitylabel-get.js.map
@@ -0,0 +1,85 @@
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 _PurviewSensitivityLabelListCommand_instances, _PurviewSensitivityLabelListCommand_initTelemetry, _PurviewSensitivityLabelListCommand_initOptions, _PurviewSensitivityLabelListCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
19
+ const GraphCommand_1 = require("../../../base/GraphCommand");
20
+ const commands_1 = require("../../commands");
21
+ const validation_1 = require("../../../../utils/validation");
22
+ const accessToken_1 = require("../../../../utils/accessToken");
23
+ const odata_1 = require("../../../../utils/odata");
24
+ class PurviewSensitivityLabelListCommand extends GraphCommand_1.default {
25
+ get name() {
26
+ return commands_1.default.SENSITIVITYLABEL_LIST;
27
+ }
28
+ get description() {
29
+ return 'Get a list of sensitivity labels';
30
+ }
31
+ constructor() {
32
+ super();
33
+ _PurviewSensitivityLabelListCommand_instances.add(this);
34
+ __classPrivateFieldGet(this, _PurviewSensitivityLabelListCommand_instances, "m", _PurviewSensitivityLabelListCommand_initTelemetry).call(this);
35
+ __classPrivateFieldGet(this, _PurviewSensitivityLabelListCommand_instances, "m", _PurviewSensitivityLabelListCommand_initOptions).call(this);
36
+ __classPrivateFieldGet(this, _PurviewSensitivityLabelListCommand_instances, "m", _PurviewSensitivityLabelListCommand_initValidators).call(this);
37
+ }
38
+ defaultProperties() {
39
+ return ['id', 'name', 'isActive'];
40
+ }
41
+ commandAction(logger, args) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ const isAppOnlyAccessToken = accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken);
44
+ if (isAppOnlyAccessToken && !args.options.userId && !args.options.userName) {
45
+ this.handleError(`Specify at least 'userId' or 'userName' when using application permissions.`);
46
+ }
47
+ const requestUrl = args.options.userId || args.options.userName
48
+ ? `${this.resource}/beta/users/${args.options.userId || args.options.userName}/security/informationProtection/sensitivityLabels`
49
+ : `${this.resource}/beta/me/security/informationProtection/sensitivityLabels`;
50
+ try {
51
+ const items = yield odata_1.odata.getAllItems(requestUrl);
52
+ logger.log(items);
53
+ }
54
+ catch (err) {
55
+ this.handleRejectedODataJsonPromise(err);
56
+ }
57
+ });
58
+ }
59
+ }
60
+ _PurviewSensitivityLabelListCommand_instances = new WeakSet(), _PurviewSensitivityLabelListCommand_initTelemetry = function _PurviewSensitivityLabelListCommand_initTelemetry() {
61
+ this.telemetry.push((args) => {
62
+ Object.assign(this.telemetryProperties, {
63
+ userId: typeof args.options.userId !== 'undefined',
64
+ userName: typeof args.options.userName !== 'undefined'
65
+ });
66
+ });
67
+ }, _PurviewSensitivityLabelListCommand_initOptions = function _PurviewSensitivityLabelListCommand_initOptions() {
68
+ this.options.unshift({
69
+ option: '--userId [userId]'
70
+ }, {
71
+ option: '--userName [userName]'
72
+ });
73
+ }, _PurviewSensitivityLabelListCommand_initValidators = function _PurviewSensitivityLabelListCommand_initValidators() {
74
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
75
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
76
+ return `${args.options.userId} is not a valid GUID`;
77
+ }
78
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
79
+ return `${args.options.userName} is not a valid user principal name (UPN)`;
80
+ }
81
+ return true;
82
+ }));
83
+ };
84
+ module.exports = new PurviewSensitivityLabelListCommand();
85
+ //# sourceMappingURL=sensitivitylabel-list.js.map
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _PurviewSensitivityLabelPolicySettingsListCommand_instances, _PurviewSensitivityLabelPolicySettingsListCommand_initTelemetry, _PurviewSensitivityLabelPolicySettingsListCommand_initOptions, _PurviewSensitivityLabelPolicySettingsListCommand_initValidators;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Auth_1 = require("../../../../Auth");
19
+ const GraphCommand_1 = require("../../../base/GraphCommand");
20
+ const commands_1 = require("../../commands");
21
+ const request_1 = require("../../../../request");
22
+ const validation_1 = require("../../../../utils/validation");
23
+ const accessToken_1 = require("../../../../utils/accessToken");
24
+ class PurviewSensitivityLabelPolicySettingsListCommand extends GraphCommand_1.default {
25
+ get name() {
26
+ return commands_1.default.SENSITIVITYLABEL_POLICYSETTINGS_LIST;
27
+ }
28
+ get description() {
29
+ return 'Get a list of policy settings for a sensitivity label';
30
+ }
31
+ constructor() {
32
+ super();
33
+ _PurviewSensitivityLabelPolicySettingsListCommand_instances.add(this);
34
+ __classPrivateFieldGet(this, _PurviewSensitivityLabelPolicySettingsListCommand_instances, "m", _PurviewSensitivityLabelPolicySettingsListCommand_initTelemetry).call(this);
35
+ __classPrivateFieldGet(this, _PurviewSensitivityLabelPolicySettingsListCommand_instances, "m", _PurviewSensitivityLabelPolicySettingsListCommand_initOptions).call(this);
36
+ __classPrivateFieldGet(this, _PurviewSensitivityLabelPolicySettingsListCommand_instances, "m", _PurviewSensitivityLabelPolicySettingsListCommand_initValidators).call(this);
37
+ }
38
+ commandAction(logger, args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const isAppOnlyAccessToken = accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken);
41
+ if (isAppOnlyAccessToken && !args.options.userId && !args.options.userName) {
42
+ this.handleError(`Specify at least 'userId' or 'userName' when using application permissions.`);
43
+ }
44
+ const requestUrl = args.options.userId || args.options.userName
45
+ ? `${this.resource}/beta/users/${args.options.userId || args.options.userName}/security/informationProtection/labelPolicySettings`
46
+ : `${this.resource}/beta/me/security/informationProtection/labelPolicySettings`;
47
+ const requestOptions = {
48
+ url: requestUrl,
49
+ headers: {
50
+ accept: 'application/json;odata.metadata=none'
51
+ },
52
+ responseType: 'json'
53
+ };
54
+ try {
55
+ const res = yield request_1.default.get(requestOptions);
56
+ logger.log(res);
57
+ }
58
+ catch (err) {
59
+ this.handleRejectedODataJsonPromise(err);
60
+ }
61
+ });
62
+ }
63
+ }
64
+ _PurviewSensitivityLabelPolicySettingsListCommand_instances = new WeakSet(), _PurviewSensitivityLabelPolicySettingsListCommand_initTelemetry = function _PurviewSensitivityLabelPolicySettingsListCommand_initTelemetry() {
65
+ this.telemetry.push((args) => {
66
+ Object.assign(this.telemetryProperties, {
67
+ userId: typeof args.options.userId !== 'undefined',
68
+ userName: typeof args.options.userName !== 'undefined'
69
+ });
70
+ });
71
+ }, _PurviewSensitivityLabelPolicySettingsListCommand_initOptions = function _PurviewSensitivityLabelPolicySettingsListCommand_initOptions() {
72
+ this.options.unshift({
73
+ option: '--userId [userId]'
74
+ }, {
75
+ option: '--userName [userName]'
76
+ });
77
+ }, _PurviewSensitivityLabelPolicySettingsListCommand_initValidators = function _PurviewSensitivityLabelPolicySettingsListCommand_initValidators() {
78
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
79
+ if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
80
+ return `${args.options.userId} is not a valid GUID`;
81
+ }
82
+ if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
83
+ return `${args.options.userName} is not a valid user principal name (UPN)`;
84
+ }
85
+ return true;
86
+ }));
87
+ };
88
+ module.exports = new PurviewSensitivityLabelPolicySettingsListCommand();
89
+ //# sourceMappingURL=sensitivitylabel-policysettings-list.js.map
@@ -17,6 +17,9 @@ exports.default = {
17
17
  RETENTIONLABEL_LIST: `${prefix} retentionlabel list`,
18
18
  RETENTIONLABEL_REMOVE: `${prefix} retentionlabel remove`,
19
19
  RETENTIONLABEL_SET: `${prefix} retentionlabel set`,
20
+ SENSITIVITYLABEL_GET: `${prefix} sensitivitylabel get`,
21
+ SENSITIVITYLABEL_LIST: `${prefix} sensitivitylabel list`,
22
+ SENSITIVITYLABEL_POLICYSETTINGS_LIST: `${prefix} sensitivitylabel policysettings list`,
20
23
  THREATASSESSMENT_GET: `${prefix} threatassessment get`
21
24
  };
22
25
  //# sourceMappingURL=commands.js.map
@@ -17,6 +17,7 @@ var _SpoFileCheckinCommand_instances, _SpoFileCheckinCommand_initTelemetry, _Spo
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
19
  const formatting_1 = require("../../../../utils/formatting");
20
+ const urlUtil_1 = require("../../../../utils/urlUtil");
20
21
  const validation_1 = require("../../../../utils/validation");
21
22
  const SpoCommand_1 = require("../../../base/SpoCommand");
22
23
  const commands_1 = require("../../commands");
@@ -41,6 +42,9 @@ class SpoFileCheckinCommand extends SpoCommand_1.default {
41
42
  __classPrivateFieldGet(this, _SpoFileCheckinCommand_instances, "m", _SpoFileCheckinCommand_initValidators).call(this);
42
43
  __classPrivateFieldGet(this, _SpoFileCheckinCommand_instances, "m", _SpoFileCheckinCommand_initOptionSets).call(this);
43
44
  }
45
+ getExcludedOptionsWithUrls() {
46
+ return ['url'];
47
+ }
44
48
  commandAction(logger, args) {
45
49
  return __awaiter(this, void 0, void 0, function* () {
46
50
  let type = CheckinType.Major;
@@ -62,7 +66,8 @@ class SpoFileCheckinCommand extends SpoCommand_1.default {
62
66
  requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${formatting_1.formatting.encodeQueryParameter(args.options.id)}')/checkin(comment='${comment}',checkintype=${type})`;
63
67
  }
64
68
  if (args.options.url) {
65
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(args.options.url)}')/checkin(comment='${comment}',checkintype=${type})`;
69
+ const serverRelativePath = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
70
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(serverRelativePath)}')/checkin(comment='${comment}',checkintype=${type})`;
66
71
  }
67
72
  const requestOptions = {
68
73
  url: requestUrl,
@@ -83,8 +88,8 @@ class SpoFileCheckinCommand extends SpoCommand_1.default {
83
88
  _SpoFileCheckinCommand_instances = new WeakSet(), _SpoFileCheckinCommand_initTelemetry = function _SpoFileCheckinCommand_initTelemetry() {
84
89
  this.telemetry.push((args) => {
85
90
  Object.assign(this.telemetryProperties, {
86
- id: (!(!args.options.id)).toString(),
87
- url: (!(!args.options.url)).toString(),
91
+ id: typeof args.options.id !== 'undefined',
92
+ url: typeof args.options.url !== 'undefined',
88
93
  type: args.options.type || 'Major',
89
94
  comment: typeof args.options.comment !== 'undefined'
90
95
  });
@@ -17,6 +17,7 @@ var _SpoFileCheckoutCommand_instances, _SpoFileCheckoutCommand_initTelemetry, _S
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
19
  const formatting_1 = require("../../../../utils/formatting");
20
+ const urlUtil_1 = require("../../../../utils/urlUtil");
20
21
  const validation_1 = require("../../../../utils/validation");
21
22
  const SpoCommand_1 = require("../../../base/SpoCommand");
22
23
  const commands_1 = require("../../commands");
@@ -35,6 +36,9 @@ class SpoFileCheckoutCommand extends SpoCommand_1.default {
35
36
  __classPrivateFieldGet(this, _SpoFileCheckoutCommand_instances, "m", _SpoFileCheckoutCommand_initValidators).call(this);
36
37
  __classPrivateFieldGet(this, _SpoFileCheckoutCommand_instances, "m", _SpoFileCheckoutCommand_initOptionSets).call(this);
37
38
  }
39
+ getExcludedOptionsWithUrls() {
40
+ return ['url'];
41
+ }
38
42
  commandAction(logger, args) {
39
43
  return __awaiter(this, void 0, void 0, function* () {
40
44
  let requestUrl = '';
@@ -42,7 +46,8 @@ class SpoFileCheckoutCommand extends SpoCommand_1.default {
42
46
  requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${formatting_1.formatting.encodeQueryParameter(args.options.id)}')/checkout`;
43
47
  }
44
48
  if (args.options.url) {
45
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(args.options.url)}')/checkout`;
49
+ const serverRelativePath = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
50
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(serverRelativePath)}')/checkout`;
46
51
  }
47
52
  const requestOptions = {
48
53
  url: requestUrl,
@@ -63,8 +68,8 @@ class SpoFileCheckoutCommand extends SpoCommand_1.default {
63
68
  _SpoFileCheckoutCommand_instances = new WeakSet(), _SpoFileCheckoutCommand_initTelemetry = function _SpoFileCheckoutCommand_initTelemetry() {
64
69
  this.telemetry.push((args) => {
65
70
  Object.assign(this.telemetryProperties, {
66
- id: (!(!args.options.id)).toString(),
67
- url: (!(!args.options.url)).toString()
71
+ id: typeof args.options.id !== 'undefined',
72
+ url: typeof args.options.url !== 'undefined'
68
73
  });
69
74
  });
70
75
  }, _SpoFileCheckoutCommand_initOptions = function _SpoFileCheckoutCommand_initOptions() {
@@ -38,10 +38,7 @@ class SpoFileCopyCommand extends SpoCommand_1.default {
38
38
  commandAction(logger, args) {
39
39
  return __awaiter(this, void 0, void 0, function* () {
40
40
  try {
41
- if (this.verbose) {
42
- logger.logToStderr(`Copying file '${args.options.sourceUrl}' to '${args.options.targetUrl}'...`);
43
- }
44
- const sourcePath = this.getAbsoluteUrl(args.options.webUrl, args.options.sourceUrl);
41
+ const sourcePath = this.getAbsoluteUrl(args.options.webUrl, urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.sourceUrl));
45
42
  let destinationPath = this.getAbsoluteUrl(args.options.webUrl, args.options.targetUrl) + '/';
46
43
  if (args.options.newName) {
47
44
  destinationPath += args.options.newName;
@@ -50,6 +47,9 @@ class SpoFileCopyCommand extends SpoCommand_1.default {
50
47
  // Keep the original file name
51
48
  destinationPath += sourcePath.substring(sourcePath.lastIndexOf('/') + 1);
52
49
  }
50
+ if (this.verbose) {
51
+ logger.logToStderr(`Copying file '${sourcePath}' to '${destinationPath}'...`);
52
+ }
53
53
  const requestOptions = {
54
54
  url: `${args.options.webUrl}/_api/SP.MoveCopyUtil.CopyFileByPath`,
55
55
  headers: {
@@ -19,6 +19,7 @@ const fs = require("fs");
19
19
  const path = require("path");
20
20
  const request_1 = require("../../../../request");
21
21
  const formatting_1 = require("../../../../utils/formatting");
22
+ const urlUtil_1 = require("../../../../utils/urlUtil");
22
23
  const validation_1 = require("../../../../utils/validation");
23
24
  const SpoCommand_1 = require("../../../base/SpoCommand");
24
25
  const commands_1 = require("../../commands");
@@ -66,7 +67,8 @@ class SpoFileGetCommand extends SpoCommand_1.default {
66
67
  else {
67
68
  options += '&';
68
69
  }
69
- options += `@f='${formatting_1.formatting.encodeQueryParameter(args.options.url)}'`;
70
+ const serverRelativePath = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
71
+ options += `@f='${formatting_1.formatting.encodeQueryParameter(serverRelativePath)}'`;
70
72
  }
71
73
  const requestOptions = {
72
74
  url: requestUrl + options,