Added parameter affiliates.
This commit is contained in:
parent
8967907893
commit
488d1082e4
|
@ -149,8 +149,15 @@ async function fetchEntity(scroll = true) {
|
|||
|
||||
this.pageTitle = entity.name;
|
||||
|
||||
const campaign = entity.campaigns.find(campaignX => !campaignX.banner);
|
||||
this.entityUrl = campaign?.url || campaign?.affiliate?.url || entity.url;
|
||||
const campaign = entity.campaigns.find(campaignX => !campaignX.banner)
|
||||
|| entity.parent?.campaigns.find(campaignX => !campaignX.banner);
|
||||
|
||||
const affiliateParams = new URLSearchParams({
|
||||
...(entity.url && Object.fromEntries(new URL(entity.url).searchParams)), // preserve any query in entity URL, e.g. ?siteId=5
|
||||
...(campaign?.affiliate?.parameters && Object.fromEntries(new URLSearchParams(campaign.affiliate.parameters))), // append affiliate parameters
|
||||
}).toString();
|
||||
|
||||
this.entityUrl = campaign?.url || campaign?.affiliate?.url || `${entity.url}${campaign?.affiliate?.parameters ? `?${affiliateParams}` : ''}`;
|
||||
|
||||
if (scroll && this.$refs.filter?.$el) {
|
||||
this.$refs.filter.$el.scrollIntoView();
|
||||
|
|
|
@ -122,6 +122,7 @@ const campaignsFragment = `
|
|||
affiliate {
|
||||
id
|
||||
url
|
||||
parameters
|
||||
}
|
||||
banner {
|
||||
id
|
||||
|
|
|
@ -1285,8 +1285,10 @@ exports.up = knex => Promise.resolve()
|
|||
.inTable('entities');
|
||||
|
||||
table.text('url');
|
||||
table.text('parameters');
|
||||
|
||||
table.unique(['entity_id', 'url']);
|
||||
table.unique(['entity_id', 'parameters']);
|
||||
|
||||
table.text('comment');
|
||||
|
||||
|
@ -1578,6 +1580,12 @@ exports.up = knex => Promise.resolve()
|
|||
CREATE FUNCTION banners_ratio(banner banners) RETURNS numeric AS $$
|
||||
SELECT ROUND(banner.width::decimal / banner.height::decimal, 2);
|
||||
$$ LANGUAGE SQL STABLE;
|
||||
|
||||
CREATE FUNCTION get_random_campaign() RETURNS SETOF campaigns AS $$
|
||||
SELECT * FROM campaigns
|
||||
ORDER BY random()
|
||||
LIMIT 1;
|
||||
$$ LANGUAGE sql STABLE;
|
||||
`);
|
||||
})
|
||||
// POLICIES
|
||||
|
@ -1824,6 +1832,7 @@ exports.down = (knex) => { // eslint-disable-line arrow-body-style
|
|||
DROP POLICY IF EXISTS stashes_policy ON stashes_actors;
|
||||
|
||||
DROP FUNCTION IF EXISTS current_user_id;
|
||||
DROP FUNCTION IF EXISTS get_random_campaign;
|
||||
|
||||
DROP TABLE IF EXISTS releases_search_results;
|
||||
`);
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
|
@ -7,6 +7,12 @@ const affiliates = [
|
|||
url: 'https://join.archangelvideo.com/track/MzQ3LjEuMS4xLjAuMC4wLjAuMA',
|
||||
comment: 'revshare',
|
||||
},
|
||||
{
|
||||
id: 'kink_params',
|
||||
network: 'kink',
|
||||
parameters: 't=eyJhZmZpbGlhdGUiOiJEZWJhdWNoZXJ5TGliIiwiY2FtcGFpZ24iOiJkZWZhdWx0IiwiYWdldmVyaWZpZWQiOiJ5In0',
|
||||
comment: '50%',
|
||||
},
|
||||
];
|
||||
|
||||
const banners = [
|
||||
|
@ -465,7 +471,7 @@ const campaigns = [
|
|||
},
|
||||
{
|
||||
network: 'kink',
|
||||
url: 'https://www.kink.com/shoots/latest?t=eyJhZmZpbGlhdGUiOiJEZWJhdWNoZXJ5TGliIiwiY2FtcGFpZ24iOiJkZWZhdWx0IiwiYWdldmVyaWZpZWQiOiJ5In0',
|
||||
affiliate: 'kink_params',
|
||||
comment: '50%',
|
||||
},
|
||||
{
|
||||
|
@ -673,6 +679,7 @@ exports.seed = async knex => Promise.resolve()
|
|||
id: affiliate.id,
|
||||
entity_id: networksBySlug[affiliate.network]?.id || channelsBySlug[affiliate.channel]?.id || null,
|
||||
url: affiliate.url,
|
||||
parameters: affiliate.parameters,
|
||||
comment: affiliate.comment,
|
||||
}));
|
||||
|
||||
|
|
Loading…
Reference in New Issue