mirror of https://github.com/Chocobozzz/PeerTube
Fix videos languages filter SQL query
parent
6ed2e4eaf3
commit
8f31261f77
|
@ -207,15 +207,14 @@ function buildListQuery (model: typeof Model, options: BuildVideosQueryOptions)
|
|||
const languagesQueryParts: string[] = []
|
||||
|
||||
if (languages.length !== 0) {
|
||||
languagesQueryParts.push('("video"."language" IN (:languageOneOf)')
|
||||
languagesQueryParts.push('"video"."language" IN (:languageOneOf)')
|
||||
replacements.languageOneOf = languages
|
||||
|
||||
languagesQueryParts.push(
|
||||
' EXISTS (' +
|
||||
' SELECT 1 FROM "videoCaption" WHERE "videoCaption"."language" ' +
|
||||
' IN (' + createSafeIn(model, languages) + ') AND ' +
|
||||
' "videoCaption"."videoId" = "video"."id"' +
|
||||
' )' +
|
||||
'EXISTS (' +
|
||||
' SELECT 1 FROM "videoCaption" WHERE "videoCaption"."language" ' +
|
||||
' IN (' + createSafeIn(model, languages) + ') AND ' +
|
||||
' "videoCaption"."videoId" = "video"."id"' +
|
||||
')'
|
||||
)
|
||||
}
|
||||
|
@ -224,7 +223,9 @@ function buildListQuery (model: typeof Model, options: BuildVideosQueryOptions)
|
|||
languagesQueryParts.push('"video"."language" IS NULL')
|
||||
}
|
||||
|
||||
and.push(languagesQueryParts.join(' OR '))
|
||||
if (languagesQueryParts.length !== 0) {
|
||||
and.push('(' + languagesQueryParts.join(' OR ') + ')')
|
||||
}
|
||||
}
|
||||
|
||||
// We don't exclude results in this if so if we do a count we don't need to add this complex clauses
|
||||
|
|
Loading…
Reference in New Issue