@pnp/cli-microsoft365 6.2.0 → 6.3.0-beta.1336e33
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.
- package/.eslintrc.js +8 -0
- package/dist/Auth.js +0 -18
- package/dist/Command.js +12 -1
- package/dist/cli/Cli.js +4 -1
- package/dist/m365/aad/commands/group/group-list.js +2 -1
- package/dist/m365/base/O365MgmtCommand.js +10 -0
- package/dist/m365/context/commands/option/option-list.js +54 -0
- package/dist/m365/context/commands.js +1 -0
- package/dist/m365/file/commands/convert/convert-pdf.js +7 -6
- package/dist/m365/flow/commands/run/run-list.js +55 -3
- package/dist/m365/graph/commands/changelog/changelog-list.js +3 -2
- package/dist/m365/onenote/commands/notebook/notebook-list.js +50 -53
- package/dist/m365/onenote/commands/page/page-list.js +2 -16
- package/dist/m365/outlook/commands/mail/mail-send.js +3 -2
- package/dist/m365/outlook/commands/message/message-get.js +4 -3
- package/dist/m365/planner/commands/plan/plan-add.js +20 -6
- package/dist/m365/planner/commands/plan/plan-get.js +40 -26
- package/dist/m365/planner/commands/plan/plan-list.js +24 -14
- package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
- package/dist/m365/planner/commands/plan/plan-set.js +21 -10
- package/dist/m365/planner/commands/roster/roster-add.js +47 -0
- package/dist/m365/planner/commands/roster/roster-get.js +61 -0
- package/dist/m365/planner/commands/roster/roster-member-add.js +113 -0
- package/dist/m365/planner/commands/roster/roster-member-list.js +54 -0
- package/dist/m365/planner/commands/roster/roster-remove.js +88 -0
- package/dist/m365/planner/commands/task/task-add.js +3 -0
- package/dist/m365/planner/commands/task/task-checklistitem-add.js +2 -1
- package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
- package/dist/m365/planner/commands.js +5 -0
- package/dist/m365/pp/commands/solution/solution-get.js +2 -1
- package/dist/m365/pp/commands/solution/solution-list.js +2 -1
- package/dist/m365/purview/commands/auditlog/auditlog-list.js +205 -0
- package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +76 -0
- package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +47 -0
- package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +92 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +77 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +70 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +44 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +97 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +90 -0
- package/dist/m365/purview/commands.js +9 -0
- package/dist/m365/spfx/commands/project/WebApiPermissionRequests.js +3 -0
- package/dist/m365/spfx/commands/project/project-permissions-grant.js +81 -0
- package/dist/m365/spfx/commands.js +3 -2
- package/dist/m365/spo/commands/app/app-add.js +2 -1
- package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +95 -0
- package/dist/m365/spo/commands/customaction/customaction-get.js +17 -66
- package/dist/m365/spo/commands/customaction/customaction-list.js +2 -36
- package/dist/m365/spo/commands/customaction/customaction-remove.js +11 -18
- package/dist/m365/spo/commands/file/GraphFileDetails.js +0 -1
- package/dist/m365/spo/commands/file/file-sharinginfo-get.js +2 -1
- package/dist/m365/spo/commands/file/file-sharinglink-add.js +2 -22
- package/dist/m365/spo/commands/file/file-sharinglink-clear.js +137 -0
- package/dist/m365/spo/commands/file/file-sharinglink-get.js +2 -25
- package/dist/m365/spo/commands/file/file-sharinglink-list.js +9 -29
- package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -25
- package/dist/m365/spo/commands/file/file-sharinglink-set.js +104 -0
- package/dist/m365/spo/commands/group/group-list.js +2 -1
- package/dist/m365/spo/commands/hubsite/hubsite-get.js +1 -1
- package/dist/m365/spo/commands/listitem/listitem-add.js +2 -1
- package/dist/m365/spo/commands/listitem/listitem-list.js +2 -1
- package/dist/m365/spo/commands/navigation/navigation-node-add.js +17 -3
- package/dist/m365/spo/commands/navigation/navigation-node-get.js +73 -0
- package/dist/m365/spo/commands/navigation/navigation-node-list.js +4 -7
- package/dist/m365/spo/commands/navigation/navigation-node-set.js +118 -0
- package/dist/m365/spo/commands/page/page-column-get.js +2 -1
- package/dist/m365/spo/commands/page/page-column-list.js +2 -1
- package/dist/m365/spo/commands/page/page-section-get.js +2 -1
- package/dist/m365/spo/commands/page/page-section-list.js +2 -1
- package/dist/m365/spo/commands/site/site-apppermission-add.js +2 -14
- package/dist/m365/spo/commands/site/site-apppermission-get.js +2 -14
- package/dist/m365/spo/commands/site/site-apppermission-list.js +2 -14
- package/dist/m365/spo/commands/site/site-apppermission-remove.js +2 -14
- package/dist/m365/spo/commands/site/site-apppermission-set.js +2 -14
- package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +6 -0
- package/dist/m365/spo/commands/spo-search.js +2 -1
- package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-add.js +179 -0
- package/dist/m365/spo/commands/term/term-list.js +2 -1
- package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -2
- package/dist/m365/spo/commands/web/web-set.js +11 -4
- package/dist/m365/spo/commands.js +6 -0
- package/dist/m365/teams/commands/chat/chat-list.js +4 -4
- package/dist/m365/teams/commands/meeting/meeting-attendancereport-list.js +5 -5
- package/dist/m365/teams/commands/meeting/meeting-get.js +5 -5
- package/dist/m365/teams/commands/meeting/meeting-list.js +5 -4
- package/dist/m365/teams/commands/team/team-app-list.js +1 -1
- package/dist/m365/teams/commands/user/user-app-list.js +2 -1
- package/dist/m365/todo/commands/task/task-get.js +2 -1
- package/dist/m365/todo/commands/task/task-list.js +2 -1
- package/dist/m365/yammer/commands/yammer-search.js +2 -1
- package/dist/utils/accessToken.js +1 -1
- package/dist/utils/planner.js +16 -5
- package/dist/utils/spo.js +116 -0
- package/docs/docs/cmd/aad/app/app-list.md +3 -0
- package/docs/docs/cmd/aad/user/user-set.md +1 -1
- package/docs/docs/cmd/context/option/option-list.md +63 -0
- package/docs/docs/cmd/flow/run/run-list.md +21 -0
- package/docs/docs/cmd/login.md +26 -0
- package/docs/docs/cmd/logout.md +4 -0
- package/docs/docs/cmd/pa/app/app-get.md +24 -0
- package/docs/docs/cmd/pa/app/app-list.md +21 -0
- package/docs/docs/cmd/pa/connector/connector-list.md +17 -0
- package/docs/docs/cmd/pa/environment/environment-get.md +18 -0
- package/docs/docs/cmd/pa/environment/environment-list.md +19 -0
- package/docs/docs/cmd/planner/plan/plan-add.md +17 -6
- package/docs/docs/cmd/planner/plan/plan-get.md +21 -7
- package/docs/docs/cmd/planner/plan/plan-list.md +16 -2
- package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
- package/docs/docs/cmd/planner/plan/plan-set.md +10 -4
- package/docs/docs/cmd/planner/roster/roster-add.md +60 -0
- package/docs/docs/cmd/planner/roster/roster-get.md +73 -0
- package/docs/docs/cmd/planner/roster/roster-member-add.md +87 -0
- package/docs/docs/cmd/planner/roster/roster-member-list.md +76 -0
- package/docs/docs/cmd/planner/roster/roster-remove.md +48 -0
- package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.md +43 -0
- package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.md +43 -0
- package/docs/docs/cmd/pp/card/card-clone.md +12 -0
- package/docs/docs/cmd/pp/card/card-get.md +49 -0
- package/docs/docs/cmd/pp/card/card-list.md +49 -0
- package/docs/docs/cmd/pp/chatbot/chatbot-get.md +55 -0
- package/docs/docs/cmd/pp/chatbot/chatbot-list.md +36 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +30 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +30 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.md +30 -0
- package/docs/docs/cmd/pp/environment/environment-get.md +19 -0
- package/docs/docs/cmd/pp/environment/environment-list.md +19 -0
- package/docs/docs/cmd/pp/gateway/gateway-get.md +19 -0
- package/docs/docs/cmd/pp/gateway/gateway-list.md +19 -0
- package/docs/docs/cmd/pp/managementapp/managementapp-add.md +12 -0
- package/docs/docs/cmd/pp/managementapp/managementapp-list.md +12 -0
- package/docs/docs/cmd/pp/solution/solution-get.md +14 -0
- package/docs/docs/cmd/pp/solution/solution-list.md +14 -0
- package/docs/docs/cmd/pp/solution/solution-publisher-get.md +20 -1
- package/docs/docs/cmd/pp/solution/solution-publisher-list.md +18 -0
- package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +21 -0
- package/docs/docs/cmd/purview/auditlog/auditlog-list.md +123 -0
- package/docs/docs/cmd/purview/retentionevent/retentionevent-get.md +132 -0
- package/docs/docs/cmd/purview/retentionevent/retentionevent-list.md +107 -0
- package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.md +42 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.md +106 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +100 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.md +97 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.md +43 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.md +43 -0
- package/docs/docs/cmd/request.md +74 -0
- package/docs/docs/cmd/spfx/project/project-permissions-grant.md +65 -0
- package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +56 -0
- package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +46 -0
- package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-set.md +104 -0
- package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +2 -2
- package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +2 -2
- package/docs/docs/cmd/spo/navigation/navigation-node-add.md +18 -3
- package/docs/docs/cmd/spo/navigation/navigation-node-get.md +91 -0
- package/docs/docs/cmd/spo/navigation/navigation-node-list.md +30 -0
- package/docs/docs/cmd/spo/navigation/navigation-node-remove.md +1 -1
- package/docs/docs/cmd/spo/navigation/navigation-node-set.md +59 -0
- package/docs/docs/cmd/spo/sitedesign/sitedesign-add.md +3 -0
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.md +59 -0
- package/docs/docs/cmd/spo/web/web-set.md +9 -0
- package/docs/docs/cmd/status.md +46 -0
- package/docs/docs/cmd/version.md +26 -0
- package/npm-shrinkwrap.json +913 -878
- package/package.json +13 -13
package/.eslintrc.js
CHANGED
|
@@ -7,9 +7,11 @@ const dictionary = [
|
|
|
7
7
|
'adaptive',
|
|
8
8
|
'ai',
|
|
9
9
|
'app',
|
|
10
|
+
'application',
|
|
10
11
|
'apply',
|
|
11
12
|
'approve',
|
|
12
13
|
'assets',
|
|
14
|
+
'audit',
|
|
13
15
|
'bin',
|
|
14
16
|
'builder',
|
|
15
17
|
'catalog',
|
|
@@ -19,8 +21,11 @@ const dictionary = [
|
|
|
19
21
|
'content',
|
|
20
22
|
'conversation',
|
|
21
23
|
'custom',
|
|
24
|
+
'customizer',
|
|
22
25
|
'dataverse',
|
|
23
26
|
'default',
|
|
27
|
+
'event',
|
|
28
|
+
'eventreceiver',
|
|
24
29
|
'external',
|
|
25
30
|
'externalize',
|
|
26
31
|
'fun',
|
|
@@ -43,6 +48,9 @@ const dictionary = [
|
|
|
43
48
|
'label',
|
|
44
49
|
'list',
|
|
45
50
|
'link',
|
|
51
|
+
'log',
|
|
52
|
+
'login',
|
|
53
|
+
'logout',
|
|
46
54
|
'management',
|
|
47
55
|
'member',
|
|
48
56
|
'messaging',
|
package/dist/Auth.js
CHANGED
|
@@ -573,24 +573,6 @@ class Auth {
|
|
|
573
573
|
getMsalCacheStorage() {
|
|
574
574
|
return new FileTokenStorage_1.FileTokenStorage(FileTokenStorage_1.FileTokenStorage.msalCacheFilePath());
|
|
575
575
|
}
|
|
576
|
-
static isAppOnlyAuth(accessToken) {
|
|
577
|
-
let isAppOnlyAuth;
|
|
578
|
-
if (!accessToken || accessToken.length === 0) {
|
|
579
|
-
return isAppOnlyAuth;
|
|
580
|
-
}
|
|
581
|
-
const chunks = accessToken.split('.');
|
|
582
|
-
if (chunks.length !== 3) {
|
|
583
|
-
return isAppOnlyAuth;
|
|
584
|
-
}
|
|
585
|
-
const tokenString = Buffer.from(chunks[1], 'base64').toString();
|
|
586
|
-
try {
|
|
587
|
-
const token = JSON.parse(tokenString);
|
|
588
|
-
isAppOnlyAuth = !token.upn;
|
|
589
|
-
}
|
|
590
|
-
catch (_a) {
|
|
591
|
-
}
|
|
592
|
-
return isAppOnlyAuth;
|
|
593
|
-
}
|
|
594
576
|
}
|
|
595
577
|
exports.Auth = Auth;
|
|
596
578
|
exports.default = new Auth();
|
package/dist/Command.js
CHANGED
|
@@ -481,7 +481,18 @@ class Command {
|
|
|
481
481
|
if (!l) {
|
|
482
482
|
return;
|
|
483
483
|
}
|
|
484
|
-
|
|
484
|
+
const title = this.getLogItemTitle(l);
|
|
485
|
+
const id = this.getLogItemId(l);
|
|
486
|
+
if (title && id) {
|
|
487
|
+
output.push(`## ${title} (${id})`, os.EOL, os.EOL);
|
|
488
|
+
}
|
|
489
|
+
else if (title) {
|
|
490
|
+
output.push(`## ${title}`, os.EOL, os.EOL);
|
|
491
|
+
}
|
|
492
|
+
else if (id) {
|
|
493
|
+
output.push(`## ${id}`, os.EOL, os.EOL);
|
|
494
|
+
}
|
|
495
|
+
output.push(`Property | Value`, os.EOL, `---------|-------`, os.EOL);
|
|
485
496
|
output.push(Object.keys(l).map(k => {
|
|
486
497
|
const value = l[k];
|
|
487
498
|
let stringValue = value;
|
package/dist/cli/Cli.js
CHANGED
|
@@ -458,7 +458,7 @@ class Cli {
|
|
|
458
458
|
// data so that returned objects contain only default properties specified
|
|
459
459
|
// on the current command. If there is no current command or the
|
|
460
460
|
// command doesn't specify default properties, return original data
|
|
461
|
-
if (
|
|
461
|
+
if (this.shouldTrimOutput(options.output)) {
|
|
462
462
|
const cli = Cli.getInstance();
|
|
463
463
|
const currentCommand = cli.commandToExecute;
|
|
464
464
|
if (arrayType === 'object' &&
|
|
@@ -753,6 +753,9 @@ class Cli {
|
|
|
753
753
|
}
|
|
754
754
|
});
|
|
755
755
|
}
|
|
756
|
+
static shouldTrimOutput(output) {
|
|
757
|
+
return output === 'text' || output === 'csv';
|
|
758
|
+
}
|
|
756
759
|
}
|
|
757
760
|
exports.Cli = Cli;
|
|
758
761
|
Cli.defaultHelpMode = 'full';
|
|
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _AadGroupListCommand_instances, _AadGroupListCommand_initTelemetry, _AadGroupListCommand_initOptions;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
18
19
|
const odata_1 = require("../../../../utils/odata");
|
|
19
20
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
20
21
|
const commands_1 = require("../../commands");
|
|
@@ -39,7 +40,7 @@ class AadGroupListCommand extends GraphCommand_1.default {
|
|
|
39
40
|
const endpoint = args.options.deleted ? 'directory/deletedItems/microsoft.graph.group' : 'groups';
|
|
40
41
|
try {
|
|
41
42
|
const groups = yield odata_1.odata.getAllItems(`${this.resource}/v1.0/${endpoint}`);
|
|
42
|
-
if (args.options.output
|
|
43
|
+
if (Cli_1.Cli.shouldTrimOutput(args.options.output)) {
|
|
43
44
|
groups.forEach((group) => {
|
|
44
45
|
if (group.groupTypes && group.groupTypes.length > 0 && group.groupTypes[0] === 'Unified') {
|
|
45
46
|
group.groupType = 'Microsoft 365';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Command_1 = require("../../Command");
|
|
4
|
+
class O365MgmtCommand extends Command_1.default {
|
|
5
|
+
get resource() {
|
|
6
|
+
return 'https://manage.office.com';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.default = O365MgmtCommand;
|
|
10
|
+
//# sourceMappingURL=O365MgmtCommand.js.map
|
|
@@ -0,0 +1,54 @@
|
|
|
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 fs = require("fs");
|
|
13
|
+
const Command_1 = require("../../../../Command");
|
|
14
|
+
const ContextCommand_1 = require("../../../base/ContextCommand");
|
|
15
|
+
const commands_1 = require("../../commands");
|
|
16
|
+
class ContextOptionListCommand extends ContextCommand_1.default {
|
|
17
|
+
get name() {
|
|
18
|
+
return commands_1.default.OPTION_LIST;
|
|
19
|
+
}
|
|
20
|
+
get description() {
|
|
21
|
+
return 'List all options added to the context';
|
|
22
|
+
}
|
|
23
|
+
commandAction(logger) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
if (this.verbose) {
|
|
26
|
+
logger.logToStderr(`Retrieving context options...`);
|
|
27
|
+
}
|
|
28
|
+
const filePath = '.m365rc.json';
|
|
29
|
+
let m365rc = {};
|
|
30
|
+
if (fs.existsSync(filePath)) {
|
|
31
|
+
try {
|
|
32
|
+
if (this.verbose) {
|
|
33
|
+
logger.logToStderr(`Reading context file...`);
|
|
34
|
+
}
|
|
35
|
+
const fileContents = fs.readFileSync(filePath, 'utf8');
|
|
36
|
+
if (fileContents) {
|
|
37
|
+
m365rc = JSON.parse(fileContents);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
throw new Command_1.CommandError(`Error reading ${filePath}: ${e}. Please retrieve context options from ${filePath} manually.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (!m365rc.context) {
|
|
45
|
+
throw new Command_1.CommandError(`No context present`);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
logger.log(m365rc.context);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
module.exports = new ContextOptionListCommand();
|
|
54
|
+
//# sourceMappingURL=option-list.js.map
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const prefix = 'context';
|
|
4
4
|
exports.default = {
|
|
5
5
|
INIT: `${prefix} init`,
|
|
6
|
+
OPTION_LIST: `${prefix} option list`,
|
|
6
7
|
OPTION_REMOVE: `${prefix} option remove`,
|
|
7
8
|
OPTION_SET: `${prefix} option set`,
|
|
8
9
|
REMOVE: `${prefix} remove`
|
|
@@ -23,6 +23,7 @@ const uuid_1 = require("uuid");
|
|
|
23
23
|
const Auth_1 = require("../../../../Auth");
|
|
24
24
|
const Command_1 = require("../../../../Command");
|
|
25
25
|
const request_1 = require("../../../../request");
|
|
26
|
+
const accessToken_1 = require("../../../../utils/accessToken");
|
|
26
27
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
27
28
|
const commands_1 = require("../../commands");
|
|
28
29
|
class FileConvertPdfCommand extends GraphCommand_1.default {
|
|
@@ -46,8 +47,8 @@ class FileConvertPdfCommand extends GraphCommand_1.default {
|
|
|
46
47
|
let sourceIsLocalFile = true;
|
|
47
48
|
let targetIsLocalFile = true;
|
|
48
49
|
let error;
|
|
49
|
-
const
|
|
50
|
-
if (typeof
|
|
50
|
+
const isAppOnlyAccessToken = accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[Auth_1.default.defaultResource].accessToken);
|
|
51
|
+
if (typeof isAppOnlyAccessToken === 'undefined') {
|
|
51
52
|
throw 'Unable to determine authentication type';
|
|
52
53
|
}
|
|
53
54
|
if (args.options.sourceFile.toLowerCase().startsWith('https://')) {
|
|
@@ -62,7 +63,7 @@ class FileConvertPdfCommand extends GraphCommand_1.default {
|
|
|
62
63
|
}
|
|
63
64
|
try {
|
|
64
65
|
try {
|
|
65
|
-
sourceFileUrl = yield this.getSourceFileUrl(logger, args,
|
|
66
|
+
sourceFileUrl = yield this.getSourceFileUrl(logger, args, isAppOnlyAccessToken);
|
|
66
67
|
const graphFileUrl = yield this.getGraphFileUrl(logger, sourceFileUrl, this.sourceFileGraphUrl);
|
|
67
68
|
const fileResponse = yield this.convertFile(logger, graphFileUrl);
|
|
68
69
|
yield this.writeFileToDisk(logger, fileResponse, localTargetFilePath);
|
|
@@ -114,17 +115,17 @@ class FileConvertPdfCommand extends GraphCommand_1.default {
|
|
|
114
115
|
* file to the user's OneDrive for Business
|
|
115
116
|
* @param logger Logger instance
|
|
116
117
|
* @param args Command args
|
|
117
|
-
* @param
|
|
118
|
+
* @param isAppOnlyAccessToken True if CLI is authenticated in app-only mode
|
|
118
119
|
* @returns Web URL of the file to upload
|
|
119
120
|
*/
|
|
120
|
-
getSourceFileUrl(logger, args,
|
|
121
|
+
getSourceFileUrl(logger, args, isAppOnlyAccessToken) {
|
|
121
122
|
if (args.options.sourceFile.toLowerCase().startsWith('https://')) {
|
|
122
123
|
return Promise.resolve(args.options.sourceFile);
|
|
123
124
|
}
|
|
124
125
|
if (this.verbose) {
|
|
125
126
|
logger.logToStderr('Uploading local file temporarily for conversion...');
|
|
126
127
|
}
|
|
127
|
-
const driveUrl = `${this.resource}/v1.0/${
|
|
128
|
+
const driveUrl = `${this.resource}/v1.0/${isAppOnlyAccessToken ? 'drive/root' : 'me/drive/root'}`;
|
|
128
129
|
// we need the original file extension because otherwise Graph won't be able
|
|
129
130
|
// to convert the file to PDF
|
|
130
131
|
this.sourceFileGraphUrl = `${driveUrl}:/${(0, uuid_1.v4)()}${path.extname(args.options.sourceFile)}`;
|
|
@@ -13,9 +13,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var _FlowRunListCommand_instances, _FlowRunListCommand_initOptions;
|
|
16
|
+
var _FlowRunListCommand_instances, _FlowRunListCommand_initTelemetry, _FlowRunListCommand_initOptions, _FlowRunListCommand_initValidators;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const formatting_1 = require("../../../../utils/formatting");
|
|
19
|
+
const validation_1 = require("../../../../utils/validation");
|
|
19
20
|
const AzmgmtItemsListCommand_1 = require("../../../base/AzmgmtItemsListCommand");
|
|
20
21
|
const commands_1 = require("../../commands");
|
|
21
22
|
class FlowRunListCommand extends AzmgmtItemsListCommand_1.AzmgmtItemsListCommand {
|
|
@@ -31,14 +32,21 @@ class FlowRunListCommand extends AzmgmtItemsListCommand_1.AzmgmtItemsListCommand
|
|
|
31
32
|
constructor() {
|
|
32
33
|
super();
|
|
33
34
|
_FlowRunListCommand_instances.add(this);
|
|
35
|
+
this.allowedStatusses = ['Succeeded', 'Running', 'Failed', 'Cancelled'];
|
|
36
|
+
__classPrivateFieldGet(this, _FlowRunListCommand_instances, "m", _FlowRunListCommand_initTelemetry).call(this);
|
|
34
37
|
__classPrivateFieldGet(this, _FlowRunListCommand_instances, "m", _FlowRunListCommand_initOptions).call(this);
|
|
38
|
+
__classPrivateFieldGet(this, _FlowRunListCommand_instances, "m", _FlowRunListCommand_initValidators).call(this);
|
|
35
39
|
}
|
|
36
40
|
commandAction(logger, args) {
|
|
37
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
42
|
if (this.verbose) {
|
|
39
43
|
logger.logToStderr(`Retrieving list of runs for Microsoft Flow ${args.options.flowName}...`);
|
|
40
44
|
}
|
|
41
|
-
|
|
45
|
+
let url = `${this.resource}providers/Microsoft.ProcessSimple/environments/${formatting_1.formatting.encodeQueryParameter(args.options.environmentName)}/flows/${formatting_1.formatting.encodeQueryParameter(args.options.flowName)}/runs?api-version=2016-11-01`;
|
|
46
|
+
const filters = this.getFilters(args.options);
|
|
47
|
+
if (filters.length > 0) {
|
|
48
|
+
url += `&$filter=${filters.join(' and ')}`;
|
|
49
|
+
}
|
|
42
50
|
try {
|
|
43
51
|
yield this.getAllItems(url, logger, true);
|
|
44
52
|
if (this.items.length > 0) {
|
|
@@ -59,13 +67,57 @@ class FlowRunListCommand extends AzmgmtItemsListCommand_1.AzmgmtItemsListCommand
|
|
|
59
67
|
}
|
|
60
68
|
});
|
|
61
69
|
}
|
|
70
|
+
getFilters(options) {
|
|
71
|
+
const filters = [];
|
|
72
|
+
if (options.status) {
|
|
73
|
+
filters.push(`status eq '${options.status}'`);
|
|
74
|
+
}
|
|
75
|
+
if (options.triggerStartTime) {
|
|
76
|
+
filters.push(`startTime ge ${options.triggerStartTime}`);
|
|
77
|
+
}
|
|
78
|
+
if (options.triggerEndTime) {
|
|
79
|
+
filters.push(`startTime lt ${options.triggerEndTime}`);
|
|
80
|
+
}
|
|
81
|
+
return filters;
|
|
82
|
+
}
|
|
62
83
|
}
|
|
63
|
-
_FlowRunListCommand_instances = new WeakSet(),
|
|
84
|
+
_FlowRunListCommand_instances = new WeakSet(), _FlowRunListCommand_initTelemetry = function _FlowRunListCommand_initTelemetry() {
|
|
85
|
+
this.telemetry.push((args) => {
|
|
86
|
+
Object.assign(this.telemetryProperties, {
|
|
87
|
+
status: typeof args.options.status !== 'undefined',
|
|
88
|
+
triggerStartTime: typeof args.options.triggerStartTime !== 'undefined',
|
|
89
|
+
triggerEndTime: typeof args.options.triggerEndTime !== 'undefined'
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}, _FlowRunListCommand_initOptions = function _FlowRunListCommand_initOptions() {
|
|
64
93
|
this.options.unshift({
|
|
65
94
|
option: '-f, --flowName <flowName>'
|
|
66
95
|
}, {
|
|
67
96
|
option: '-e, --environmentName <environmentName>'
|
|
97
|
+
}, {
|
|
98
|
+
option: '--status [status]',
|
|
99
|
+
autocomplete: this.allowedStatusses
|
|
100
|
+
}, {
|
|
101
|
+
option: '--triggerStartTime [triggerStartTime]'
|
|
102
|
+
}, {
|
|
103
|
+
option: '--triggerEndTime [triggerEndTime]'
|
|
68
104
|
});
|
|
105
|
+
}, _FlowRunListCommand_initValidators = function _FlowRunListCommand_initValidators() {
|
|
106
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
if (!validation_1.validation.isValidGuid(args.options.flowName)) {
|
|
108
|
+
return `${args.options.flowName} is not a valid GUID`;
|
|
109
|
+
}
|
|
110
|
+
if (args.options.status && this.allowedStatusses.indexOf(args.options.status) === -1) {
|
|
111
|
+
return `'${args.options.status}' is not a valid status. Allowed values are: ${this.allowedStatusses.join(',')}`;
|
|
112
|
+
}
|
|
113
|
+
if (args.options.triggerStartTime && !validation_1.validation.isValidISODateTime(args.options.triggerStartTime)) {
|
|
114
|
+
return `'${args.options.triggerStartTime}' is not a valid datetime.`;
|
|
115
|
+
}
|
|
116
|
+
if (args.options.triggerEndTime && !validation_1.validation.isValidISODateTime(args.options.triggerEndTime)) {
|
|
117
|
+
return `'${args.options.triggerEndTime}' is not a valid datetime.`;
|
|
118
|
+
}
|
|
119
|
+
return true;
|
|
120
|
+
}));
|
|
69
121
|
};
|
|
70
122
|
module.exports = new FlowRunListCommand();
|
|
71
123
|
//# sourceMappingURL=run-list.js.map
|
|
@@ -21,6 +21,7 @@ const AnonymousCommand_1 = require("../../../base/AnonymousCommand");
|
|
|
21
21
|
const commands_1 = require("../../commands");
|
|
22
22
|
const request_1 = require("../../../../request");
|
|
23
23
|
const xmldom_1 = require("@xmldom/xmldom");
|
|
24
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
24
25
|
class GraphChangelogListCommand extends AnonymousCommand_1.default {
|
|
25
26
|
get name() {
|
|
26
27
|
return commands_1.default.CHANGELOG_LIST;
|
|
@@ -106,14 +107,14 @@ class GraphChangelogListCommand extends AnonymousCommand_1.default {
|
|
|
106
107
|
items: []
|
|
107
108
|
};
|
|
108
109
|
Array.from(xmlDoc.getElementsByTagName('item')).forEach((item) => {
|
|
109
|
-
const description = args.options.output
|
|
110
|
+
const description = Cli_1.Cli.shouldTrimOutput(args.options.output) ?
|
|
110
111
|
md_1.md.md2plain(item.getElementsByTagName('description').item(0).textContent, '') :
|
|
111
112
|
item.getElementsByTagName('description').item(0).textContent;
|
|
112
113
|
changelog.items.push({
|
|
113
114
|
guid: item.getElementsByTagName('guid').item(0).textContent,
|
|
114
115
|
category: item.getElementsByTagName('category').item(1).textContent,
|
|
115
116
|
title: item.getElementsByTagName('title').item(0).textContent,
|
|
116
|
-
description: args.options.output
|
|
117
|
+
description: Cli_1.Cli.shouldTrimOutput(args.options.output) ?
|
|
117
118
|
description.length > 50 ? `${description.substring(0, 47)}...` : description :
|
|
118
119
|
description,
|
|
119
120
|
pubDate: new Date(item.getElementsByTagName('pubDate').item(0).textContent)
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var _OneNoteNotebookListCommand_instances, _OneNoteNotebookListCommand_initTelemetry, _OneNoteNotebookListCommand_initOptions, _OneNoteNotebookListCommand_initValidators;
|
|
16
|
+
var _OneNoteNotebookListCommand_instances, _OneNoteNotebookListCommand_initTelemetry, _OneNoteNotebookListCommand_initOptions, _OneNoteNotebookListCommand_initValidators, _OneNoteNotebookListCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
19
|
const odata_1 = require("../../../../utils/odata");
|
|
@@ -28,75 +28,63 @@ class OneNoteNotebookListCommand extends GraphCommand_1.default {
|
|
|
28
28
|
get description() {
|
|
29
29
|
return 'Retrieve a list of notebooks';
|
|
30
30
|
}
|
|
31
|
+
defaultProperties() {
|
|
32
|
+
return ['createdDateTime', 'displayName', 'id'];
|
|
33
|
+
}
|
|
31
34
|
constructor() {
|
|
32
35
|
super();
|
|
33
36
|
_OneNoteNotebookListCommand_instances.add(this);
|
|
34
37
|
__classPrivateFieldGet(this, _OneNoteNotebookListCommand_instances, "m", _OneNoteNotebookListCommand_initTelemetry).call(this);
|
|
35
38
|
__classPrivateFieldGet(this, _OneNoteNotebookListCommand_instances, "m", _OneNoteNotebookListCommand_initOptions).call(this);
|
|
36
39
|
__classPrivateFieldGet(this, _OneNoteNotebookListCommand_instances, "m", _OneNoteNotebookListCommand_initValidators).call(this);
|
|
40
|
+
__classPrivateFieldGet(this, _OneNoteNotebookListCommand_instances, "m", _OneNoteNotebookListCommand_initOptionSets).call(this);
|
|
37
41
|
}
|
|
38
42
|
getEndpointUrl(args) {
|
|
39
|
-
return
|
|
40
|
-
let endpoint = `${this.resource}/v1.0
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
let endpoint = `${this.resource}/v1.0/`;
|
|
41
45
|
if (args.options.userId) {
|
|
42
|
-
endpoint
|
|
43
|
-
return resolve(endpoint);
|
|
46
|
+
endpoint += `users/${args.options.userId}`;
|
|
44
47
|
}
|
|
45
48
|
else if (args.options.userName) {
|
|
46
|
-
endpoint
|
|
47
|
-
return resolve(endpoint);
|
|
49
|
+
endpoint += `users/${args.options.userName}`;
|
|
48
50
|
}
|
|
49
51
|
else if (args.options.groupId) {
|
|
50
|
-
endpoint
|
|
51
|
-
return resolve(endpoint);
|
|
52
|
+
endpoint += `groups/${args.options.groupId}`;
|
|
52
53
|
}
|
|
53
54
|
else if (args.options.groupName) {
|
|
54
|
-
this
|
|
55
|
-
|
|
56
|
-
.then((retrievedgroupId) => {
|
|
57
|
-
endpoint = `${this.resource}/v1.0/groups/${retrievedgroupId}/onenote/notebooks`;
|
|
58
|
-
return resolve(endpoint);
|
|
59
|
-
})
|
|
60
|
-
.catch((err) => {
|
|
61
|
-
reject(err);
|
|
62
|
-
});
|
|
55
|
+
const groupId = yield this.getGroupId(args.options.groupName);
|
|
56
|
+
endpoint += `groups/${groupId}`;
|
|
63
57
|
}
|
|
64
58
|
else if (args.options.webUrl) {
|
|
65
|
-
this
|
|
66
|
-
|
|
67
|
-
.then((siteId) => {
|
|
68
|
-
endpoint = `${this.resource}/v1.0/sites/${siteId}/onenote/notebooks`;
|
|
69
|
-
return resolve(endpoint);
|
|
70
|
-
})
|
|
71
|
-
.catch((err) => {
|
|
72
|
-
reject(err);
|
|
73
|
-
});
|
|
59
|
+
const siteId = yield this.getSpoSiteId(args.options.webUrl);
|
|
60
|
+
endpoint += `sites/${siteId}`;
|
|
74
61
|
}
|
|
75
62
|
else {
|
|
76
|
-
|
|
63
|
+
endpoint += 'me';
|
|
77
64
|
}
|
|
65
|
+
endpoint += '/onenote/notebooks';
|
|
66
|
+
return endpoint;
|
|
78
67
|
});
|
|
79
68
|
}
|
|
80
|
-
|
|
81
|
-
return
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
.getGroupByDisplayName(args.options.groupName)
|
|
86
|
-
.then(group => group.id);
|
|
69
|
+
getGroupId(groupName) {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
const group = yield aadGroup_1.aadGroup.getGroupByDisplayName(groupName);
|
|
72
|
+
return group.id;
|
|
73
|
+
});
|
|
87
74
|
}
|
|
88
|
-
getSpoSiteId(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
.get(requestOptions)
|
|
99
|
-
|
|
75
|
+
getSpoSiteId(webUrl) {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const url = new URL(webUrl);
|
|
78
|
+
const requestOptions = {
|
|
79
|
+
url: `${this.resource}/v1.0/sites/${url.hostname}:${url.pathname}`,
|
|
80
|
+
headers: {
|
|
81
|
+
accept: 'application/json;odata.metadata=none'
|
|
82
|
+
},
|
|
83
|
+
responseType: 'json'
|
|
84
|
+
};
|
|
85
|
+
const site = yield request_1.default.get(requestOptions);
|
|
86
|
+
return site.id;
|
|
87
|
+
});
|
|
100
88
|
}
|
|
101
89
|
commandAction(logger, args) {
|
|
102
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -114,7 +102,11 @@ class OneNoteNotebookListCommand extends GraphCommand_1.default {
|
|
|
114
102
|
_OneNoteNotebookListCommand_instances = new WeakSet(), _OneNoteNotebookListCommand_initTelemetry = function _OneNoteNotebookListCommand_initTelemetry() {
|
|
115
103
|
this.telemetry.push((args) => {
|
|
116
104
|
Object.assign(this.telemetryProperties, {
|
|
117
|
-
|
|
105
|
+
userId: typeof args.options.userId !== 'undefined',
|
|
106
|
+
userName: typeof args.options.userName !== 'undefined',
|
|
107
|
+
groupId: typeof args.options.groupId !== 'undefined',
|
|
108
|
+
groupName: typeof args.options.groupName !== 'undefined',
|
|
109
|
+
webUrl: typeof args.options.webUrl !== 'undefined'
|
|
118
110
|
});
|
|
119
111
|
});
|
|
120
112
|
}, _OneNoteNotebookListCommand_initOptions = function _OneNoteNotebookListCommand_initOptions() {
|
|
@@ -127,14 +119,19 @@ _OneNoteNotebookListCommand_instances = new WeakSet(), _OneNoteNotebookListComma
|
|
|
127
119
|
if (args.options.groupId && !validation_1.validation.isValidGuid(args.options.groupId)) {
|
|
128
120
|
return `${args.options.groupId} is not a valid GUID`;
|
|
129
121
|
}
|
|
130
|
-
if (args.options.
|
|
131
|
-
return
|
|
132
|
-
}
|
|
133
|
-
if (args.options.groupId && args.options.groupName) {
|
|
134
|
-
return 'Specify either groupId or groupName, but not both';
|
|
122
|
+
if (args.options.webUrl) {
|
|
123
|
+
return validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
135
124
|
}
|
|
136
125
|
return true;
|
|
137
126
|
}));
|
|
127
|
+
}, _OneNoteNotebookListCommand_initOptionSets = function _OneNoteNotebookListCommand_initOptionSets() {
|
|
128
|
+
this.optionSets.push({
|
|
129
|
+
options: ['userId', 'userName', 'groupId', 'groupName', 'webUrl'],
|
|
130
|
+
runsWhen: (args) => {
|
|
131
|
+
const options = [args.options.userId, args.options.userName, args.options.groupId, args.options.groupName, args.options.webUrl];
|
|
132
|
+
return options.some(item => item !== undefined);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
138
135
|
};
|
|
139
136
|
module.exports = new OneNoteNotebookListCommand();
|
|
140
137
|
//# sourceMappingURL=notebook-list.js.map
|
|
@@ -15,12 +15,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
};
|
|
16
16
|
var _OneNotePageListCommand_instances, _OneNotePageListCommand_initTelemetry, _OneNotePageListCommand_initOptions, _OneNotePageListCommand_initValidators, _OneNotePageListCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
const request_1 = require("../../../../request");
|
|
19
18
|
const odata_1 = require("../../../../utils/odata");
|
|
20
19
|
const validation_1 = require("../../../../utils/validation");
|
|
21
20
|
const aadGroup_1 = require("../../../../utils/aadGroup");
|
|
22
21
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
23
22
|
const commands_1 = require("../../commands");
|
|
23
|
+
const spo_1 = require("../../../../utils/spo");
|
|
24
24
|
class OneNotePageListCommand extends GraphCommand_1.default {
|
|
25
25
|
get name() {
|
|
26
26
|
return commands_1.default.PAGE_LIST;
|
|
@@ -56,7 +56,7 @@ class OneNotePageListCommand extends GraphCommand_1.default {
|
|
|
56
56
|
endpoint += `groups/${groupId}`;
|
|
57
57
|
}
|
|
58
58
|
else if (args.options.webUrl) {
|
|
59
|
-
const siteId = yield
|
|
59
|
+
const siteId = yield spo_1.spo.getSpoGraphSiteId(args.options.webUrl);
|
|
60
60
|
endpoint += `sites/${siteId}`;
|
|
61
61
|
}
|
|
62
62
|
else {
|
|
@@ -72,20 +72,6 @@ class OneNotePageListCommand extends GraphCommand_1.default {
|
|
|
72
72
|
return group.id;
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
|
-
getSpoSiteId(webUrl) {
|
|
76
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
const url = new URL(webUrl);
|
|
78
|
-
const requestOptions = {
|
|
79
|
-
url: `${this.resource}/v1.0/sites/${url.hostname}:${url.pathname}`,
|
|
80
|
-
headers: {
|
|
81
|
-
accept: 'application/json;odata.metadata=none'
|
|
82
|
-
},
|
|
83
|
-
responseType: 'json'
|
|
84
|
-
};
|
|
85
|
-
const site = yield request_1.default.get(requestOptions);
|
|
86
|
-
return site.id;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
75
|
commandAction(logger, args) {
|
|
90
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
91
77
|
try {
|
|
@@ -22,6 +22,7 @@ const request_1 = require("../../../../request");
|
|
|
22
22
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
23
23
|
const commands_1 = require("../../commands");
|
|
24
24
|
const formatting_1 = require("../../../../utils/formatting");
|
|
25
|
+
const accessToken_1 = require("../../../../utils/accessToken");
|
|
25
26
|
class OutlookMailSendCommand extends GraphCommand_1.default {
|
|
26
27
|
get name() {
|
|
27
28
|
return commands_1.default.MAIL_SEND;
|
|
@@ -40,8 +41,8 @@ class OutlookMailSendCommand extends GraphCommand_1.default {
|
|
|
40
41
|
commandAction(logger, args) {
|
|
41
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
43
|
try {
|
|
43
|
-
const
|
|
44
|
-
if (
|
|
44
|
+
const isAppOnlyAccessToken = accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken);
|
|
45
|
+
if (isAppOnlyAccessToken === true && !args.options.sender) {
|
|
45
46
|
throw `Specify a upn or user id in the 'sender' option when using app only authentication.`;
|
|
46
47
|
}
|
|
47
48
|
const requestOptions = {
|
|
@@ -17,6 +17,7 @@ var _OutlookMessageGetCommand_instances, _OutlookMessageGetCommand_initTelemetry
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const Auth_1 = require("../../../../Auth");
|
|
19
19
|
const request_1 = require("../../../../request");
|
|
20
|
+
const accessToken_1 = require("../../../../utils/accessToken");
|
|
20
21
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
21
22
|
const commands_1 = require("../../commands");
|
|
22
23
|
class OutlookMessageGetCommand extends GraphCommand_1.default {
|
|
@@ -35,12 +36,12 @@ class OutlookMessageGetCommand extends GraphCommand_1.default {
|
|
|
35
36
|
commandAction(logger, args) {
|
|
36
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
38
|
try {
|
|
38
|
-
const
|
|
39
|
+
const isAppOnlyAccessToken = accessToken_1.accessToken.isAppOnlyAccessToken(Auth_1.default.service.accessTokens[this.resource].accessToken);
|
|
39
40
|
if (this.verbose) {
|
|
40
|
-
logger.logToStderr(`Retrieving message with id ${args.options.id} using ${
|
|
41
|
+
logger.logToStderr(`Retrieving message with id ${args.options.id} using ${isAppOnlyAccessToken ? 'app only permissions' : 'delegated permissions'}`);
|
|
41
42
|
}
|
|
42
43
|
let requestUrl = '';
|
|
43
|
-
if (
|
|
44
|
+
if (isAppOnlyAccessToken) {
|
|
44
45
|
if (!args.options.userId && !args.options.userPrincipalName) {
|
|
45
46
|
throw `The option 'userId' or 'userPrincipalName' is required when retrieving an email using app only credentials`;
|
|
46
47
|
}
|