X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fsort.ts;h=75238228fefb229401a6ef7491beb39f5e7e097d;hb=d5692d4088cdd9fde3be6ff34be8ce2816dab0cf;hp=279b29e654c40d4f069f14de7d3c3024149ab6c7;hpb=608624252466acf9f1d9ee1c1170bd4fe4d18d18;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/sort.ts b/server/middlewares/sort.ts index 279b29e65..75238228f 100644 --- a/server/middlewares/sort.ts +++ b/server/middlewares/sort.ts @@ -1,47 +1,14 @@ -import 'express-validator' import * as express from 'express' +import { SortType } from '../models/utils' -import { SortType } from '../helpers' -import { database } from '../initializers' +const setDefaultSort = setDefaultSortFactory('-createdAt') -function setUsersSort (req: express.Request, res: express.Response, next: express.NextFunction) { - if (!req.query.sort) req.query.sort = '-createdAt' - - return next() -} - -function setVideoAbusesSort (req: express.Request, res: express.Response, next: express.NextFunction) { - if (!req.query.sort) req.query.sort = '-createdAt' - - return next() -} - -function setVideoChannelsSort (req: express.Request, res: express.Response, next: express.NextFunction) { - if (!req.query.sort) req.query.sort = '-createdAt' - - return next() -} - -function setVideosSort (req: express.Request, res: express.Response, next: express.NextFunction) { - if (!req.query.sort) req.query.sort = '-createdAt' - - return next() -} +const setDefaultVideoRedundanciesSort = setDefaultSortFactory('name') -function setFollowersSort (req: express.Request, res: express.Response, next: express.NextFunction) { - if (!req.query.sort) req.query.sort = '-createdAt' - - return next() -} - -function setFollowingSort (req: express.Request, res: express.Response, next: express.NextFunction) { - if (!req.query.sort) req.query.sort = '-createdAt' - - return next() -} +const setDefaultSearchSort = setDefaultSortFactory('-match') function setBlacklistSort (req: express.Request, res: express.Response, next: express.NextFunction) { - let newSort: SortType = { sortModel: undefined, sortValue: undefined } + let newSort: SortType = { sortModel: undefined, sortValue: '' } if (!req.query.sort) req.query.sort = '-createdAt' @@ -51,7 +18,7 @@ function setBlacklistSort (req: express.Request, res: express.Response, next: ex // If we want to sort onto the BlacklistedVideos relation, we won't specify it in the query parameter ... newSort.sortModel = undefined } else { - newSort.sortModel = database.Video + newSort.sortModel = 'Video' } newSort.sortValue = req.query.sort @@ -64,11 +31,18 @@ function setBlacklistSort (req: express.Request, res: express.Response, next: ex // --------------------------------------------------------------------------- export { - setUsersSort, - setVideoAbusesSort, - setVideoChannelsSort, - setVideosSort, - setBlacklistSort, - setFollowersSort, - setFollowingSort + setDefaultSort, + setDefaultSearchSort, + setDefaultVideoRedundanciesSort, + setBlacklistSort +} + +// --------------------------------------------------------------------------- + +function setDefaultSortFactory (sort: string) { + return (req: express.Request, res: express.Response, next: express.NextFunction) => { + if (!req.query.sort) req.query.sort = sort + + return next() + } }