Fixed banner URL not resolving to affiliate definition.
This commit is contained in:
@@ -38,6 +38,8 @@ const props = defineProps({
|
||||
},
|
||||
});
|
||||
|
||||
// console.log(props.campaign);
|
||||
|
||||
const bannerSrc = (() => {
|
||||
if (props.campaign.banner) {
|
||||
if (props.campaign.banner.entity.type === 'network' || !props.campaign.banner.entity.parent) {
|
||||
|
||||
@@ -8,7 +8,7 @@ import { getAffiliateEntityUrl } from './affiliates.js';
|
||||
|
||||
const logger = initLogger();
|
||||
|
||||
function getCampaignUrl(campaign) {
|
||||
function getCampaignUrl(campaign, entity) {
|
||||
if (!campaign) {
|
||||
return null;
|
||||
}
|
||||
@@ -17,8 +17,13 @@ function getCampaignUrl(campaign) {
|
||||
return campaign.url;
|
||||
}
|
||||
|
||||
if (campaign.affiliate?.url) {
|
||||
return campaign.affiliate.url;
|
||||
}
|
||||
|
||||
if (campaign.entity) {
|
||||
return getAffiliateEntityUrl(campaign.entity, campaign.affiliate);
|
||||
// resolve e.g. parameter tracking
|
||||
return getAffiliateEntityUrl(entity, campaign.affiliate);
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -29,9 +34,11 @@ function curateCampaign(campaign) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const entity = campaign.entity && curateEntity({ ...campaign.entity, parent: campaign.parent_entity });
|
||||
|
||||
const curatedCampaign = {
|
||||
id: campaign.id,
|
||||
entity: campaign.entity && curateEntity({ ...campaign.entity, parent: campaign.parent_entity }),
|
||||
entity,
|
||||
banner: campaign.banner && {
|
||||
id: campaign.banner.id,
|
||||
type: campaign.banner.type,
|
||||
@@ -48,7 +55,7 @@ function curateCampaign(campaign) {
|
||||
},
|
||||
};
|
||||
|
||||
curatedCampaign.url = getCampaignUrl(curatedCampaign);
|
||||
curatedCampaign.url = getCampaignUrl(campaign, entity);
|
||||
|
||||
return curatedCampaign;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user