@@ -9,6 +9,20 @@ import RabbitMQService from '../src/services/rabbitmq';
99
1010const logger = bunyan . createLogger ( { name : 'init-es' , level : config . get ( 'logLevel' ) } ) ;
1111
12+
13+ /**
14+ * Retrieve project ids from cli if provided
15+ * @return {Array } list of projectIds
16+ */
17+ function getProjectIds ( ) {
18+ let projectIdArg = _ . find ( process . argv , a => a . indexOf ( 'projectIds' ) > - 1 ) ;
19+ if ( projectIdArg ) {
20+ projectIdArg = projectIdArg . split ( '=' ) ;
21+ return projectIdArg [ 1 ] . split ( ',' ) . map ( i => parseInt ( i , 10 ) ) ;
22+ }
23+ return [ ] ;
24+ }
25+
1226Promise . coroutine ( function * wrapped ( ) {
1327 try {
1428 const rabbit = new RabbitMQService ( logger ) ;
@@ -19,23 +33,29 @@ Promise.coroutine(function* wrapped() {
1933 config . get ( 'pubsubQueueName' ) ,
2034 ) ;
2135
36+
37+ const projectIds = getProjectIds ( ) ;
38+ const projectWhereClause = ( projectIds . length > 0 ) ? { id : { $in : projectIds } } : { deletedAt : { $eq : null } } ;
2239 const projects = yield models . Project . findAll ( {
23- where : { deletedAt : { $eq : null } } ,
40+ where : projectWhereClause ,
2441 raw : true ,
2542 } ) ;
2643 logger . info ( `Retrieved #${ projects . length } projects` ) ;
2744
45+ const memberWhereClause = ( projectIds . length > 0 )
46+ ? { projectId : { $in : projectIds } }
47+ : { deletedAt : { $eq : null } } ;
2848 let members = yield models . ProjectMember . findAll ( {
2949 raw : true ,
30- where : { deletedAt : { $eq : null } } ,
50+ where : memberWhereClause ,
3151 } ) ;
3252 logger . info ( `Retrieved #${ members . length } members` ) ;
3353 members = _ . groupBy ( members , 'projectId' ) ;
3454
3555 const promises = [ ] ;
3656 _ . forEach ( projects , ( p ) => {
3757 p . members = members [ p . id ] ;
38- logger . debug ( `Processing #${ p . id } ` ) ;
58+ logger . debug ( `Processing Project #${ p . id } ` ) ;
3959 promises . push ( rabbit . publish ( 'project.initial' , p , { } ) ) ;
4060 } ) ;
4161 Promise . all ( promises )
0 commit comments