Improved showcase query.
This commit is contained in:
parent
236d4a9427
commit
013675d102
|
@ -42,7 +42,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
tags: ['anal', 'gay', 'transsexual', 'bisexual', 'pissing', 'anal prolapse'],
|
||||
tags: ['gay', 'transsexual', 'bisexual', 'anal', 'anal prolapse', 'pissing'],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
|
|
@ -425,10 +425,9 @@ const releasesFragment = `
|
|||
releasesTagsConnection: {
|
||||
none: {
|
||||
tag: {
|
||||
or: [
|
||||
{ slug: { in: $exclude } }
|
||||
{ name: { in: $exclude } }
|
||||
]
|
||||
slug: {
|
||||
in: $exclude
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -444,6 +443,40 @@ const releasesFragment = `
|
|||
}
|
||||
`;
|
||||
|
||||
// unused due performance
|
||||
const releasesShowcasedFragment = `
|
||||
connection: releasesShowcasedsConnection(
|
||||
filter: {
|
||||
release: {
|
||||
date: {
|
||||
lessThan: $before,
|
||||
greaterThan: $after
|
||||
}
|
||||
releasesTagsConnection: {
|
||||
none: {
|
||||
tag: {
|
||||
or: [
|
||||
{ slug: { in: $exclude } }
|
||||
{ name: { in: $exclude } }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
first: $limit,
|
||||
offset: $offset,
|
||||
orderBy: $orderBy
|
||||
) {
|
||||
releases: nodes {
|
||||
release {
|
||||
${releaseFields}
|
||||
}
|
||||
}
|
||||
totalCount
|
||||
}
|
||||
`;
|
||||
|
||||
const mediaFields = `
|
||||
id
|
||||
index
|
||||
|
@ -680,6 +713,7 @@ export {
|
|||
releasePhotosFragment,
|
||||
releaseTrailerFragment,
|
||||
releasesFragment,
|
||||
releasesShowcasedFragment,
|
||||
releaseFragment,
|
||||
siteFragment,
|
||||
sitesFragment,
|
||||
|
|
|
@ -3,10 +3,12 @@ const config = require('config');
|
|||
exports.up = async (knex) => knex.raw(`
|
||||
CREATE VIEW releases_not_showcased AS (
|
||||
SELECT releases.id AS release_id FROM releases
|
||||
LEFT JOIN entities ON entities.id = releases.entity_id
|
||||
LEFT JOIN entities AS channels ON channels.id = releases.entity_id
|
||||
LEFT JOIN entities AS studios ON studios.id = releases.studio_id
|
||||
WHERE entities.showcased = false
|
||||
OR studios.showcased = false
|
||||
LEFT JOIN entities AS networks ON networks .id = entities.parent_id
|
||||
WHERE (studios.showcased = false)
|
||||
OR (channel.showcased = false AND studios.showcased IS NOT true)
|
||||
OR (network.showcased = false AND channel.showcased IS NOT true AND studios.showcased IS NOT true)
|
||||
);
|
||||
|
||||
COMMENT ON VIEW releases_not_showcased IS E'@foreignKey (release_id) references releases (id)';
|
||||
|
|
|
@ -687,7 +687,7 @@ exports.seed = (knex) => Promise.resolve()
|
|||
url: network.url,
|
||||
description: network.description,
|
||||
has_logo: network.hasLogo,
|
||||
showcased: network.showcased,
|
||||
showcased: typeof network.showcased === 'boolean' ? network.showcased : true,
|
||||
parameters: network.parameters,
|
||||
parent_id: grandParentNetworksBySlug[network.parent] || null,
|
||||
}));
|
||||
|
@ -703,7 +703,7 @@ exports.seed = (knex) => Promise.resolve()
|
|||
url: network.url,
|
||||
description: network.description,
|
||||
has_logo: network.hasLogo,
|
||||
showcased: network.showcased,
|
||||
showcased: typeof network.showcased === 'boolean' ? network.showcased : true,
|
||||
parameters: network.parameters,
|
||||
parent_id: parentNetworksBySlug[network.parent] || grandParentNetworksBySlug[network.parent] || null,
|
||||
}));
|
||||
|
|
Loading…
Reference in New Issue