@@ -5,19 +5,16 @@ import _ from 'lodash';
55import Promise from 'bluebird' ;
66import config from 'config' ;
77import util from '../../util' ;
8+ import { createPhaseTopic } from '../projectPhases' ;
89
910const ES_PROJECT_INDEX = config . get ( 'elasticsearchConfig.indexName' ) ;
1011const ES_PROJECT_TYPE = config . get ( 'elasticsearchConfig.docType' ) ;
1112const eClient = util . getElasticSearchClient ( ) ;
1213
13- /**
14- * Handler for project creation event
15- * @param {Object } logger logger to log along with trace id
16- * @param {Object } msg event payload
17- * @param {Object } channel channel to ack, nack
18- * @returns {undefined }
19- */
20- const projectCreatedHandler = Promise . coroutine ( function * ( logger , msg , channel ) { // eslint-disable-line func-names
14+
15+
16+
17+ const indexProject = Promise . coroutine ( function * ( logger , msg ) {
2118 const data = JSON . parse ( msg . content . toString ( ) ) ;
2219 const userIds = data . members ? data . members . map ( single => `userId:${ single . userId } ` ) : [ ] ;
2320 try {
@@ -42,9 +39,26 @@ const projectCreatedHandler = Promise.coroutine(function* (logger, msg, channel)
4239 body : data ,
4340 } ) ;
4441 logger . debug ( `project indexed successfully (projectId: ${ data . id } )` , result ) ;
45- channel . ack ( msg ) ;
4642 return undefined ;
4743 } catch ( error ) {
44+ logger . error ( `Error indexing project (projectId: ${ data . id } )` , error ) ;
45+ throw error ;
46+ }
47+ } ) ;
48+
49+ /**
50+ * Handler for project creation event
51+ * @param {Object } logger logger to log along with trace id
52+ * @param {Object } msg event payload
53+ * @param {Object } channel channel to ack, nack
54+ * @returns {undefined }
55+ */
56+ const projectCreatedHandler = Promise . coroutine ( function * ( logger , msg , channel ) { // eslint-disable-line func-names
57+ try {
58+ indexProject ( logger , msg ) ;
59+ createPhaseTopic ( logger , msg ) ;
60+ channel . ack ( msg ) ;
61+ } catch ( error ) {
4862 logger . error ( `Error processing event (projectId: ${ data . id } )` , error ) ;
4963 channel . nack ( msg , false , ! msg . fields . redelivered ) ;
5064 return undefined ;
0 commit comments