@@ -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
@@ -208,6 +209,9 @@ async function searchChallenges (currentUser, criteria) {
208
209
element . type = typeMap . get ( element . typeId ) || 'Code'
209
210
delete element . typeId
210
211
} )
212
+ _ . each ( result , async element => {
213
+ await getPhasesAndPopulate ( element )
214
+ } )
211
215
212
216
return { total, page : criteria . page , perPage : criteria . perPage , result : await populateSettings ( result ) }
213
217
}
@@ -481,6 +485,20 @@ async function populateSettings (data) {
481
485
return data
482
486
}
483
487
488
+ /**
489
+ * Populate phase data from phase API.
490
+ * @param {Object } the challenge entity
491
+ */
492
+ async function getPhasesAndPopulate ( data ) {
493
+ _ . each ( data . phases , async p => {
494
+ const phase = await phaseService . getPhase ( p . id )
495
+ p . name = phase . name
496
+ if ( phase . description ) {
497
+ p . description = phase . description
498
+ }
499
+ } )
500
+ }
501
+
484
502
/**
485
503
* Get challenge.
486
504
* @param {Object } currentUser the user who perform operation
@@ -529,6 +547,8 @@ async function getChallenge (currentUser, id) {
529
547
_ . unset ( challenge , 'privateDescription' )
530
548
}
531
549
550
+ getPhasesAndPopulate ( challenge )
551
+
532
552
return populateSettings ( challenge )
533
553
}
534
554
@@ -952,6 +972,14 @@ async function update (currentUser, challengeId, data, userToken, isFull) {
952
972
953
973
delete data . attachmentIds
954
974
delete data . termsIds
975
+ if ( data . phases ) {
976
+ _ . each ( data . phases , p => {
977
+ delete p . name
978
+ if ( p . description ) {
979
+ delete p . description
980
+ }
981
+ } )
982
+ }
955
983
_ . assign ( challenge , data )
956
984
if ( ! _ . isUndefined ( newAttachments ) ) {
957
985
challenge . attachments = newAttachments
0 commit comments