Cleanup preferOriginal handling

This commit is contained in:
Zoe Roux 2025-03-06 23:10:30 +01:00
parent 194428ecfe
commit c58cb3ef78
No known key found for this signature in database

View File

@ -99,10 +99,9 @@ export async function getShows({
.leftJoin( .leftJoin(
showTranslations, showTranslations,
and( and(
sql`${preferOriginal ?? false}`,
eq(shows.pk, showTranslations.pk), eq(shows.pk, showTranslations.pk),
eq(showTranslations.language, shows.originalLanguage), eq(showTranslations.language, shows.originalLanguage),
// TODO: check user's settings before fallbacking to false.
sql`coalesce(${preferOriginal ?? null}::boolean, false)`,
), ),
) )
.where( .where(
@ -143,21 +142,16 @@ export async function getShow(
where: and(isUuid(id) ? eq(shows.id, id) : eq(shows.slug, id), filters), where: and(isUuid(id) ? eq(shows.id, id) : eq(shows.slug, id), filters),
with: { with: {
selectedTranslation: selectTranslationQuery(showTranslations, languages), selectedTranslation: selectTranslationQuery(showTranslations, languages),
originalTranslation: { ...(preferOriginal && {
columns: { originalTranslation: {
poster: true, columns: {
thumbnail: true, poster: true,
banner: true, thumbnail: true,
logo: true, banner: true,
logo: true,
},
}, },
extras: { }),
// TODO: also fallback on user settings (that's why i made a select here)
preferOriginal:
sql<boolean>`(select coalesce(${preferOriginal ?? null}::boolean, false))`.as(
"preferOriginal",
),
},
},
...(relations.includes("translations") && { ...(relations.includes("translations") && {
translations: { translations: {
columns: { columns: {
@ -192,7 +186,7 @@ export async function getShow(
...ret, ...ret,
...translation, ...translation,
kind: ret.kind as any, kind: ret.kind as any,
...(ot?.preferOriginal && { ...(ot && {
...(ot.poster && { poster: ot.poster }), ...(ot.poster && { poster: ot.poster }),
...(ot.thumbnail && { thumbnail: ot.thumbnail }), ...(ot.thumbnail && { thumbnail: ot.thumbnail }),
...(ot.banner && { banner: ot.banner }), ...(ot.banner && { banner: ot.banner }),