Added showcase to manticore migration. Added Cheating Sis to Nubiles.

This commit is contained in:
DebaucheryLibrarian 2024-03-17 03:57:55 +01:00
parent b932cc0c6c
commit 05d78d948b
5 changed files with 62 additions and 34 deletions

3
.gitignore vendored
View File

@ -7,7 +7,8 @@ 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,6 +24,7 @@ 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
@ -72,42 +73,41 @@ const actorsFields = `
`; `;
exports.up = async (knex) => { exports.up = async (knex) => {
await utilsApi.sql(`create table scenes (${scenesFields})`); try {
await utilsApi.sql(`create table scenes (${scenesFields})`);
/* await utilsApi.sql(`create table scenes_stashed (
await utilsApi.sql(`create table scenes_stashed ( scene_id int,
${scenesFields}, stash_id int,
user_id int, user_id int,
stash_id int created_at timestamp
)`); )`);
*/
await utilsApi.sql(`create table scenes_stashed ( await utilsApi.sql(`create table movies (${moviesFields})`);
scene_id int,
stash_id int,
user_id int
)`);
await utilsApi.sql(`create table movies (${moviesFields})`); await utilsApi.sql(`create table movies_stashed (
movie_id int,
stash_id int,
user_id int,
created_at timestamp
)`);
await utilsApi.sql(`create table movies_stashed ( await utilsApi.sql(`create table actors (${actorsFields})`);
${moviesFields},
user_id int,
stash_id int
)`);
await utilsApi.sql(`create table actors (${actorsFields})`); await utilsApi.sql(`create table actors_stashed (
actor_id int,
stash_id int,
user_id int,
created_at timestamp
)`);
await utilsApi.sql(`create table actors_stashed ( await knex.schema.alterTable('stashes_scenes', (table) => table.increments('id'));
${actorsFields}, await knex.schema.alterTable('stashes_movies', (table) => table.increments('id'));
user_id int, await knex.schema.alterTable('stashes_actors', (table) => table.increments('id'));
stash_id int await knex.schema.alterTable('stashes_series', (table) => table.increments('id'));
)`); } 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) => {

View File

@ -307,6 +307,10 @@ const tags = [
name: 'casting', name: 'casting',
slug: 'casting', slug: 'casting',
}, },
{
name: 'cheating',
slug: 'cheating',
},
{ {
name: 'cheerleader', name: 'cheerleader',
slug: 'cheerleader', slug: 'cheerleader',
@ -2441,6 +2445,10 @@ 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,6 +7904,13 @@ 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.id as stash_id', 'stashes.user_id as user_id') .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')
.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,6 +38,7 @@ 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),
}, },
}, },
})); }));
@ -69,11 +70,16 @@ 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
@ -93,12 +99,17 @@ 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
@ -114,6 +125,7 @@ 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,