Compare commits

..

No commits in common. "43af2ef9c98d11cfc66d190974c0e07106441c2e" and "b932cc0c6cbb82bf92e53a3da9e6e1c739d6a62b" have entirely different histories.

7 changed files with 37 additions and 65 deletions

3
.gitignore vendored
View File

@ -7,8 +7,7 @@ data/
tmp/* tmp/*
public/js/* public/js/*
public/css/* public/css/*
public/img/tags public/img/tags/
public/img/logos/
config/* config/*
!config/default.js !config/default.js
assets/js/config/ assets/js/config/

View File

@ -24,7 +24,6 @@ const scenesFields = `
tags text, tags text,
meta text, meta text,
date timestamp, date timestamp,
is_showcased bool,
created_at timestamp, created_at timestamp,
effective_date timestamp, effective_date timestamp,
stashed int stashed int
@ -73,41 +72,42 @@ const actorsFields = `
`; `;
exports.up = async (knex) => { exports.up = async (knex) => {
try { await utilsApi.sql(`create table scenes (${scenesFields})`);
await utilsApi.sql(`create table scenes (${scenesFields})`);
await utilsApi.sql(`create table scenes_stashed ( /*
scene_id int, await utilsApi.sql(`create table scenes_stashed (
stash_id int, ${scenesFields},
user_id int, user_id int,
created_at timestamp stash_id int
)`); )`);
*/
await utilsApi.sql(`create table movies (${moviesFields})`); await utilsApi.sql(`create table scenes_stashed (
scene_id int,
stash_id int,
user_id int
)`);
await utilsApi.sql(`create table movies_stashed ( await utilsApi.sql(`create table movies (${moviesFields})`);
movie_id int,
stash_id int,
user_id int,
created_at timestamp
)`);
await utilsApi.sql(`create table actors (${actorsFields})`); await utilsApi.sql(`create table movies_stashed (
${moviesFields},
user_id int,
stash_id int
)`);
await utilsApi.sql(`create table actors_stashed ( await utilsApi.sql(`create table actors (${actorsFields})`);
actor_id int,
stash_id int,
user_id int,
created_at timestamp
)`);
await knex.schema.alterTable('stashes_scenes', (table) => table.increments('id')); await utilsApi.sql(`create table actors_stashed (
await knex.schema.alterTable('stashes_movies', (table) => table.increments('id')); ${actorsFields},
await knex.schema.alterTable('stashes_actors', (table) => table.increments('id')); user_id int,
await knex.schema.alterTable('stashes_series', (table) => table.increments('id')); stash_id int
} catch (error) { )`);
console.log(error);
} await knex.schema.alterTable('stashes_scenes', (table) => table.increments('id'));
await knex.schema.alterTable('stashes_movies', (table) => table.increments('id'));
await knex.schema.alterTable('stashes_actors', (table) => table.increments('id'));
await knex.schema.alterTable('stashes_series', (table) => table.increments('id'));
}; };
exports.down = async (knex) => { exports.down = async (knex) => {

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.237.2", "version": "1.237.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "traxxx", "name": "traxxx",
"version": "1.237.2", "version": "1.237.1",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@aws-sdk/client-s3": "^3.458.0", "@aws-sdk/client-s3": "^3.458.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.237.2", "version": "1.237.1",
"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": {

View File

@ -307,10 +307,6 @@ const tags = [
name: 'casting', name: 'casting',
slug: 'casting', slug: 'casting',
}, },
{
name: 'cheating',
slug: 'cheating',
},
{ {
name: 'cheerleader', name: 'cheerleader',
slug: 'cheerleader', slug: 'cheerleader',
@ -2445,10 +2441,6 @@ const aliases = [
for: 'gangbang', for: 'gangbang',
implies: ['anal'], implies: ['anal'],
}, },
{
name: 'cheat',
for: 'cheating',
},
]; ];
const priorities = [ // higher index is higher priority const priorities = [ // higher index is higher priority

View File

@ -7904,13 +7904,6 @@ const sites = [
tags: ['family'], tags: ['family'],
parent: 'nubiles', parent: 'nubiles',
}, },
{
slug: 'cheatingsis',
name: 'Cheating Sis',
url: 'https://www.cheatingsis.com',
tags: ['cheating', 'family'],
parent: 'nubiles',
},
// PASCALS SUBSLUTS // PASCALS SUBSLUTS
{ {
slug: 'pascalssubsluts', slug: 'pascalssubsluts',

View File

@ -18,7 +18,7 @@ async function updateManticoreStashedScenes(docs) {
const sceneIds = docsChunk.map((doc) => doc.replace.id); const sceneIds = docsChunk.map((doc) => doc.replace.id);
const stashes = await knex('stashes_scenes') const stashes = await knex('stashes_scenes')
.select('stashes_scenes.id as stashed_id', 'stashes_scenes.scene_id', 'stashes_scenes.created_at', 'stashes.id as stash_id', 'stashes.user_id as user_id') .select('stashes_scenes.id as stashed_id', 'stashes_scenes.scene_id', 'stashes.id as stash_id', 'stashes.user_id as user_id')
.leftJoin('stashes', 'stashes.id', 'stashes_scenes.stash_id') .leftJoin('stashes', 'stashes.id', 'stashes_scenes.stash_id')
.whereIn('scene_id', sceneIds); .whereIn('scene_id', sceneIds);
@ -38,7 +38,6 @@ async function updateManticoreStashedScenes(docs) {
scene_id: doc.replace.id, scene_id: doc.replace.id,
user_id: stash.user_id, user_id: stash.user_id,
stash_id: stash.stash_id, stash_id: stash.stash_id,
created_at: Math.round(stash.created_at.getTime() / 1000),
}, },
}, },
})); }));
@ -70,16 +69,11 @@ async function updateManticoreSceneSearch(releaseIds) {
parents.slug as network_slug, parents.slug as network_slug,
parents.name as network_name, parents.name as network_name,
COALESCE(JSON_AGG(DISTINCT (actors.id, actors.name)) FILTER (WHERE actors.id IS NOT NULL), '[]') as actors, COALESCE(JSON_AGG(DISTINCT (actors.id, actors.name)) FILTER (WHERE actors.id IS NOT NULL), '[]') as actors,
COALESCE(JSON_AGG(DISTINCT (tags.id, tags.name, tags.priority)) FILTER (WHERE tags.id IS NOT NULL), '[]') as tags, COALESCE(JSON_AGG(DISTINCT (tags.id, tags.name, tags.priority)) FILTER (WHERE tags.id IS NOT NULL), '[]') as tags
studios.showcased IS NOT false
AND (entities.showcased IS NOT false OR COALESCE(studios.showcased, false) = true)
AND (parents.showcased IS NOT false OR COALESCE(entities.showcased, false) = true OR COALESCE(studios.showcased, false) = true)
AS showcased
FROM releases FROM releases
LEFT JOIN scenes_meta ON scenes_meta.scene_id = releases.id LEFT JOIN scenes_meta ON scenes_meta.scene_id = releases.id
LEFT JOIN entities ON releases.entity_id = entities.id LEFT JOIN entities ON releases.entity_id = entities.id
LEFT JOIN entities AS parents ON parents.id = entities.parent_id LEFT JOIN entities AS parents ON parents.id = entities.parent_id
LEFT JOIN entities AS studios ON studios.id = releases.studio_id
LEFT JOIN releases_actors AS local_actors ON local_actors.release_id = releases.id LEFT JOIN releases_actors AS local_actors ON local_actors.release_id = releases.id
LEFT JOIN releases_directors AS local_directors ON local_directors.release_id = releases.id LEFT JOIN releases_directors AS local_directors ON local_directors.release_id = releases.id
LEFT JOIN releases_tags AS local_tags ON local_tags.release_id = releases.id LEFT JOIN releases_tags AS local_tags ON local_tags.release_id = releases.id
@ -99,17 +93,12 @@ async function updateManticoreSceneSearch(releaseIds) {
entities.name, entities.name,
entities.slug, entities.slug,
entities.alias, entities.alias,
entities.showcased,
parents.id, parents.id,
parents.name, parents.name,
parents.slug, parents.slug,
parents.alias, parents.alias;
parents.showcased,
studios.showcased
`, releaseIds && [releaseIds]); `, releaseIds && [releaseIds]);
// console.log(scenes.rows);
const docs = scenes.rows.map((scene) => { const docs = scenes.rows.map((scene) => {
const flatActors = scene.actors.flatMap((actor) => actor.f2.split(' ')); const flatActors = scene.actors.flatMap((actor) => actor.f2.split(' '));
const flatTags = scene.tags.filter((tag) => tag.f3 > 6).flatMap((tag) => tag.f2.split(' ')); // only make top tags searchable to minimize cluttered results const flatTags = scene.tags.filter((tag) => tag.f3 > 6).flatMap((tag) => tag.f2.split(' ')); // only make top tags searchable to minimize cluttered results
@ -125,7 +114,6 @@ async function updateManticoreSceneSearch(releaseIds) {
date: scene.date ? Math.round(scene.date.getTime() / 1000) : undefined, date: scene.date ? Math.round(scene.date.getTime() / 1000) : undefined,
created_at: Math.round(scene.created_at.getTime() / 1000), created_at: Math.round(scene.created_at.getTime() / 1000),
effective_date: Math.round((scene.date || scene.created_at).getTime() / 1000), effective_date: Math.round((scene.date || scene.created_at).getTime() / 1000),
is_showcased: scene.showcased,
shoot_id: scene.shoot_id || undefined, shoot_id: scene.shoot_id || undefined,
channel_id: scene.channel_id, channel_id: scene.channel_id,
channel_slug: scene.channel_slug, channel_slug: scene.channel_slug,