Added tags to release channels. Labeling DDF Network VR trailers as VR.

This commit is contained in:
DebaucheryLibrarian
2021-02-05 01:54:06 +01:00
parent 8af562e284
commit 15cc970ee2
4 changed files with 14 additions and 3 deletions

View File

@@ -184,9 +184,18 @@ async function fetchEntitiesBySlug(entitySlugs, sort = 'asc') {
FROM entity_tree
JOIN entities ON entity_tree.parent_id = entities.id
)
SELECT jsonb_set(entity, '{children}', to_jsonb(COALESCE(json_agg(children) FILTER (WHERE children.id IS NOT NULL), '[]'))) entity
SELECT jsonb_set(
jsonb_set(
entity,
'{children}',
to_jsonb(COALESCE(json_agg(children) FILTER (WHERE children.id IS NOT NULL), '[]'))),
'{tags}',
to_jsonb(COALESCE(json_agg(tags) FILTER (WHERE tags.id IS NOT NULL), '[]'))
) entity
FROM entity_tree
LEFT JOIN entities AS children ON children.parent_id = (entity->>'id')::int
LEFT JOIN entities_tags ON entities_tags.entity_id = (entity->>'id')::int
LEFT JOIN tags ON tags.id = entities_tags.tag_id
WHERE entity_tree.parent_id IS NULL
GROUP BY entity_tree.entity
ORDER BY entity->'type' :sort;

View File

@@ -27,7 +27,7 @@ function scrapeAll(scenes, site, origin) {
});
}
async function scrapeScene({ query }, url, _site) {
async function scrapeScene({ query }, url, channel) {
const release = {};
release.entryId = url.match(/\/(\d+)$/)[1];
@@ -55,6 +55,7 @@ async function scrapeScene({ query }, url, _site) {
release.trailer = query.all('source[type="video/mp4"]').map(trailer => ({
src: trailer.src,
quality: Number(trailer.attributes.res?.value || trailer.attributes.quality?.value.slice(0, -1)) || null,
vr: channel.tags?.some(tag => tag.slug === 'vr'),
}));
return release;