@@ -13,6 +13,7 @@ const constants = require('../../app-constants')
13
13
const models = require ( '../models' )
14
14
const HttpStatus = require ( 'http-status-codes' )
15
15
const moment = require ( 'moment' )
16
+ const phaseService = require ( './PhaseService' )
16
17
17
18
const esClient = helper . getESClient ( )
18
19
@@ -239,6 +240,9 @@ async function searchChallenges (currentUser, criteria) {
239
240
element . type = typeMap . get ( element . typeId ) || 'Code'
240
241
delete element . typeId
241
242
} )
243
+ _ . each ( result , async element => {
244
+ await getPhasesAndPopulate ( element )
245
+ } )
242
246
243
247
return { total, page : criteria . page , perPage : criteria . perPage , result : await populateSettings ( result ) }
244
248
}
@@ -512,6 +516,20 @@ async function populateSettings (data) {
512
516
return data
513
517
}
514
518
519
+ /**
520
+ * Populate phase data from phase API.
521
+ * @param {Object } the challenge entity
522
+ */
523
+ async function getPhasesAndPopulate ( data ) {
524
+ _ . each ( data . phases , async p => {
525
+ const phase = await phaseService . getPhase ( p . id )
526
+ p . name = phase . name
527
+ if ( phase . description ) {
528
+ p . description = phase . description
529
+ }
530
+ } )
531
+ }
532
+
515
533
/**
516
534
* Get challenge.
517
535
* @param {Object } currentUser the user who perform operation
@@ -560,6 +578,8 @@ async function getChallenge (currentUser, id) {
560
578
_ . unset ( challenge , 'privateDescription' )
561
579
}
562
580
581
+ getPhasesAndPopulate ( challenge )
582
+
563
583
return populateSettings ( challenge )
564
584
}
565
585
@@ -988,6 +1008,14 @@ async function update (currentUser, challengeId, data, userToken, isFull) {
988
1008
989
1009
delete data . attachmentIds
990
1010
delete data . termsIds
1011
+ if ( data . phases ) {
1012
+ _ . each ( data . phases , p => {
1013
+ delete p . name
1014
+ if ( p . description ) {
1015
+ delete p . description
1016
+ }
1017
+ } )
1018
+ }
991
1019
_ . assign ( challenge , data )
992
1020
if ( ! _ . isUndefined ( newAttachments ) ) {
993
1021
challenge . attachments = newAttachments
0 commit comments