X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fsort.ts;h=0600ccd15567fd74f37f8fb0049330fafcbdd2bf;hb=3c79c2ce86eaf9e151ab6c2c9d1f646968a16744;hp=8c27e82379bfbb2b09f04b1bd249ea859ab9f2f3;hpb=c8861d5dc0436ef4342ce517241e3591fa256a13;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/sort.ts b/server/middlewares/sort.ts index 8c27e8237..0600ccd15 100644 --- a/server/middlewares/sort.ts +++ b/server/middlewares/sort.ts @@ -1,27 +1,22 @@ import * as express from 'express' import { SortType } from '../models/utils' -function setDefaultSort (req: express.Request, res: express.Response, next: express.NextFunction) { - if (!req.query.sort) req.query.sort = '-createdAt' - - return next() -} +const setDefaultSort = setDefaultSortFactory('-createdAt') +const setDefaultVideosSort = setDefaultSortFactory('-publishedAt') -function setDefaultSearchSort (req: express.Request, res: express.Response, next: express.NextFunction) { - if (!req.query.sort) req.query.sort = '-match' +const setDefaultVideoRedundanciesSort = setDefaultSortFactory('name') - return next() -} +const setDefaultSearchSort = setDefaultSortFactory('-match') function setBlacklistSort (req: express.Request, res: express.Response, next: express.NextFunction) { - let newSort: SortType = { sortModel: undefined, sortValue: '' } + const 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 ... + // 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' @@ -39,5 +34,17 @@ function setBlacklistSort (req: express.Request, res: express.Response, next: ex export { setDefaultSort, setDefaultSearchSort, + setDefaultVideosSort, + 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() + } +}