From a593d37a155e2027392301eb8d75d3d13cb0f937 Mon Sep 17 00:00:00 2001 From: Florian Sylvain Date: Wed, 11 Jan 2023 11:05:01 +0100 Subject: [PATCH] Added sorts queries --- routes/shows.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/routes/shows.js b/routes/shows.js index c050c51..6fa25ec 100644 --- a/routes/shows.js +++ b/routes/shows.js @@ -17,14 +17,21 @@ function pushQueryToFilter(filter, keyValueQuery) { } } -showsRouter.get('/', function (req, res, next) { - const filter = { - orderBy: { - likes: 'desc' - } +function pushOrderByToFilter(filter, valueOrderPair) { + if (valueOrderPair.value === undefined) return; + if (filter.orderBy == undefined) { + filter.orderBy = {} } + filter.orderBy[valueOrderPair.value] = valueOrderPair.order +} +showsRouter.get('/', function (req, res, next) { const queries = req.query + const filter = {} + + pushOrderByToFilter(filter, { value: queries?.sort_asc, order: 'asc' }) + pushOrderByToFilter(filter, { value: queries?.sort_desc, order: 'desc' }) + pushQueryToFilter(filter, { key: 'title', value: queries?.title, query: 'contains' }) pushQueryToFilter(filter, { key: 'description', value: queries?.description, query: 'contains' }) pushQueryToFilter(filter, { key: 'thumbmailURL', value: queries?.thumbmailURL, query: 'contains' })