Added channel filter.

This commit is contained in:
DebaucheryLibrarian
2020-07-20 04:20:33 +02:00
parent 5291a87587
commit 0e4c0d8fff
143 changed files with 537 additions and 302 deletions

View File

@@ -857,18 +857,25 @@ exports.up = knex => Promise.resolve()
ORDER BY tags.name;
$$ LANGUAGE SQL STABLE;
CREATE FUNCTION actors_channels(actor actors) RETURNS SETOF entities AS $$
SELECT entities.*
FROM releases_actors
LEFT JOIN releases ON releases.id = releases_actors.release_id
LEFT JOIN entities ON entities.id = releases.entity_id
WHERE releases_actors.actor_id = actor.id
GROUP BY entities.id;
$$ LANGUAGE SQL STABLE;
CREATE FUNCTION actors_scenes(actor actors, selected_tags text[], mode text DEFAULT 'all') RETURNS SETOF releases AS $$
SELECT releases.*
FROM releases
LEFT JOIN
releases_actors ON releases_actors.release_id = releases.id
LEFT JOIN
actors ON actors.id = releases_actors.actor_id
LEFT JOIN
releases_tags ON releases_tags.release_id = releases.id
LEFT JOIN
tags ON tags.id = releases_tags.tag_id
WHERE actors.id = actor.id
WHERE releases_actors.actor_id = actor.id
AND CASE
WHEN mode = 'any' AND array_length(selected_tags, 1) > 0
THEN tags.slug = ANY(selected_tags)
@@ -913,6 +920,8 @@ exports.up = knex => Promise.resolve()
COMMENT ON COLUMN actors.height IS E'@omit read,update,create,delete,all,many';
COMMENT ON COLUMN actors.weight IS E'@omit read,update,create,delete,all,many';
COMMENT ON FUNCTION actors_tags IS E'@sortable';
COMMENT ON FUNCTION actors_channels IS E'@sortable';
COMMENT ON FUNCTION actors_scenes IS E'@sortable';
`);
});
@@ -974,6 +983,7 @@ exports.down = (knex) => { // eslint-disable-line arrow-body-style
DROP FUNCTION IF EXISTS releases_is_new;
DROP FUNCTION IF EXISTS actors_tags;
DROP FUNCTION IF EXISTS actors_channels;
DROP FUNCTION IF EXISTS actors_scenes;
DROP TEXT SEARCH CONFIGURATION IF EXISTS traxxx;