Rework sort to handle multiples tables

This commit is contained in:
Zoe Roux
2025-03-10 00:16:35 +01:00
parent 039880d812
commit 46833ac06f
8 changed files with 165 additions and 125 deletions
+12 -12
View File
@@ -57,18 +57,18 @@ export const showFilters: FilterDef = {
},
};
export const showSort = Sort(
[
"slug",
"rating",
"airDate",
"startAir",
"endAir",
"createdAt",
"nextRefresh",
],
{
remap: { airDate: "startAir" },
slug: shows.slug,
rating: shows.rating,
airDate: shows.startAir,
startAir: shows.startAir,
endAir: shows.endAir,
createdAt: shows.createdAt,
nextRefresh: shows.nextRefresh,
},
{
default: ["slug"],
tablePk: shows.pk,
},
);
@@ -209,13 +209,13 @@ export async function getShows({
and(
filter,
query ? sql`${transQ.name} %> ${query}::text` : undefined,
keysetPaginate({ table: shows, after, sort }),
keysetPaginate({ after, sort }),
),
)
.orderBy(
...(query
? [sql`word_similarity(${query}::text, ${transQ.name})`]
: sortToSql(sort, shows)),
: sortToSql(sort)),
shows.pk,
)
.limit(limit);