Compare commits
2 Commits
27ef621f75
...
33adf5b668
Author | SHA1 | Date |
---|---|---|
DebaucheryLibrarian | 33adf5b668 | |
DebaucheryLibrarian | 00f59b3743 |
|
@ -41,6 +41,7 @@ const moviesFields = `
|
||||||
network_id int,
|
network_id int,
|
||||||
network_name text,
|
network_name text,
|
||||||
network_slug text,
|
network_slug text,
|
||||||
|
entity_ids multi,
|
||||||
actor_ids multi,
|
actor_ids multi,
|
||||||
actors text,
|
actors text,
|
||||||
tag_ids multi,
|
tag_ids multi,
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.237.4",
|
"version": "1.237.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.237.4",
|
"version": "1.237.5",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.458.0",
|
"@aws-sdk/client-s3": "^3.458.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.237.4",
|
"version": "1.237.5",
|
||||||
"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": {
|
||||||
|
|
|
@ -83,6 +83,7 @@ async function init() {
|
||||||
network_id int,
|
network_id int,
|
||||||
network_name text,
|
network_name text,
|
||||||
network_slug text,
|
network_slug text,
|
||||||
|
entity_ids multi,
|
||||||
actor_ids multi,
|
actor_ids multi,
|
||||||
actors text,
|
actors text,
|
||||||
tag_ids multi,
|
tag_ids multi,
|
||||||
|
@ -120,6 +121,7 @@ async function init() {
|
||||||
network_id: movie.network_id || undefined,
|
network_id: movie.network_id || undefined,
|
||||||
network_slug: movie.network_slug || undefined,
|
network_slug: movie.network_slug || undefined,
|
||||||
network_name: movie.network_name || undefined,
|
network_name: movie.network_name || undefined,
|
||||||
|
entity_ids: [movie.channel_id, movie.network_id].filter(Boolean), // manticore does not support OR, this allows IN
|
||||||
actor_ids: movie.actors.map((actor) => actor.f1),
|
actor_ids: movie.actors.map((actor) => actor.f1),
|
||||||
actors: movie.actors.map((actor) => actor.f2).join(),
|
actors: movie.actors.map((actor) => actor.f2).join(),
|
||||||
tag_ids: movie.tags.map((tag) => tag.f1),
|
tag_ids: movie.tags.map((tag) => tag.f1),
|
||||||
|
|
|
@ -32,7 +32,8 @@ async function fetchScenes() {
|
||||||
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, tags_aliases.name)) FILTER (WHERE tags.id IS NOT NULL), '[]') as tags
|
COALESCE(JSON_AGG(DISTINCT (tags.id, tags.name, tags.priority, tags_aliases.name)) FILTER (WHERE tags.id IS NOT NULL), '[]') as tags,
|
||||||
|
COALESCE(JSON_AGG(DISTINCT (movies.id)) FILTER (WHERE movies.id IS NOT NULL), '[]') as movies
|
||||||
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
|
||||||
|
@ -44,6 +45,8 @@ async function fetchScenes() {
|
||||||
LEFT JOIN actors AS directors ON local_directors.director_id = directors.id
|
LEFT JOIN actors AS directors ON local_directors.director_id = directors.id
|
||||||
LEFT JOIN tags ON local_tags.tag_id = tags.id
|
LEFT JOIN tags ON local_tags.tag_id = tags.id
|
||||||
LEFT JOIN tags as tags_aliases ON local_tags.tag_id = tags_aliases.alias_for AND tags_aliases.secondary = true
|
LEFT JOIN tags as tags_aliases ON local_tags.tag_id = tags_aliases.alias_for AND tags_aliases.secondary = true
|
||||||
|
LEFT JOIN movies_scenes ON movies_scenes.scene_id = releases.id
|
||||||
|
LEFT JOIN movies ON movies.id = movies_scenes.movie_id
|
||||||
GROUP BY
|
GROUP BY
|
||||||
releases.id,
|
releases.id,
|
||||||
releases.title,
|
releases.title,
|
||||||
|
@ -83,6 +86,7 @@ async function init() {
|
||||||
actors text,
|
actors text,
|
||||||
tag_ids multi,
|
tag_ids multi,
|
||||||
tags text,
|
tags text,
|
||||||
|
movie_ids multi,
|
||||||
meta text,
|
meta text,
|
||||||
date timestamp,
|
date timestamp,
|
||||||
is_showcased bool,
|
is_showcased bool,
|
||||||
|
@ -115,11 +119,12 @@ async function init() {
|
||||||
network_id: scene.network_id || undefined,
|
network_id: scene.network_id || undefined,
|
||||||
network_slug: scene.network_slug || undefined,
|
network_slug: scene.network_slug || undefined,
|
||||||
network_name: scene.network_name || undefined,
|
network_name: scene.network_name || undefined,
|
||||||
entity_ids: [scene.channel_id, scene.network_id], // manticore does not support OR, this allows IN
|
entity_ids: [scene.channel_id, scene.network_id].filter(Boolean), // manticore does not support OR, this allows IN
|
||||||
actor_ids: scene.actors.map((actor) => actor.f1),
|
actor_ids: scene.actors.map((actor) => actor.f1),
|
||||||
actors: scene.actors.map((actor) => actor.f2).join(),
|
actors: scene.actors.map((actor) => actor.f2).join(),
|
||||||
tag_ids: scene.tags.map((tag) => tag.f1),
|
tag_ids: scene.tags.map((tag) => tag.f1),
|
||||||
tags: flatTags.join(' '),
|
tags: flatTags.join(' '),
|
||||||
|
movie_ids: scene.movies,
|
||||||
meta: scene.date ? format(scene.date, 'y yy M MMM MMMM d') : undefined,
|
meta: scene.date ? format(scene.date, 'y yy M MMM MMMM d') : undefined,
|
||||||
stashed: scene.stashed || 0,
|
stashed: scene.stashed || 0,
|
||||||
},
|
},
|
||||||
|
|
|
@ -71,6 +71,7 @@ async function updateManticoreSceneSearch(releaseIds) {
|
||||||
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,
|
||||||
|
COALESCE(JSON_AGG(DISTINCT (movies.id)) FILTER (WHERE movies.id IS NOT NULL), '[]') as movies,
|
||||||
studios.showcased IS NOT false
|
studios.showcased IS NOT false
|
||||||
AND (entities.showcased IS NOT false OR COALESCE(studios.showcased, false) = true)
|
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)
|
AND (parents.showcased IS NOT false OR COALESCE(entities.showcased, false) = true OR COALESCE(studios.showcased, false) = true)
|
||||||
|
@ -87,6 +88,8 @@ async function updateManticoreSceneSearch(releaseIds) {
|
||||||
LEFT JOIN actors AS directors ON local_directors.director_id = directors.id
|
LEFT JOIN actors AS directors ON local_directors.director_id = directors.id
|
||||||
LEFT JOIN tags ON local_tags.tag_id = tags.id AND tags.priority >= 6
|
LEFT JOIN tags ON local_tags.tag_id = tags.id AND tags.priority >= 6
|
||||||
LEFT JOIN tags as tags_aliases ON local_tags.tag_id = tags_aliases.alias_for AND tags_aliases.secondary = true
|
LEFT JOIN tags as tags_aliases ON local_tags.tag_id = tags_aliases.alias_for AND tags_aliases.secondary = true
|
||||||
|
LEFT JOIN movies_scenes ON movies_scenes.scene_id = releases.id
|
||||||
|
LEFT JOIN movies ON movies.id = movies_scenes.movie_id
|
||||||
${releaseIds ? 'WHERE releases.id = ANY(?)' : ''}
|
${releaseIds ? 'WHERE releases.id = ANY(?)' : ''}
|
||||||
GROUP BY
|
GROUP BY
|
||||||
releases.id,
|
releases.id,
|
||||||
|
@ -133,11 +136,12 @@ async function updateManticoreSceneSearch(releaseIds) {
|
||||||
network_id: scene.network_id || undefined,
|
network_id: scene.network_id || undefined,
|
||||||
network_slug: scene.network_slug || undefined,
|
network_slug: scene.network_slug || undefined,
|
||||||
network_name: scene.network_name || undefined,
|
network_name: scene.network_name || undefined,
|
||||||
entity_ids: [scene.channel_id, scene.network_id], // manticore does not support OR, this allows IN
|
entity_ids: [scene.channel_id, scene.network_id].filter(Boolean), // manticore does not support OR, this allows IN
|
||||||
actor_ids: scene.actors.map((actor) => actor.f1),
|
actor_ids: scene.actors.map((actor) => actor.f1),
|
||||||
actors: scene.actors.map((actor) => actor.f2).join(),
|
actors: scene.actors.map((actor) => actor.f2).join(),
|
||||||
tag_ids: scene.tags.map((tag) => tag.f1),
|
tag_ids: scene.tags.map((tag) => tag.f1),
|
||||||
tags: scene.tags.filter((tag) => tag.f3 > 6).map((tag) => tag.f2).join(), // only make top tags searchable to minimize cluttered results
|
tags: scene.tags.filter((tag) => tag.f3 > 6).map((tag) => tag.f2).join(), // only make top tags searchable to minimize cluttered results
|
||||||
|
movie_ids: scene.movies,
|
||||||
meta: scene.date ? format(scene.date, 'y yy M MMM MMMM d') : undefined,
|
meta: scene.date ? format(scene.date, 'y yy M MMM MMMM d') : undefined,
|
||||||
stashed: scene.stashed || 0,
|
stashed: scene.stashed || 0,
|
||||||
},
|
},
|
||||||
|
@ -277,6 +281,7 @@ async function updateManticoreMovieSearch(movieIds) {
|
||||||
network_id: movie.network_id || undefined,
|
network_id: movie.network_id || undefined,
|
||||||
network_slug: movie.network_slug || undefined,
|
network_slug: movie.network_slug || undefined,
|
||||||
network_name: movie.network_name || undefined,
|
network_name: movie.network_name || undefined,
|
||||||
|
entity_ids: [movie.channel_id, movie.network_id].filter(Boolean), // manticore does not support OR, this allows IN
|
||||||
actor_ids: movie.actors.map((actor) => actor.f1),
|
actor_ids: movie.actors.map((actor) => actor.f1),
|
||||||
actors: movie.actors.map((actor) => actor.f2).join(),
|
actors: movie.actors.map((actor) => actor.f2).join(),
|
||||||
tag_ids: movie.tags.map((tag) => tag.f1),
|
tag_ids: movie.tags.map((tag) => tag.f1),
|
||||||
|
|
Loading…
Reference in New Issue