@@ -3,7 +3,13 @@ import SfpowerscriptsCommand from '../../../SfpowerscriptsCommand';
3
3
import PoolOrgDeleteImpl from '@dxatscale/sfpowerscripts.core/lib/scratchorg/pool/PoolOrgDeleteImpl' ;
4
4
import SFPLogger from '@dxatscale/sfp-logger' ;
5
5
import { Messages } from '@salesforce/core' ;
6
- import { loglevel , orgApiVersionFlagSfdxStyle , targetdevhubusername , requiredUserNameFlag } from '../../../flags/sfdxflags' ;
6
+ import {
7
+ loglevel ,
8
+ orgApiVersionFlagSfdxStyle ,
9
+ targetdevhubusername ,
10
+ requiredUserNameFlag ,
11
+ } from '../../../flags/sfdxflags' ;
12
+ import { AliasAccessor } from '@salesforce/core/lib/stateAggregator' ;
7
13
8
14
// Initialize Messages with the current plugin directory
9
15
Messages . importMessagesDirectory ( __dirname ) ;
@@ -20,10 +26,10 @@ export default class Delete extends SfpowerscriptsCommand {
20
26
public static examples = [ `$ sfp pool:org:delete -u [email protected] -v devhub` ] ;
21
27
22
28
public static flags = {
23
- ' apiversion' : orgApiVersionFlagSfdxStyle ,
24
- requiredUserNameFlag,
29
+ apiversion : orgApiVersionFlagSfdxStyle ,
30
+ targetusername : requiredUserNameFlag ,
25
31
targetdevhubusername,
26
- loglevel
32
+ loglevel,
27
33
} ;
28
34
29
35
public async execute ( ) : Promise < AnyJson > {
@@ -32,10 +38,19 @@ export default class Delete extends SfpowerscriptsCommand {
32
38
33
39
this . flags . apiversion = this . flags . apiversion || ( await hubConn . retrieveMaxApiVersion ( ) ) ;
34
40
35
- let poolOrgDeleteImpl = new PoolOrgDeleteImpl ( this . hubOrg , this . flags . username ) ;
41
+ let aliasAccessor = await AliasAccessor . create ( ) ;
42
+ let resolvedAliasOrUserName :string ;
43
+ if ( aliasAccessor . resolveAlias ( this . flags . targetusername ) ) {
44
+ resolvedAliasOrUserName = aliasAccessor . resolveUsername ( this . flags . targetusername ) ;
45
+ } else {
46
+ resolvedAliasOrUserName = this . flags . targetusername ;
47
+ }
48
+
49
+ let poolOrgDeleteImpl = new PoolOrgDeleteImpl ( this . hubOrg , resolvedAliasOrUserName ) ;
36
50
37
51
await poolOrgDeleteImpl . execute ( ) ;
38
- if ( ! this . flags . json ) SFPLogger . log ( `Scratch org with username ${ this . flags . username } is deleted successfully` ) ;
52
+ if ( ! this . flags . json )
53
+ SFPLogger . log ( `Scratch org with username or alias ${ this . flags . targetusername } is deleted successfully` ) ;
39
54
40
55
return { username : this . flags . username , messages : 'Scratch Org deleted Succesfully' } as AnyJson ;
41
56
}
0 commit comments