2323import org .prebid .server .hooks .execution .v1 .analytics .ResultImpl ;
2424import org .prebid .server .hooks .execution .v1 .analytics .TagsImpl ;
2525import org .prebid .server .hooks .execution .v1 .auction .AuctionRequestPayloadImpl ;
26+ import org .prebid .server .hooks .modules .liveintent .omni .channel .identity .model .FullSource ;
2627import org .prebid .server .hooks .modules .liveintent .omni .channel .identity .model .IdResResponse ;
2728import org .prebid .server .hooks .modules .liveintent .omni .channel .identity .model .config .LiveIntentOmniChannelProperties ;
2829import 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 }
0 commit comments