@@ -4,13 +4,12 @@ import { Messages, SfError } from '@salesforce/core';
44import { MetadataHelper } from '../../../metadataHelper.js' ;
55import { ApiHelper } from '../../../apiHelper.js' ;
66import { RecipeDefinition , LoadDefinitionNodeParam , ReplicatedDataset } from '../../../modules/upsert.js' ;
7- import { PrinterHelper } from '../../../printerHelper.js' ;
87
98Messages . importMessagesDirectoryFromMetaUrl ( import . meta. url ) ;
109const messages = Messages . loadMessages ( 'plugin-analytics-connected-objects' , 'connected-objects.upsert' ) ;
1110const common = Messages . loadMessages ( 'plugin-analytics-connected-objects' , 'common' ) ;
1211
13- export interface ConnectedObjectUpsertResult {
12+ export type ConnectedObjectUpsertResult = {
1413 [ key : string ] : string | boolean | string [ ] | number | undefined ;
1514 objectName : string ;
1615 connectorName : string ;
@@ -33,8 +32,7 @@ export default class ConnectedObjectsUpsert extends SfCommand<ConnectedObjectUps
3332 'target-org' : Flags . requiredOrg ( {
3433 char : 'o' ,
3534 summary : common . getMessage ( 'flags.target-org.summary' ) ,
36- description : common . getMessage ( 'flags.target-org.description' ) ,
37- required : true ,
35+ description : common . getMessage ( 'flags.target-org.description' )
3836 } ) ,
3937 'recipe-names' : Flags . string ( {
4038 char : 'n' ,
@@ -50,7 +48,7 @@ export default class ConnectedObjectsUpsert extends SfCommand<ConnectedObjectUps
5048 } ) ,
5149 verbose : Flags . boolean ( {
5250 summary : messages . getMessage ( 'flags.verbose.summary' ) ,
53- } ) ,
51+ } )
5452 } ;
5553
5654 public async run ( ) : Promise < ConnectedObjectUpsertResult [ ] > {
@@ -114,7 +112,6 @@ export default class ConnectedObjectsUpsert extends SfCommand<ConnectedObjectUps
114112 }
115113 const fieldSet = objectFields . get ( dataset . sourceObjectName ) as Set < string > ;
116114 const { changedFields, missingFields } = await service . updateReplicatedDatasetFields ( dataset . id , fieldSet ) ;
117-
118115 if ( missingFields . length > 0 ) {
119116 const message = messages . getMessage ( 'fields.not.found' , [
120117 objectName ,
@@ -123,11 +120,10 @@ export default class ConnectedObjectsUpsert extends SfCommand<ConnectedObjectUps
123120 ] ) ;
124121 warnMessages . push ( message ) ;
125122 }
126- if ( changedFields . length > 0 ) {
127- const item = resultMap . get ( dataset . sourceObjectName ) as ConnectedObjectUpsertResult ;
128- item . fields = changedFields ;
129- item . fieldsCount = changedFields . length ;
130- }
123+ const item = resultMap . get ( dataset . sourceObjectName ) as ConnectedObjectUpsertResult ;
124+ item . fields = changedFields ;
125+ item . fieldsCount = changedFields . length ;
126+ item . operation = changedFields . length === 0 ? 'Unchanged' : item . isNew ? 'Created' : 'Updated' ;
131127 current ++ ;
132128 progressBar . update ( current ) ;
133129 }
@@ -142,15 +138,8 @@ export default class ConnectedObjectsUpsert extends SfCommand<ConnectedObjectUps
142138 this . warn ( warnMessage ) ;
143139 }
144140 }
145-
146- const result : ConnectedObjectUpsertResult [ ] = Array . from ( resultMap . values ( ) ) . filter (
147- ( x ) => x . fields && x . fields . length > 0
148- ) ;
149- if ( result . length > 0 ) {
150- this . printConnectionUpgradeResult ( result , flags . verbose ) ;
151- } else {
152- this . log ( messages . getMessage ( 'nothing.changed' ) ) ;
153- }
141+ const result : ConnectedObjectUpsertResult [ ] = Array . from ( resultMap . values ( ) ) ;
142+ this . printConnectionUpgradeResult ( result ) ;
154143 return result ;
155144 }
156145
@@ -184,25 +173,16 @@ export default class ConnectedObjectsUpsert extends SfCommand<ConnectedObjectUps
184173 return response ;
185174 }
186175
187- private printConnectionUpgradeResult ( records : ConnectedObjectUpsertResult [ ] , verbose : boolean ) : void {
188- this . table (
189- records ,
190- {
191- objectName : { header : 'OBJECT' } ,
192- connectorName : { header : 'CONNECTOR' } ,
193- isNEW : {
194- header : 'OPERATION' ,
195- get : ( data ) : string => ( data . isNew ? 'Create' : 'Update' ) ,
196- } ,
197- fieldsCount : { header : 'FIELDSCOUNT' } ,
198- fields : {
199- header : 'FIELDS' ,
200- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
201- get : ( data ) : string => PrinterHelper . printFieldsMultiline ( data . fields ! , 60 ) ,
202- extended : ! verbose ,
203- } ,
204- } ,
205- { title : 'Changed connected-objects' }
206- ) ;
176+ private printConnectionUpgradeResult ( records : ConnectedObjectUpsertResult [ ] ) : void {
177+ const columns = [
178+ { key : 'objectName' , name : 'Object' } ,
179+ { key : 'connectorName' , name : 'Connector' } ,
180+ { key : 'operation' , name : 'Operation' } ,
181+ { key : 'fieldsCount' , name : 'Added Fields' }
182+ ] ;
183+ this . table ( {
184+ data : records ,
185+ columns
186+ } ) ;
207187 }
208188}
0 commit comments