From b58ea7144f0224eb19757cddc6c2ca331cb5e560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNick?= <“nick.llerandi”@kargo.com> Date: Tue, 9 Apr 2024 17:05:04 -0400 Subject: [PATCH 1/9] refactors interpretResponse --- modules/kargoBidAdapter.js | 34 +++++++++++------------ test/spec/modules/kargoBidAdapter_spec.js | 22 +++++++-------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js index fe22915223e..41eda2f323b 100644 --- a/modules/kargoBidAdapter.js +++ b/modules/kargoBidAdapter.js @@ -195,37 +195,36 @@ function buildRequests(validBidRequests, bidderRequest) { } function interpretResponse(response, bidRequest) { - let bids = response.body; + const bids = response.body; const bidResponses = []; - if (isEmpty(bids)) { + // Guard clauses to handle empty or non-object responses + if (isEmpty(bids) || typeof bids !== 'object') { return bidResponses; } - if (typeof bids !== 'object') { - return bidResponses; - } - - Object.entries(bids).forEach((entry) => { - const [bidID, adUnit] = entry; - + // Utilize Object.entries with destructuring for cleaner iteration + for (const [bidID, adUnit] of Object.entries(bids)) { + // Object spread syntax to create meta object let meta = { mediaType: adUnit.mediaType && BIDDER.SUPPORTED_MEDIA_TYPES.includes(adUnit.mediaType) ? adUnit.mediaType : BANNER }; - if (adUnit.metadata && adUnit.metadata.landingPageDomain) { + // Optional chaining to access nested properties safely + if (adUnit.metadata?.landingPageDomain) { meta.clickUrl = adUnit.metadata.landingPageDomain[0]; meta.advertiserDomains = adUnit.metadata.landingPageDomain; } + // Use object destructuring for cleaner object creation const bidResponse = { requestId: bidID, - cpm: Number(adUnit.cpm), - width: adUnit.width, - height: adUnit.height, - ttl: 300, - creativeId: adUnit.creativeID, - dealId: adUnit.targetingCustom, + cpm: typeof adUnit.cpm === 'number' ? Number(adUnit.cpm) : 0, // Type check for cpm and provide default value + width: typeof adUnit.width === 'number' ? adUnit.width : 1, // Type check for width and provide default value + height: typeof adUnit.height === 'number' ? adUnit.height : 1, // Type check for height and provide default value + ttl: 360, + creativeId: adUnit.creativeID || '', // Provide default value for creativeId + dealId: adUnit.targetingCustom || '', // Provide default value for targetingCustom netRevenue: true, currency: adUnit.currency || bidRequest.currency, mediaType: meta.mediaType, @@ -242,8 +241,9 @@ function interpretResponse(response, bidRequest) { bidResponse.ad = adUnit.adm; } + // Push the bid response into the bidResponses array bidResponses.push(bidResponse); - }) + } return bidResponses; } diff --git a/test/spec/modules/kargoBidAdapter_spec.js b/test/spec/modules/kargoBidAdapter_spec.js index eb8f310201d..026c0ce3cb5 100644 --- a/test/spec/modules/kargoBidAdapter_spec.js +++ b/test/spec/modules/kargoBidAdapter_spec.js @@ -964,9 +964,9 @@ describe('kargo adapter tests', function () { cpm: 3, width: 320, height: 50, - ttl: 300, + ttl: 360, creativeId: 'bar', - dealId: undefined, + dealId: '', netRevenue: true, currency: 'USD', mediaType: 'banner', @@ -979,7 +979,7 @@ describe('kargo adapter tests', function () { cpm: 2.5, width: 300, height: 250, - ttl: 300, + ttl: 360, creativeId: 'foo', dealId: 'dmpmptest1234', netRevenue: true, @@ -996,9 +996,9 @@ describe('kargo adapter tests', function () { cpm: 2.5, width: 300, height: 250, - ttl: 300, + ttl: 360, creativeId: 'foo', - dealId: undefined, + dealId: '', netRevenue: true, currency: 'USD', mediaType: 'banner', @@ -1011,9 +1011,9 @@ describe('kargo adapter tests', function () { cpm: 2.5, width: 300, height: 250, - ttl: 300, + ttl: 360, creativeId: 'foo', - dealId: undefined, + dealId: '', netRevenue: true, currency: 'EUR', mediaType: 'banner', @@ -1026,9 +1026,9 @@ describe('kargo adapter tests', function () { width: 300, height: 250, vastXml: '', - ttl: 300, + ttl: 360, creativeId: 'foo', - dealId: undefined, + dealId: '', netRevenue: true, currency: 'EUR', mediaType: 'video', @@ -1041,9 +1041,9 @@ describe('kargo adapter tests', function () { width: 300, height: 250, vastUrl: 'https://foobar.com/vast_adm', - ttl: 300, + ttl: 360, creativeId: 'foo', - dealId: undefined, + dealId: '', netRevenue: true, currency: 'EUR', mediaType: 'video', From b1a2b242181887db2faa148c070ed74f9b61a2b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNick?= <“nick.llerandi”@kargo.com> Date: Tue, 9 Apr 2024 17:12:07 -0400 Subject: [PATCH 2/9] updates comment --- modules/kargoBidAdapter.js | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js index 41eda2f323b..659e105d137 100644 --- a/modules/kargoBidAdapter.js +++ b/modules/kargoBidAdapter.js @@ -217,6 +217,7 @@ function interpretResponse(response, bidRequest) { } // Use object destructuring for cleaner object creation + // Proper checks for safer execution and avoid runtime errors const bidResponse = { requestId: bidID, cpm: typeof adUnit.cpm === 'number' ? Number(adUnit.cpm) : 0, // Type check for cpm and provide default value From c8681fe3038b667a2c13ba44e1ef32c50e7f6b82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNick?= <“nick.llerandi”@kargo.com> Date: Tue, 9 Apr 2024 17:20:01 -0400 Subject: [PATCH 3/9] simpler --- modules/kargoBidAdapter.js | 10 +++++----- test/spec/modules/kargoBidAdapter_spec.js | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js index 659e105d137..31960dd9753 100644 --- a/modules/kargoBidAdapter.js +++ b/modules/kargoBidAdapter.js @@ -220,12 +220,12 @@ function interpretResponse(response, bidRequest) { // Proper checks for safer execution and avoid runtime errors const bidResponse = { requestId: bidID, - cpm: typeof adUnit.cpm === 'number' ? Number(adUnit.cpm) : 0, // Type check for cpm and provide default value - width: typeof adUnit.width === 'number' ? adUnit.width : 1, // Type check for width and provide default value - height: typeof adUnit.height === 'number' ? adUnit.height : 1, // Type check for height and provide default value + cpm: Number(adUnit.cpm) || 0, + width: adUnit.width || 1, + height: adUnit.height || 1, ttl: 360, - creativeId: adUnit.creativeID || '', // Provide default value for creativeId - dealId: adUnit.targetingCustom || '', // Provide default value for targetingCustom + creativeId: adUnit.creativeID || '', + dealId: adUnit.targetingCustom, netRevenue: true, currency: adUnit.currency || bidRequest.currency, mediaType: meta.mediaType, diff --git a/test/spec/modules/kargoBidAdapter_spec.js b/test/spec/modules/kargoBidAdapter_spec.js index 026c0ce3cb5..9f20a2e752e 100644 --- a/test/spec/modules/kargoBidAdapter_spec.js +++ b/test/spec/modules/kargoBidAdapter_spec.js @@ -966,7 +966,7 @@ describe('kargo adapter tests', function () { height: 50, ttl: 360, creativeId: 'bar', - dealId: '', + dealId: undefined, netRevenue: true, currency: 'USD', mediaType: 'banner', @@ -998,7 +998,7 @@ describe('kargo adapter tests', function () { height: 250, ttl: 360, creativeId: 'foo', - dealId: '', + dealId: undefined, netRevenue: true, currency: 'USD', mediaType: 'banner', @@ -1013,7 +1013,7 @@ describe('kargo adapter tests', function () { height: 250, ttl: 360, creativeId: 'foo', - dealId: '', + dealId: undefined, netRevenue: true, currency: 'EUR', mediaType: 'banner', @@ -1028,7 +1028,7 @@ describe('kargo adapter tests', function () { vastXml: '', ttl: 360, creativeId: 'foo', - dealId: '', + dealId: undefined, netRevenue: true, currency: 'EUR', mediaType: 'video', @@ -1043,7 +1043,7 @@ describe('kargo adapter tests', function () { vastUrl: 'https://foobar.com/vast_adm', ttl: 360, creativeId: 'foo', - dealId: '', + dealId: undefined, netRevenue: true, currency: 'EUR', mediaType: 'video', From ba23176cc4d13dfa22065e5cbf18b10944110fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNick?= <“nick.llerandi”@kargo.com> Date: Tue, 9 Apr 2024 17:21:02 -0400 Subject: [PATCH 4/9] removes unnecessary comment --- modules/kargoBidAdapter.js | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js index 31960dd9753..38e8832282b 100644 --- a/modules/kargoBidAdapter.js +++ b/modules/kargoBidAdapter.js @@ -205,7 +205,6 @@ function interpretResponse(response, bidRequest) { // Utilize Object.entries with destructuring for cleaner iteration for (const [bidID, adUnit] of Object.entries(bids)) { - // Object spread syntax to create meta object let meta = { mediaType: adUnit.mediaType && BIDDER.SUPPORTED_MEDIA_TYPES.includes(adUnit.mediaType) ? adUnit.mediaType : BANNER }; From 060aa11392826dcba06cd2443a70d5eb19ebf4a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNick?= <“nick.llerandi”@kargo.com> Date: Tue, 9 Apr 2024 17:23:02 -0400 Subject: [PATCH 5/9] removes more unnecessary comments --- modules/kargoBidAdapter.js | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js index 38e8832282b..f3fe59702f0 100644 --- a/modules/kargoBidAdapter.js +++ b/modules/kargoBidAdapter.js @@ -241,7 +241,6 @@ function interpretResponse(response, bidRequest) { bidResponse.ad = adUnit.adm; } - // Push the bid response into the bidResponses array bidResponses.push(bidResponse); } From 2e7321c0a0b8a425a23775ed4a15c198dbbd0499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNick?= <“nick.llerandi”@kargo.com> Date: Thu, 11 Apr 2024 11:34:38 -0400 Subject: [PATCH 6/9] revert ttl --- modules/kargoBidAdapter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js index f3fe59702f0..fc154082e91 100644 --- a/modules/kargoBidAdapter.js +++ b/modules/kargoBidAdapter.js @@ -222,7 +222,7 @@ function interpretResponse(response, bidRequest) { cpm: Number(adUnit.cpm) || 0, width: adUnit.width || 1, height: adUnit.height || 1, - ttl: 360, + ttl: 300, creativeId: adUnit.creativeID || '', dealId: adUnit.targetingCustom, netRevenue: true, From f289f93004926e0c206355b27dd745715c90c009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNick?= <“nick.llerandi”@kargo.com> Date: Thu, 11 Apr 2024 11:36:56 -0400 Subject: [PATCH 7/9] reverts ttl test values --- test/spec/modules/kargoBidAdapter_spec.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/spec/modules/kargoBidAdapter_spec.js b/test/spec/modules/kargoBidAdapter_spec.js index 9f20a2e752e..eb8f310201d 100644 --- a/test/spec/modules/kargoBidAdapter_spec.js +++ b/test/spec/modules/kargoBidAdapter_spec.js @@ -964,7 +964,7 @@ describe('kargo adapter tests', function () { cpm: 3, width: 320, height: 50, - ttl: 360, + ttl: 300, creativeId: 'bar', dealId: undefined, netRevenue: true, @@ -979,7 +979,7 @@ describe('kargo adapter tests', function () { cpm: 2.5, width: 300, height: 250, - ttl: 360, + ttl: 300, creativeId: 'foo', dealId: 'dmpmptest1234', netRevenue: true, @@ -996,7 +996,7 @@ describe('kargo adapter tests', function () { cpm: 2.5, width: 300, height: 250, - ttl: 360, + ttl: 300, creativeId: 'foo', dealId: undefined, netRevenue: true, @@ -1011,7 +1011,7 @@ describe('kargo adapter tests', function () { cpm: 2.5, width: 300, height: 250, - ttl: 360, + ttl: 300, creativeId: 'foo', dealId: undefined, netRevenue: true, @@ -1026,7 +1026,7 @@ describe('kargo adapter tests', function () { width: 300, height: 250, vastXml: '', - ttl: 360, + ttl: 300, creativeId: 'foo', dealId: undefined, netRevenue: true, @@ -1041,7 +1041,7 @@ describe('kargo adapter tests', function () { width: 300, height: 250, vastUrl: 'https://foobar.com/vast_adm', - ttl: 360, + ttl: 300, creativeId: 'foo', dealId: undefined, netRevenue: true, From 8c59772950c59327e446451122c8fa18cc9cdd17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNick?= <“nick.llerandi”@kargo.com> Date: Fri, 12 Apr 2024 11:15:25 -0400 Subject: [PATCH 8/9] revert some || changes --- modules/kargoBidAdapter.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js index fc154082e91..9d983367b23 100644 --- a/modules/kargoBidAdapter.js +++ b/modules/kargoBidAdapter.js @@ -219,11 +219,11 @@ function interpretResponse(response, bidRequest) { // Proper checks for safer execution and avoid runtime errors const bidResponse = { requestId: bidID, - cpm: Number(adUnit.cpm) || 0, - width: adUnit.width || 1, - height: adUnit.height || 1, + cpm: Number(adUnit.cpm), + width: adUnit.width, + height: adUnit.height, ttl: 300, - creativeId: adUnit.creativeID || '', + creativeId: adUnit.creativeID, dealId: adUnit.targetingCustom, netRevenue: true, currency: adUnit.currency || bidRequest.currency, From 57a49d3a58080cbde796ccb24a81887f027dee64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNick?= <“nick.llerandi”@kargo.com> Date: Fri, 12 Apr 2024 11:17:32 -0400 Subject: [PATCH 9/9] removes comments --- modules/kargoBidAdapter.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/kargoBidAdapter.js b/modules/kargoBidAdapter.js index 9d983367b23..f3b3166ccad 100644 --- a/modules/kargoBidAdapter.js +++ b/modules/kargoBidAdapter.js @@ -198,25 +198,20 @@ function interpretResponse(response, bidRequest) { const bids = response.body; const bidResponses = []; - // Guard clauses to handle empty or non-object responses if (isEmpty(bids) || typeof bids !== 'object') { return bidResponses; } - // Utilize Object.entries with destructuring for cleaner iteration for (const [bidID, adUnit] of Object.entries(bids)) { let meta = { mediaType: adUnit.mediaType && BIDDER.SUPPORTED_MEDIA_TYPES.includes(adUnit.mediaType) ? adUnit.mediaType : BANNER }; - // Optional chaining to access nested properties safely if (adUnit.metadata?.landingPageDomain) { meta.clickUrl = adUnit.metadata.landingPageDomain[0]; meta.advertiserDomains = adUnit.metadata.landingPageDomain; } - // Use object destructuring for cleaner object creation - // Proper checks for safer execution and avoid runtime errors const bidResponse = { requestId: bidID, cpm: Number(adUnit.cpm),