@@ -229,22 +229,25 @@ removeResource.schema = createResource.schema
229
229
* @param {String } challengeId the challenge id
230
230
*/
231
231
async function updateSubmissionsData ( challengeId ) {
232
+ // const v5challengeId = await helper.getV5ChallengeId(challengeId)
233
+ const legacyId = await helper . getLegacyChallengeId ( challengeId )
234
+ logger . debug ( `Update Submissions Data - Legacy ID ${ legacyId } ` )
232
235
// get all challenge resources
233
- const resources = await helper . getData ( config . RESOURCES_API_URL , { challengeId } )
236
+ // const resources = await helper.getData(config.RESOURCES_API_URL, { challengeId })
234
237
// get all challenge submissions, all pages are retrieved
235
- const subs = await helper . getAllPagesData ( config . SUBMISSIONS_API_URL , { challengeId } )
238
+ const subs = await helper . getAllPagesData ( config . SUBMISSIONS_API_URL , { legacyId } )
236
239
237
240
// function to find submitter handle by member id among challenge resources
238
- const getSubmitter = ( memberId ) => {
239
- const resource = _ . find ( resources , ( r ) => String ( r . memberId ) === String ( memberId ) )
240
- if ( ! resource ) {
241
- // there are some rare cases that submitter resource is not found,
242
- // e.g. user unregisters a challenge after uploading a submission,
243
- // in such cases, return null submitter instead of disabling the whole challenge submissions data
244
- return null
245
- }
246
- return resource . memberHandle
247
- }
241
+ // const getSubmitter = (memberId) => {
242
+ // const resource = _.find(resources, (r) => String(r.memberId) === String(memberId))
243
+ // if (!resource) {
244
+ // // there are some rare cases that submitter resource is not found,
245
+ // // e.g. user unregisters a challenge after uploading a submission,
246
+ // // in such cases, return null submitter instead of disabling the whole challenge submissions data
247
+ // return null
248
+ // }
249
+ // return resource.memberHandle
250
+ // }
248
251
249
252
// construct data
250
253
const submissions = [ ]
@@ -255,39 +258,40 @@ async function updateSubmissionsData (challengeId) {
255
258
const submittersMap = { }
256
259
257
260
_ . forEach ( subs , ( sub ) => {
258
- let target
261
+ // let target
259
262
if ( sub . type === config . CONTEST_SUBMISSION_TYPE ) {
260
- target = submissions
263
+ // target = submissions
261
264
numOfSubmissions += 1
262
265
// count number of submitters, only contest submissions are considered
263
266
if ( ! submittersMap [ sub . memberId ] ) {
264
267
numOfRegistrants += 1
265
268
submittersMap [ sub . memberId ] = true
266
269
}
267
270
} else if ( sub . type === config . CHECKPOINT_SUBMISSION_TYPE ) {
268
- target = checkpoints
271
+ // target = checkpoints
269
272
numOfCheckpointSubmissions += 1
270
- } else {
271
- // ignore the submission, it is not type of contest submission or checkpoint submission
272
- return
273
273
}
274
+ // } else {
275
+ // ignore the submission, it is not type of contest submission or checkpoint submission
276
+ // return
277
+ // }
274
278
// add submission to submissions or checkpoints
275
- const record = _ . find ( target , ( item ) => String ( item . submitterId ) === String ( sub . memberId ) )
276
- if ( record ) {
277
- record . submissions . push ( {
278
- submissionId : sub . id ,
279
- submissionTime : sub . created
280
- } )
281
- } else {
282
- target . push ( {
283
- submitter : getSubmitter ( sub . memberId ) ,
284
- submitterId : sub . memberId ,
285
- submissions : [ {
286
- submissionId : sub . id ,
287
- submissionTime : sub . created
288
- } ]
289
- } )
290
- }
279
+ // const record = _.find(target, (item) => String(item.submitterId) === String(sub.memberId))
280
+ // if (record) {
281
+ // record.submissions.push({
282
+ // submissionId: sub.id,
283
+ // submissionTime: sub.created
284
+ // })
285
+ // } else {
286
+ // target.push({
287
+ // submitter: getSubmitter(sub.memberId),
288
+ // submitterId: sub.memberId,
289
+ // submissions: [{
290
+ // submissionId: sub.id,
291
+ // submissionTime: sub.created
292
+ // }]
293
+ // })
294
+ // }
291
295
} )
292
296
293
297
// update challenge's submissions data, only update changed fields to improve performance
@@ -328,19 +332,7 @@ createSubmission.schema = {
328
332
'mime-type' : Joi . string ( ) . required ( ) ,
329
333
payload : Joi . object ( ) . keys ( {
330
334
resource : Joi . string ( ) . required ( ) ,
331
- id : Joi . string ( ) . uuid ( ) . required ( ) ,
332
- type : Joi . string ( ) . required ( ) ,
333
- fileType : Joi . string ( ) ,
334
- url : Joi . string ( ) . uri ( ) ,
335
- memberId : intOrUUID ( ) . required ( ) ,
336
- challengeId : intOrUUID ( ) . required ( ) ,
337
- legacySubmissionId : intOrUUID ( ) ,
338
- legacyUploadId : intOrUUID ( ) ,
339
- submissionPhaseId : intOrUUID ( ) ,
340
- created : Joi . date ( ) . required ( ) ,
341
- updated : Joi . date ( ) ,
342
- createdBy : Joi . string ( ) . required ( ) ,
343
- updatedBy : Joi . string ( )
335
+ challengeId : intOrUUID ( ) . required ( )
344
336
} ) . unknown ( true ) . required ( )
345
337
} ) . required ( )
346
338
}
@@ -365,14 +357,7 @@ updateSubmission.schema = {
365
357
'mime-type' : Joi . string ( ) . required ( ) ,
366
358
payload : Joi . object ( ) . keys ( {
367
359
resource : Joi . string ( ) . required ( ) ,
368
- id : Joi . string ( ) . uuid ( ) . required ( ) ,
369
- type : Joi . string ( ) . required ( ) ,
370
- url : Joi . string ( ) . uri ( ) ,
371
- memberId : intOrUUID ( ) . required ( ) ,
372
- challengeId : intOrUUID ( ) . required ( ) ,
373
- legacySubmissionId : intOrUUID ( ) ,
374
- legacyUploadId : intOrUUID ( ) ,
375
- submissionPhaseId : intOrUUID ( )
360
+ challengeId : intOrUUID ( ) . required ( )
376
361
} ) . unknown ( true ) . required ( )
377
362
} ) . required ( )
378
363
}
0 commit comments