@@ -23,6 +23,7 @@ const { BadParameterError } = require('../../errors/BadParameterError');
2323const { SkimmingStage } = require ( '../../../domain/enums/SkimmingStage' ) ;
2424const { LogManager } = require ( '@aliceo2/web-ui' ) ;
2525const { NonPhysicsProductionsNamesWords } = require ( '../../../domain/enums/NonPhysicsProductionsNamesWords.js' ) ;
26+ const { dataPassSumary, dataPassVersionSummary } = require ( '../../views/dataPasses/summary.js' ) ;
2627
2728/**
2829 * @typedef DataPassIdentifier
@@ -141,12 +142,17 @@ class DataPassService {
141142 queryBuilder . where ( 'name' ) . not ( ) . substring ( `\\_${ NonPhysicsProductionsNamesWords . DEBUG } ` ) ;
142143 }
143144
145+ queryBuilder . selectAttributes ( [ ...dataPassSumary . attributes ] )
146+
144147 const { count, rows } = await DataPassRepository . findAndCountAll ( queryBuilder ) ;
145- const dataPassesVersions = await DataPassVersionRepository . findAll ( {
146- include : 'statusHistory' ,
147- where : { dataPassId : { [ Op . in ] : rows . map ( ( { id } ) => id ) } } ,
148- order : [ [ 'statusHistory' , 'createdAt' , 'ASC' ] ] ,
149- } ) ;
148+ const dataPassVersionsQueryBuilder = dataSource . createQueryBuilder ( ) ;
149+
150+ dataPassVersionsQueryBuilder . selectAttributes ( [ ...dataPassVersionSummary . attributes ] ) ;
151+ dataPassVersionsQueryBuilder . includeAll ( [ ...dataPassVersionSummary . include ] ) ;
152+ dataPassVersionsQueryBuilder . where ( 'dataPassId' ) . oneOf ( ...rows . map ( ( { id } ) => id ) ) ;
153+ dataPassVersionsQueryBuilder . pushOrders ( [ ...dataPassVersionSummary . order ] ) ;
154+ const dataPassesVersions = await DataPassVersionRepository . findAll ( dataPassVersionsQueryBuilder ) ;
155+
150156 const dataPassIdToVersions = dataPassesVersions . reduce ( ( acc , version ) => {
151157 const { dataPassId } = version ;
152158 acc [ dataPassId ] = [ ...acc [ dataPassId ] ?? [ ] , version ] ;
@@ -159,7 +165,7 @@ class DataPassService {
159165
160166 return {
161167 count : count . length , // When using grouping sequelize returns from finAndCountAll counts per each group
162- rows : rows . map ( dataPassAdapter . toEntity ) ,
168+ rows : rows . map ( dataPassAdapter . toSummary ) ,
163169 } ;
164170 }
165171
0 commit comments