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