@@ -31,6 +31,7 @@ export type PackageInstalledListResult = {
3131 SubscriberPackageId ?: string ;
3232 SubscriberPackageName ?: string ;
3333 SubscriberPackageNamespace ?: string ;
34+ VersionSettings ?: string ;
3435 SubscriberPackageVersionId ?: string ;
3536 SubscriberPackageVersionName ?: string ;
3637 SubscriberPackageVersionNumber ?: string ;
@@ -54,7 +55,32 @@ export class PackageInstalledListCommand extends SfCommand<PackageInstalledComma
5455 const { flags } = await this . parse ( PackageInstalledListCommand ) ;
5556 const records = (
5657 await SubscriberPackageVersion . installedList ( flags [ 'target-org' ] . getConnection ( flags [ 'api-version' ] ) )
57- ) . map ( transformRow ) ;
58+ ) . map ( ( r ) => {
59+ const transformed = transformRow ( r ) ;
60+
61+ // Calculate Version Settings from the data already in the result
62+ if ( r . SubscriberPackageVersion ) {
63+ // Access fields that are now included in the query but may not be in the type definition yet
64+ const subPkgVersion = r . SubscriberPackageVersion as {
65+ IsManaged ?: boolean ;
66+ Package2ContainerOptions ?: string ;
67+ } ;
68+ const isManaged = subPkgVersion . IsManaged ;
69+ const package2ContainerOptions = subPkgVersion . Package2ContainerOptions ;
70+
71+ // What does UI do for non-managed packages? Follow the same pattern. Then can probably simplify this logic
72+ // If IsManaged is true AND Package2ContainerOptions is blank, use "namespace"; otherwise use "packageId"
73+ if ( isManaged && ! package2ContainerOptions ) {
74+ transformed . VersionSettings = 'namespace' ;
75+ } else {
76+ transformed . VersionSettings = 'packageId' ;
77+ }
78+ } else {
79+ transformed . VersionSettings = 'packageId' ;
80+ }
81+
82+ return transformed ;
83+ } ) ;
5884
5985 this . table ( {
6086 data : records ,
@@ -63,6 +89,7 @@ export class PackageInstalledListCommand extends SfCommand<PackageInstalledComma
6389 { key : 'SubscriberPackageId' , name : 'Package ID' } ,
6490 { key : 'SubscriberPackageName' , name : 'Package Name' } ,
6591 { key : 'SubscriberPackageNamespace' , name : 'Namespace' } ,
92+ { key : 'VersionSettings' , name : 'Version Settings' } ,
6693 { key : 'SubscriberPackageVersionId' , name : 'Package Version ID' } ,
6794 { key : 'SubscriberPackageVersionName' , name : 'Version Name' } ,
6895 { key : 'SubscriberPackageVersionNumber' , name : 'Version' } ,
0 commit comments