@@ -325,8 +325,10 @@ class ChallengesService {
325
325
* @return {Promise } Resolves to the challenge object.
326
326
*/
327
327
async getChallengeDetails ( challengeId ) {
328
+ const user = decodeToken ( this . private . tokenV3 ) ;
328
329
let challenge = { } ;
329
330
let isLegacyChallenge = false ;
331
+ let isRegistered = false ;
330
332
// condition based on ROUTE used for Review Opportunities, change if needed
331
333
if ( / ^ [ \d ] { 5 , 8 } $ / . test ( challengeId ) ) {
332
334
isLegacyChallenge = true ;
@@ -337,10 +339,22 @@ class ChallengesService {
337
339
. then ( res => res . challenges ) ;
338
340
}
339
341
340
- const registrants = await this . getChallengeRegistrants ( challenge . id ) ;
341
- challenge . registrants = registrants ;
342
+ // TEMP FIX until API was fixed
343
+ try {
344
+ const registrants = await this . getChallengeRegistrants ( challenge . id ) ;
345
+ challenge . registrants = registrants ;
346
+ } catch ( err ) {
347
+ challenge . registrants = [ ] ;
348
+ }
349
+
350
+ if ( user ) {
351
+ const userChallenges = await this . private . apiV5 . get ( `/resources/${ user . userId } /challenges` )
352
+ . then ( checkErrorV5 ) . then ( res => res . result ) ;
353
+ isRegistered = _ . includes ( userChallenges , challengeId ) ;
354
+ }
342
355
343
356
challenge . isLegacyChallenge = isLegacyChallenge ;
357
+ challenge . isRegistered = isRegistered ;
344
358
345
359
challenge . events = _ . map ( challenge . events , e => ( {
346
360
eventName : e . key ,
0 commit comments