From adad49eaae7b16c55a2d87fc1a104cc8eff5a420 Mon Sep 17 00:00:00 2001 From: capitanwesler Date: Wed, 14 Apr 2021 17:34:23 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A6=8A=20Sorting=20genres=20by=20the=20or?= =?UTF-8?q?der?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/DirectoryController.ts | 32 ++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/controllers/DirectoryController.ts b/src/controllers/DirectoryController.ts index 2915a8d..5d9549d 100644 --- a/src/controllers/DirectoryController.ts +++ b/src/controllers/DirectoryController.ts @@ -453,11 +453,35 @@ export default class DirectoryController { } else { if (genres.hasOwnProperty(genre)) { if (page !== undefined && parseInt(page) > 1) { - result = await AnimeModel.find({ genres: genres[genre] }) - .limit(25) - .skip(25 * parseInt(page)); + if (order === 'asc') { + result = await AnimeModel.find({ genres: genres[genre] }) + .limit(25) + .skip(25 * parseInt(page)) + .sort({ title: 'ascending' }); + } else if (order === 'desc') { + result = await AnimeModel.find({ genres: genres[genre] }) + .limit(25) + .skip(25 * parseInt(page)) + .sort({ title: 'descending' }); + } else { + result = await AnimeModel.find({ genres: genres[genre] }) + .limit(25) + .skip(25 * parseInt(page)); + } } else { - result = await AnimeModel.find({ genres: genres[genre] }).limit(25); + if (order === 'asc') { + result = await AnimeModel.find({ genres: genres[genre] }) + .limit(25) + .sort({ title: 'ascending' }); + } else if (order === 'desc') { + result = await AnimeModel.find({ genres: genres[genre] }) + .limit(25) + .sort({ title: 'descending' }); + } else { + result = await AnimeModel.find({ genres: genres[genre] }).limit( + 25, + ); + } } } else { return res.status(500).json({ message: 'Aruppi lost in the shell' });