Improved banner URL calculation.
This commit is contained in:
@@ -4,17 +4,33 @@ import { knexOwner as knex } from './knex.js';
|
||||
import { curateEntity } from './entities.js';
|
||||
import redis from './redis.js';
|
||||
import initLogger from './logger.js';
|
||||
import { getAffiliateEntityUrl } from './affiliates.js';
|
||||
|
||||
const logger = initLogger();
|
||||
|
||||
function getCampaignUrl(campaign) {
|
||||
if (!campaign) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (campaign.url) {
|
||||
return campaign.url;
|
||||
}
|
||||
|
||||
if (campaign.entity) {
|
||||
return getAffiliateEntityUrl(campaign.entity, campaign.affiliate);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function curateCampaign(campaign) {
|
||||
if (!campaign) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
const curatedCampaign = {
|
||||
id: campaign.id,
|
||||
url: campaign.url,
|
||||
entity: campaign.entity && curateEntity({ ...campaign.entity, parent: campaign.parent_entity }),
|
||||
banner: campaign.banner && {
|
||||
id: campaign.banner.id,
|
||||
@@ -31,6 +47,10 @@ function curateCampaign(campaign) {
|
||||
parameters: campaign.affiliate.parameters,
|
||||
},
|
||||
};
|
||||
|
||||
curatedCampaign.url = getCampaignUrl(curatedCampaign);
|
||||
|
||||
return curatedCampaign;
|
||||
}
|
||||
|
||||
function selectRandomCampaign(primaryCampaigns, entityCampaigns, preferredCampaigns) {
|
||||
|
||||
Reference in New Issue
Block a user