From fab6746354f9d9cb65c35d8bd9352c4b773b4c69 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 11 Mar 2020 08:40:13 +0100 Subject: Fix sitemap endpoint --- server/models/video/video-query-builder.ts | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'server/models/video') diff --git a/server/models/video/video-query-builder.ts b/server/models/video/video-query-builder.ts index 61f628c06..655abf198 100644 --- a/server/models/video/video-query-builder.ts +++ b/server/models/video/video-query-builder.ts @@ -3,6 +3,7 @@ import { buildDirectionAndField, createSafeIn } from '@server/models/utils' import { Model } from 'sequelize-typescript' import { MUserAccountId, MUserId } from '@server/typings/models' import validator from 'validator' +import { exists } from '@server/helpers/custom-validators/misc' export type BuildVideosQueryOptions = { attributes?: string[] @@ -312,14 +313,21 @@ function buildListQuery (model: typeof Model, options: BuildVideosQueryOptions) let suffix = '' let order = '' if (options.isCount !== true) { - const count = parseInt(options.count + '', 10) - const start = parseInt(options.start + '', 10) - order = buildOrder(model, options.sort) + if (exists(options.sort)) { + order = buildOrder(model, options.sort) + suffix += `${order} ` + } + + if (exists(options.count)) { + const count = parseInt(options.count + '', 10) + suffix += `LIMIT ${count} ` + } - suffix = order + ' ' + - 'LIMIT ' + count + ' ' + - 'OFFSET ' + start + if (exists(options.start)) { + const start = parseInt(options.start + '', 10) + suffix += `OFFSET ${start} ` + } } const cteString = cte.length !== 0 -- cgit v1.2.3