Compare commits

..

No commits in common. "33102367670b7e8cb3114ec85d3283efb9675e6e" and "85372581bd87994a90db5cba0252cef0e1eaea63" have entirely different histories.

10 changed files with 60 additions and 74 deletions

View File

@ -95,6 +95,7 @@ export default {
background: var(--profile); background: var(--profile);
font-size: 0; font-size: 0;
font-weight: bold; font-weight: bold;
box-shadow: 0 0 3px var(--darken);
.favicon { .favicon {
width: 2rem; width: 2rem;

View File

@ -34,65 +34,62 @@ function initUiActions(_store, _router) {
$query: String! $query: String!
$limit: Int = 20 $limit: Int = 20
) { ) {
results: searchReleases( releases: searchReleases(
query: $query query: $query
first: $limit first: $limit
minimumRank: "0.025" minimumRank: "0.025"
) { ) {
release: releaseById { id
id title
title slug
slug date
date url
url isNew
isNew entity {
entity { id
id slug
slug name
name url
url type
independent
parent {
id
slug
name
url
type type
independent }
parent { }
id actors: releasesActors {
slug actor {
name id
url slug
type name
} }
} }
actors: releasesActors { tags: releasesTags(orderBy: TAG_BY_TAG_ID__PRIORITY_DESC) {
actor { tag {
id id
slug name
name slug
} }
} }
tags: releasesTags(orderBy: TAG_BY_TAG_ID__PRIORITY_DESC) { poster: releasesPosterByReleaseId {
tag { media {
id id
name thumbnail
slug lazy
} isS3
} }
poster: releasesPosterByReleaseId { }
media { covers: releasesCovers {
id media {
thumbnail id
lazy thumbnail
isS3 lazy
} isS3
} }
covers: releasesCovers { }
media {
id
thumbnail
lazy
isS3
}
}
}
rank
} }
actors: searchActors( actors: searchActors(
search: $query, search: $query,
@ -160,7 +157,7 @@ function initUiActions(_store, _router) {
}); });
return { return {
releases: res.results.map(result => curateRelease(result.release)), releases: res.releases.map(release => curateRelease(release)),
actors: res.actors.map(actor => curateActor(actor)), actors: res.actors.map(actor => curateActor(actor)),
}; };
} }

View File

@ -1020,13 +1020,8 @@ exports.up = knex => Promise.resolve()
); );
$$ LANGUAGE SQL STABLE; $$ LANGUAGE SQL STABLE;
/* We need both the release entries and their search ranking, and PostGraphile does not seem to allow virtual foreign keys on function results. CREATE FUNCTION search_releases(query text, minimum_rank numeric DEFAULT 0) RETURNS SETOF releases AS $$
* Using a view as a proxy for the search results allows us to get both a reference to the releases table, and the ranking */ SELECT releases.* FROM (
CREATE VIEW releases_search_results AS
SELECT NULL::integer as id, NULL::real as rank;
CREATE FUNCTION search_releases(query text, minimum_rank numeric DEFAULT 0) RETURNS SETOF releases_search_results AS $$
SELECT releases.id, ranks.rank FROM (
SELECT SELECT
releases_search.release_id, releases_search.release_id,
ts_rank(releases_search.document, to_tsquery('english', regexp_replace(query, '[\\s._-]+', '|', 'gi'))) AS rank ts_rank(releases_search.document, to_tsquery('english', regexp_replace(query, '[\\s._-]+', '|', 'gi'))) AS rank
@ -1201,8 +1196,6 @@ exports.up = knex => Promise.resolve()
COMMENT ON FUNCTION actors_scenes IS E'@sortable'; COMMENT ON FUNCTION actors_scenes IS E'@sortable';
COMMENT ON FUNCTION tags_scenes IS E'@sortable'; COMMENT ON FUNCTION tags_scenes IS E'@sortable';
COMMENT ON VIEW releases_search_results is E'@foreignKey (id) REFERENCES releases (id)';
`); `);
}); });
@ -1264,8 +1257,6 @@ exports.down = (knex) => { // eslint-disable-line arrow-body-style
DROP TABLE IF EXISTS entities_types CASCADE; DROP TABLE IF EXISTS entities_types CASCADE;
DROP TABLE IF EXISTS entities CASCADE; DROP TABLE IF EXISTS entities CASCADE;
DROP FUNCTION IF EXISTS search_releases_legacy;
DROP FUNCTION IF EXISTS search_releases;
DROP FUNCTION IF EXISTS search_sites; DROP FUNCTION IF EXISTS search_sites;
DROP FUNCTION IF EXISTS search_entities; DROP FUNCTION IF EXISTS search_entities;
DROP FUNCTION IF EXISTS search_actors; DROP FUNCTION IF EXISTS search_actors;
@ -1281,8 +1272,6 @@ exports.down = (knex) => { // eslint-disable-line arrow-body-style
DROP FUNCTION IF EXISTS movies_tags; DROP FUNCTION IF EXISTS movies_tags;
DROP FUNCTION IF EXISTS movies_photos; DROP FUNCTION IF EXISTS movies_photos;
DROP VIEW IF EXISTS releases_search_results;
DROP TEXT SEARCH CONFIGURATION IF EXISTS traxxx; DROP TEXT SEARCH CONFIGURATION IF EXISTS traxxx;
DROP TEXT SEARCH DICTIONARY IF EXISTS traxxx_dict; DROP TEXT SEARCH DICTIONARY IF EXISTS traxxx_dict;
`); `);

4
package-lock.json generated
View File

@ -1,11 +1,11 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.175.0", "version": "1.174.2",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"version": "1.175.0", "version": "1.174.2",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@graphile-contrib/pg-order-by-related": "^1.0.0-beta.6", "@graphile-contrib/pg-order-by-related": "^1.0.0-beta.6",

View File

@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.175.0", "version": "1.174.2",
"description": "All the latest porn releases in one place", "description": "All the latest porn releases in one place",
"main": "src/app.js", "main": "src/app.js",
"scripts": { "scripts": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

View File

@ -658,7 +658,7 @@ const tagPosters = [
['squirting', 0, 'Veronica Rodriguez in "Hot Latina Squirting" for Jules Jordan'], ['squirting', 0, 'Veronica Rodriguez in "Hot Latina Squirting" for Jules Jordan'],
['schoolgirl', 2, 'Cindy Shine in "Schoolgirl Stars in Interracial DP Threesome" for Private'], ['schoolgirl', 2, 'Cindy Shine in "Schoolgirl Stars in Interracial DP Threesome" for Private'],
['swallowing', 'poster'], ['swallowing', 'poster'],
['tattoos', 0, 'Tigerlilly in "Wrapped In Blue" for Suicide Girls'], ['tattoos', 1, 'Joanna Angel for Joanna Angel'],
['teen', 0, 'Alexa Flexy for Sensual Girl'], ['teen', 0, 'Alexa Flexy for Sensual Girl'],
['titty-fucking', 2, 'Layla London in "Touch Me" for Big Naturals'], ['titty-fucking', 2, 'Layla London in "Touch Me" for Big Naturals'],
['toys', 1, 'Chloe Lamour in "Curives In All The Right Places" for Wet and Puffy'], ['toys', 1, 'Chloe Lamour in "Curives In All The Right Places" for Wet and Puffy'],
@ -894,14 +894,13 @@ const tagPhotos = [
['redhead', 0, 'Penny Pax in "The Submission of Emma Marx: Boundaries" for New Sensations'], ['redhead', 0, 'Penny Pax in "The Submission of Emma Marx: Boundaries" for New Sensations'],
['schoolgirl', 1, 'Eliza Ibarra for Brazzers'], ['schoolgirl', 1, 'Eliza Ibarra for Brazzers'],
['squirting', 1, 'Abella Danger and Karma Rx in "Neon Dreaming" for Brazzers'], ['squirting', 1, 'Abella Danger and Karma Rx in "Neon Dreaming" for Brazzers'],
['tattoos', 1, 'Joanna Angel for Joanna Angel'], ['tattoos', 0, 'Tigerlilly in "Wrapped In Blue" for Suicide Girls'],
['teen', 1, 'Stalfra aka Precious for Nubiles'], ['teen', 1, 'Stalfra aka Precious for Nubiles'],
['trainbang', 1, 'Ria Sunn for Private'], ['trainbang', 1, 'Ria Sunn for Private'],
['trainbang', 0, 'Nicole Black in GIO971 for LegalPorno'], ['trainbang', 0, 'Nicole Black in GIO971 for LegalPorno'],
['tap', 1, 'Natasha Teen in SZ2098 for LegalPorno'], ['tap', 1, 'Natasha Teen in SZ2098 for LegalPorno'],
['tap', 2, 'Kira Thorn in GIO1018 for LegalPorno'], ['tap', 2, 'Kira Thorn in GIO1018 for LegalPorno'],
['titty-fucking', 0, 'Kylie Page in "Stepsis Gives Soapy Handjob In Shower" for Spy Fam'], ['titty-fucking', 0, 'Kylie Page in "Stepsis Gives Soapy Handjob In Shower" for Spy Fam'],
['titty-fucking', 3, 'Anna Bell Peaks in "Ringing Her Bell" for MilfVR'],
['titty-fucking', 1, 'Chloe Lamour for DDF Busty'], ['titty-fucking', 1, 'Chloe Lamour for DDF Busty'],
['toy-anal', 3, 'Kelly and Leona in "Sleeping Over" for Lez Cuties'], ['toy-anal', 3, 'Kelly and Leona in "Sleeping Over" for Lez Cuties'],
['toy-anal', 2, 'Denise, Irina and Laki in "Sexy Slumber" for Lez Cuties'], ['toy-anal', 2, 'Denise, Irina and Laki in "Sexy Slumber" for Lez Cuties'],