X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fsort.ts;h=5120804b3a34b27dc88753ff86cffd5906062ff9;hb=299474e8279675adb6c5ce140e7e39c6f3439453;hp=ab9ccf5242bee9af0f6f56eab779534037dd19f1;hpb=65fcc3119c334b75dd13bcfdebf186afdc580a8f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/sort.ts b/server/middlewares/sort.ts index ab9ccf524..5120804b3 100644 --- a/server/middlewares/sort.ts +++ b/server/middlewares/sort.ts @@ -1,25 +1,44 @@ -function setUsersSort (req, res, next) { +import * as express from 'express' +import 'express-validator' +import { SortType } from '../helpers/utils' + +function setDefaultSort (req: express.Request, res: express.Response, next: express.NextFunction) { if (!req.query.sort) req.query.sort = '-createdAt' return next() } -function setVideoAbusesSort (req, res, next) { - if (!req.query.sort) req.query.sort = '-createdAt' +function setDefaultSearchSort (req: express.Request, res: express.Response, next: express.NextFunction) { + if (!req.query.sort) req.query.sort = '-match' return next() } -function setVideosSort (req, res, next) { +function setBlacklistSort (req: express.Request, res: express.Response, next: express.NextFunction) { + let newSort: SortType = { sortModel: undefined, sortValue: '' } + if (!req.query.sort) req.query.sort = '-createdAt' + // Set model we want to sort onto + if (req.query.sort === '-createdAt' || req.query.sort === 'createdAt' || + req.query.sort === '-id' || req.query.sort === 'id') { + // If we want to sort onto the BlacklistedVideos relation, we won't specify it in the query parameter ... + newSort.sortModel = undefined + } else { + newSort.sortModel = 'Video' + } + + newSort.sortValue = req.query.sort + + req.query.sort = newSort + return next() } // --------------------------------------------------------------------------- export { - setUsersSort, - setVideoAbusesSort, - setVideosSort + setDefaultSort, + setDefaultSearchSort, + setBlacklistSort }