use sum instead of max when sorting movies
This commit is contained in:
@@ -14,6 +14,7 @@ function initiateRemoteCache() {
|
||||
uri: MONGO_URI,
|
||||
options: {
|
||||
collection: 'torrentio_catalog_collection',
|
||||
socketTimeoutMS: 120000,
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: false,
|
||||
ttl: CATALOG_TTL
|
||||
|
||||
@@ -12,10 +12,11 @@ async function getIds(providers, type, startDate, endDate) {
|
||||
: '';
|
||||
const dateCondition = startDate && endDate
|
||||
? `AND "uploadDate" BETWEEN '${startDate}' AND '${endDate}'`
|
||||
: ''
|
||||
: '';
|
||||
const providersCondition = providers && providers.length
|
||||
? `AND provider in (${providers.map(it => `'${it}'`).join(',')})`
|
||||
: ''
|
||||
: '';
|
||||
const sortCondition = type === Type.MOVIE ? 'sum(torrents.seeders)' : 'max(torrents.seeders)';
|
||||
const query = `SELECT files."${idName}"
|
||||
FROM (SELECT torrents."infoHash", torrents.seeders FROM torrents
|
||||
WHERE seeders > 0 AND type = '${type}' ${providersCondition} ${dateCondition}
|
||||
@@ -23,7 +24,7 @@ async function getIds(providers, type, startDate, endDate) {
|
||||
JOIN files ON torrents."infoHash" = files."infoHash"
|
||||
WHERE files."${idName}" IS NOT NULL ${episodeCondition}
|
||||
GROUP BY files."${idName}"
|
||||
ORDER BY max(torrents.seeders) DESC
|
||||
ORDER BY ${sortCondition} DESC
|
||||
LIMIT 5000`
|
||||
const results = await database.query(query, { type: QueryTypes.SELECT });
|
||||
return results.map(result => `${result.imdbId || result.kitsuId}`);
|
||||
|
||||
Reference in New Issue
Block a user