From ed03aada40265bf226422a597048f825f7435b19 Mon Sep 17 00:00:00 2001 From: Thomas Kranitsas Date: Fri, 5 Mar 2021 02:12:32 +0200 Subject: [PATCH] read BA from the challenge object --- src/app.js | 3 +-- src/services/ProcessorService.js | 14 ++++++++++---- src/utils/metadataExtractor.js | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/app.js b/src/app.js index 78be71e..8e1a3e2 100644 --- a/src/app.js +++ b/src/app.js @@ -55,8 +55,7 @@ const dataHandler = (messageSet, topic, partition) => Promise.each(messageSet, a } const m2mToken = await helper.getM2MToken() const v5Challenge = await helper.getRequest(`${config.V5_CHALLENGE_API_URL}/${challengeUuid}`, m2mToken) - // TODO : Cleanup. Pulling the billingAccountId from the payload, it's not part of the challenge object - messageJSON.payload = { billingAccountId: messageJSON.payload.billingAccountId, ...v5Challenge.body } + messageJSON.payload = { ...v5Challenge.body } } catch (err) { logger.debug('Failed to fetch challenge information') logger.logFullError(err) diff --git a/src/services/ProcessorService.js b/src/services/ProcessorService.js index 0bba727..a7ea3c1 100644 --- a/src/services/ProcessorService.js +++ b/src/services/ProcessorService.js @@ -357,8 +357,8 @@ async function parsePayload (payload, m2mToken, isCreated = true, informixGroupI projectId, status: payload.status } - if (payload.billingAccountId) { - data.billingAccountId = payload.billingAccountId + if (_.get(payload, 'billing.billingAccountId')) { + data.billingAccountId = _.get(payload, 'billing.billingAccountId') } if (_.get(payload, 'legacy.forumId')) { data.forumId = payload.legacy.forumId @@ -607,7 +607,10 @@ processCreate.schema = { isAssigned: Joi.boolean().default(false), memberId: Joi.string().allow(null) }), - billingAccountId: Joi.number(), + billing: Joi.object().keys({ + billingAccountId: Joi.number(), + markup: Joi.number().min(0).max(100) + }).unknown(true), name: Joi.string().required(), description: Joi.string(), privateDescription: Joi.string(), @@ -775,7 +778,10 @@ processUpdate.schema = { isAssigned: Joi.boolean().default(false), memberId: Joi.string().allow(null) }), - billingAccountId: Joi.number(), + billing: Joi.object().keys({ + billingAccountId: Joi.number(), + markup: Joi.number().min(0).max(100) + }).unknown(true), typeId: Joi.string().required(), trackId: Joi.string().required(), name: Joi.string(), diff --git a/src/utils/metadataExtractor.js b/src/utils/metadataExtractor.js index 0a49a06..5a01c0e 100644 --- a/src/utils/metadataExtractor.js +++ b/src/utils/metadataExtractor.js @@ -23,7 +23,7 @@ const toBool = v => _.toString(v).toLowerCase() === 'true' * @param {Any} defaultValue the default value */ function extractBillingProject (challenge, defaultValue) { - return _.get(challenge, 'billingAccountId', _.get(challenge, 'billing.billingAccountId', defaultValue)) + return _.get(challenge, 'billing.billingAccountId', _.get(challenge, 'billingAccountId', defaultValue)) } /**