Skip to content

Commit 6d17fa7

Browse files
author
ilya
committed
DATA-53829: Fixing PR issues
1 parent 4486d89 commit 6d17fa7

3 files changed

Lines changed: 47 additions & 6 deletions

File tree

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.prebid.server.hooks.modules.liveintent.omni.channel.identity.model;
2+
3+
import lombok.Builder;
4+
import lombok.Value;
5+
6+
@Value
7+
@Builder(toBuilder = true)
8+
public class FullSource {
9+
10+
String source;
11+
String inserter;
12+
}

extra/modules/live-intent-omni-channel-identity/src/main/java/org/prebid/server/hooks/modules/liveintent/omni/channel/identity/v1/hooks/LiveIntentOmniChannelIdentityProcessedAuctionRequestHook.java

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.prebid.server.hooks.execution.v1.analytics.ResultImpl;
2424
import org.prebid.server.hooks.execution.v1.analytics.TagsImpl;
2525
import org.prebid.server.hooks.execution.v1.auction.AuctionRequestPayloadImpl;
26+
import org.prebid.server.hooks.modules.liveintent.omni.channel.identity.model.FullSource;
2627
import org.prebid.server.hooks.modules.liveintent.omni.channel.identity.model.IdResResponse;
2728
import org.prebid.server.hooks.modules.liveintent.omni.channel.identity.model.config.LiveIntentOmniChannelProperties;
2829
import org.prebid.server.hooks.modules.liveintent.omni.channel.identity.v1.LiveIntentOmniChannelIdentityModule;
@@ -197,6 +198,9 @@ private InvocationResultImpl<AuctionRequestPayload> update(IdResResponse resolut
197198

198199
private AuctionRequestPayload updatedPayload(AuctionRequestPayload requestPayload, List<Eid> resolvedEids) {
199200
final List<Eid> eids = ListUtils.emptyIfNull(resolvedEids);
201+
if (CollectionUtils.isEmpty(eids)) {
202+
return requestPayload;
203+
}
200204
final BidRequest bidRequest = updateAllowedBidders(requestPayload.bidRequest(), resolvedEids);
201205
final User updatedUser = Optional.ofNullable(bidRequest.getUser())
202206
.map(user -> user.toBuilder().eids(ListUtil.union(ListUtils.emptyIfNull(user.getEids()), eids)))
@@ -207,7 +211,7 @@ private AuctionRequestPayload updatedPayload(AuctionRequestPayload requestPayloa
207211
}
208212

209213
private BidRequest updateAllowedBidders(BidRequest bidRequest, List<Eid> resolvedEids) {
210-
if (CollectionUtils.isEmpty(targetBidders) || CollectionUtils.isEmpty(resolvedEids)) {
214+
if (CollectionUtils.isEmpty(targetBidders)) {
211215
return bidRequest;
212216
}
213217

@@ -232,8 +236,8 @@ private BidRequest updateAllowedBidders(BidRequest bidRequest, List<Eid> resolve
232236
private ExtRequestPrebidData updatePrebidData(ExtRequestPrebidData extPrebidData, List<Eid> resolvedEids) {
233237
final List<String> originalBidders = extPrebidData != null ? extPrebidData.getBidders() : null;
234238

235-
final Set<String> resolvedSources = resolvedEids.stream()
236-
.map(Eid::getSource)
239+
final Set<FullSource> resolvedSources = resolvedEids.stream()
240+
.map(eid -> FullSource.builder().source(eid.getSource()).inserter(eid.getInserter()).build())
237241
.collect(Collectors.toSet());
238242

239243
final List<ExtRequestPrebidDataEidPermissions> eidPermissions = extPrebidData != null
@@ -245,13 +249,30 @@ private ExtRequestPrebidData updatePrebidData(ExtRequestPrebidData extPrebidData
245249
.filter(Objects::nonNull)
246250
.toList();
247251

248-
return ExtRequestPrebidData.of(originalBidders, updatedPermissions);
252+
if (CollectionUtils.isEmpty(updatedPermissions)) {
253+
return ExtRequestPrebidData.of(
254+
originalBidders,
255+
resolvedEids.stream()
256+
.map(eid ->
257+
ExtRequestPrebidDataEidPermissions.builder()
258+
.bidders(targetBidders.stream().toList())
259+
.inserter(INSERTER)
260+
.source(eid.getSource())
261+
.build())
262+
.toList());
263+
} else {
264+
return ExtRequestPrebidData.of(originalBidders, updatedPermissions);
265+
}
249266
}
250267

251268
private ExtRequestPrebidDataEidPermissions restrictEidPermission(ExtRequestPrebidDataEidPermissions permission,
252-
Set<String> resolvedSources) {
269+
Set<FullSource> resolvedSources) {
253270

254-
if (!resolvedSources.contains(permission.getSource())) {
271+
final FullSource permFullSource = FullSource.builder()
272+
.source(permission.getSource())
273+
.inserter(permission.getInserter())
274+
.build();
275+
if (!resolvedSources.contains(permFullSource)) {
255276
return permission;
256277
}
257278

@@ -260,6 +281,7 @@ private ExtRequestPrebidDataEidPermissions restrictEidPermission(ExtRequestPrebi
260281
if (CollectionUtils.isEmpty(permittedBidders) || permittedBidders.contains("*")) {
261282
return ExtRequestPrebidDataEidPermissions.builder()
262283
.source(permission.getSource())
284+
.inserter(permission.getInserter())
263285
.bidders(targetBidders.stream().toList())
264286
.build();
265287
}
@@ -272,6 +294,7 @@ private ExtRequestPrebidDataEidPermissions restrictEidPermission(ExtRequestPrebi
272294
? null
273295
: ExtRequestPrebidDataEidPermissions.builder()
274296
.source(permission.getSource())
297+
.inserter(permission.getInserter())
275298
.bidders(finalBidders)
276299
.build();
277300
}

extra/modules/live-intent-omni-channel-identity/src/test/java/org/prebid/server/hooks/modules/liveintent/omni/channel/identity/v1/LiveIntentOmniChannelIdentityProcessedAuctionRequestHookTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,15 +386,18 @@ public void shouldRestrictExistingEidPermissionsByIntersectionAndKeepGlobalBidde
386386

387387
final ExtRequestPrebidDataEidPermissions otherBidder = ExtRequestPrebidDataEidPermissions.builder()
388388
.source("some.other-source.com")
389+
.inserter("some.other-inserter.com")
389390
.bidders(singletonList("bidderY"))
390391
.build();
391392

392393
final ExtRequestPrebidDataEidPermissions liBidder2 = ExtRequestPrebidDataEidPermissions.builder()
393394
.source("liveintent.com")
395+
.inserter("s2s.liveintent.com")
394396
.bidders(singletonList("bidder2"))
395397
.build();
396398
final ExtRequestPrebidDataEidPermissions liBidder23 = ExtRequestPrebidDataEidPermissions.builder()
397399
.source("liveintent.com")
400+
.inserter("s2s.liveintent.com")
398401
.bidders(List.of("bidder2", "bidder3"))
399402
.build();
400403

@@ -452,10 +455,12 @@ public void shouldNotAddNewEidPermissionsOrModifyGlobalBiddersWhenSourceNotPrese
452455
final User givenUser = User.builder().eids(singletonList(givenEid)).build();
453456
final ExtRequestPrebidDataEidPermissions bidder1 = ExtRequestPrebidDataEidPermissions.builder()
454457
.source("some.other-source.com")
458+
.inserter("some.other-inserter.com")
455459
.bidders(singletonList("bidder3"))
456460
.build();
457461
final ExtRequestPrebidDataEidPermissions bidder2 = ExtRequestPrebidDataEidPermissions.builder()
458462
.source("some.source.com")
463+
.inserter("s2s.liveintent.com")
459464
.bidders(singletonList("bidder3"))
460465
.build();
461466

@@ -516,6 +521,7 @@ public void shouldRemovePermissionWhenIntersectionIsEmpty() {
516521
List.of(
517522
ExtRequestPrebidDataEidPermissions.builder()
518523
.source("liveintent.com")
524+
.inserter("s2s.liveintent.com")
519525
.bidders(singletonList("not-allowed"))
520526
.build(),
521527
ExtRequestPrebidDataEidPermissions.builder()

0 commit comments

Comments
 (0)