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),