Sorting aggregates by slug or lowercased name to avoid capitalization issues. Fixed slug getting interpreted as ID by cache lookup.
This commit is contained in:
parent
768ab41ee7
commit
22c4bb0405
|
@ -22,7 +22,7 @@ export async function onBeforeRender(pageContext) {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
pageContext: {
|
pageContext: {
|
||||||
title: `Search '${pageContext.urlParsed.search.q}'`,
|
title: `Search '${pageContext.urlParsed.search.q || ''}'`,
|
||||||
pageProps: {
|
pageProps: {
|
||||||
scenes,
|
scenes,
|
||||||
aggActors,
|
aggActors,
|
||||||
|
|
|
@ -6,9 +6,11 @@ export async function getIdsBySlug(slugs, domain) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* this, naturally, fails if the slug is 69 etc.
|
||||||
if (Number(slug)) {
|
if (Number(slug)) {
|
||||||
return Number(slug); // already an ID or missing
|
return Number(slug); // already an ID or missing
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
const id = await redis.hGet(`traxxx:${domain}:id_by_slug`, slug);
|
const id = await redis.hGet(`traxxx:${domain}:id_by_slug`, slug);
|
||||||
|
|
||||||
|
|
|
@ -532,9 +532,9 @@ export async function fetchMovies(filters, rawOptions, reqUser) {
|
||||||
const channelCounts = options.aggregateChannels && countAggregations(result.aggregations?.channelIds);
|
const channelCounts = options.aggregateChannels && countAggregations(result.aggregations?.channelIds);
|
||||||
|
|
||||||
const [aggActors, aggTags, aggChannels] = await Promise.all([
|
const [aggActors, aggTags, aggChannels] = await Promise.all([
|
||||||
options.aggregateActors ? fetchActorsById(result.aggregations.actorIds.map((bucket) => bucket.key), { order: ['name', 'asc'], append: actorCounts }) : [],
|
options.aggregateActors ? fetchActorsById(result.aggregations.actorIds.map((bucket) => bucket.key), { order: ['slug', 'asc'], append: actorCounts }) : [],
|
||||||
options.aggregateTags ? fetchTagsById(result.aggregations.tagIds.map((bucket) => bucket.key), { order: ['name', 'asc'], append: tagCounts }) : [],
|
options.aggregateTags ? fetchTagsById(result.aggregations.tagIds.map((bucket) => bucket.key), { order: [knex.raw('lower(name)'), 'asc'], append: tagCounts }) : [],
|
||||||
options.aggregateChannels ? fetchEntitiesById(result.aggregations.channelIds.map((bucket) => bucket.key), { order: ['name', 'asc'], append: channelCounts }) : [],
|
options.aggregateChannels ? fetchEntitiesById(result.aggregations.channelIds.map((bucket) => bucket.key), { order: ['slug', 'asc'], append: channelCounts }) : [],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const movieIds = result.movies.map((movie) => Number(movie.id));
|
const movieIds = result.movies.map((movie) => Number(movie.id));
|
||||||
|
|
|
@ -574,9 +574,9 @@ export async function fetchScenes(filters, rawOptions, reqUser) {
|
||||||
console.time('fetch aggregations');
|
console.time('fetch aggregations');
|
||||||
|
|
||||||
const [aggActors, aggTags, aggChannels] = await Promise.all([
|
const [aggActors, aggTags, aggChannels] = await Promise.all([
|
||||||
options.aggregateActors ? fetchActorsById(result.aggregations.actorIds.map((bucket) => bucket.key), { order: ['name', 'asc'], append: actorCounts }) : [],
|
options.aggregateActors ? fetchActorsById(result.aggregations.actorIds.map((bucket) => bucket.key), { order: ['slug', 'asc'], append: actorCounts }) : [],
|
||||||
options.aggregateTags ? fetchTagsById(result.aggregations.tagIds.map((bucket) => bucket.key), { order: ['name', 'asc'], append: tagCounts }) : [],
|
options.aggregateTags ? fetchTagsById(result.aggregations.tagIds.map((bucket) => bucket.key), { order: [knex.raw('lower(name)'), 'asc'], append: tagCounts }) : [],
|
||||||
options.aggregateChannels ? fetchEntitiesById(result.aggregations.channelIds.map((bucket) => bucket.key), { order: ['name', 'asc'], append: channelCounts }) : [],
|
options.aggregateChannels ? fetchEntitiesById(result.aggregations.channelIds.map((bucket) => bucket.key), { order: ['slug', 'asc'], append: channelCounts }) : [],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
console.timeEnd('fetch aggregations');
|
console.timeEnd('fetch aggregations');
|
||||||
|
|
Loading…
Reference in New Issue