|
5 | 5 | * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
6 | 6 | */
|
7 | 7 |
|
8 |
| - |
9 |
| - |
10 |
| -import { Flags, loglevel } from '@salesforce/sf-plugins-core'; |
| 8 | +import { Flags, loglevel, SfCommand } from '@salesforce/sf-plugins-core'; |
11 | 9 | import { AuthFields, AuthInfo, Messages, matchesAccessToken, SfError, StateAggregator } from '@salesforce/core';
|
12 | 10 | import { env } from '@salesforce/kit';
|
13 |
| -import { Interfaces } from '@oclif/core'; |
14 |
| -import { AuthBaseCommand } from '../../../authBaseCommand.js'; |
| 11 | +import { InferredFlags } from '@oclif/core/lib/interfaces'; |
15 | 12 |
|
16 |
| -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) |
| 13 | +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); |
17 | 14 | const messages = Messages.loadMessages('@salesforce/plugin-auth', 'accesstoken.store');
|
18 | 15 | const commonMessages = Messages.loadMessages('@salesforce/plugin-auth', 'messages');
|
19 | 16 |
|
20 | 17 | const ACCESS_TOKEN_FORMAT = '"<org id>!<accesstoken>"';
|
21 | 18 |
|
22 |
| -export default class LoginAccessToken extends AuthBaseCommand<AuthFields> { |
| 19 | +export default class LoginAccessToken extends SfCommand<AuthFields> { |
23 | 20 | public static readonly summary = messages.getMessage('summary');
|
24 | 21 | public static readonly description = messages.getMessage('description');
|
25 | 22 | public static readonly examples = messages.getMessages('examples');
|
26 | 23 | public static readonly deprecateAliases = true;
|
27 |
| - public static aliases = ['force:auth:accesstoken:store', 'auth:accesstoken:store']; |
| 24 | + public static readonly aliases = ['force:auth:accesstoken:store', 'auth:accesstoken:store']; |
28 | 25 |
|
29 | 26 | public static readonly flags = {
|
30 | 27 | 'instance-url': Flags.url({
|
@@ -66,7 +63,7 @@ export default class LoginAccessToken extends AuthBaseCommand<AuthFields> {
|
66 | 63 | loglevel,
|
67 | 64 | };
|
68 | 65 |
|
69 |
| - private flags!: Interfaces.InferredFlags<typeof LoginAccessToken.flags>; |
| 66 | + private flags!: InferredFlags<typeof LoginAccessToken.flags>; |
70 | 67 |
|
71 | 68 | public async run(): Promise<AuthFields> {
|
72 | 69 | const { flags } = await this.parse(LoginAccessToken);
|
@@ -109,16 +106,19 @@ export default class LoginAccessToken extends AuthBaseCommand<AuthFields> {
|
109 | 106 | if (!this.flags['no-prompt']) {
|
110 | 107 | const stateAggregator = await StateAggregator.getInstance();
|
111 | 108 | if (await stateAggregator.orgs.exists(username)) {
|
112 |
| - return this.confirm(messages.getMessage('overwriteAccessTokenAuthUserFile', [username])); |
| 109 | + return this.confirm({ message: messages.getMessage('overwriteAccessTokenAuthUserFile', [username]) }); |
113 | 110 | }
|
114 | 111 | }
|
115 | 112 | return true;
|
116 | 113 | }
|
117 | 114 |
|
118 | 115 | private async getAccessToken(): Promise<string> {
|
119 | 116 | const accessToken =
|
120 |
| - env.getString('SF_ACCESS_TOKEN') ?? env.getString('SFDX_ACCESS_TOKEN') ?? (await this.askForAccessToken()); |
121 |
| - |
| 117 | + env.getString('SF_ACCESS_TOKEN') ?? |
| 118 | + env.getString('SFDX_ACCESS_TOKEN') ?? |
| 119 | + (this.flags['no-prompt'] === true |
| 120 | + ? '' // will throw when validating |
| 121 | + : await this.secretPrompt({ message: commonMessages.getMessage('accessTokenStdin') })); |
122 | 122 | if (!matchesAccessToken(accessToken)) {
|
123 | 123 | throw new SfError(messages.getMessage('invalidAccessTokenFormat', [ACCESS_TOKEN_FORMAT]));
|
124 | 124 | }
|
|
0 commit comments