diff --git a/src/app.js b/src/app.js index 977a295..acdcb27 100644 --- a/src/app.js +++ b/src/app.js @@ -44,6 +44,13 @@ const dataHandler = (messageSet, topic, partition) => Promise.each(messageSet, a return } + // Currently only process payments for challenges with `legacy.pureV5Task: true` + if (!_.get(messageJSON.payload, 'legacy.pureV5Task', false)) { + logger.info(`Challenge Legacy Object ${JSON.stringify(_.get(messageJSON.payload, 'legacy'))} does not have legacy.pureV5Task: true`) + await consumer.commitOffset({ topic, partition, offset: m.offset }) + return + } + if (_.toUpper(_.get(messageJSON.payload, 'type')) !== 'TASK' || _.toUpper(_.get(messageJSON.payload, 'status')) !== 'COMPLETED') { logger.info(`The message type ${_.get(messageJSON.payload, 'type')}, status ${_.get(messageJSON.payload, 'status')} doesn't match {type: 'Task', status: 'Completed'}.`) diff --git a/src/services/processorService.js b/src/services/processorService.js index 0dbbc5c..ee96b7e 100644 --- a/src/services/processorService.js +++ b/src/services/processorService.js @@ -103,7 +103,7 @@ processUpdate.schema = { }).unknown(true)) }).unknown(true)).min(1), winners: Joi.array().items(Joi.object({ - userId: Joi.string().required(), + userId: Joi.number().integer().positive().required(), handle: Joi.string(), placement: Joi.number().integer().positive().required() }).unknown(true)),