diff options
Diffstat (limited to 'server/middlewares/validators/videos')
-rw-r--r-- | server/middlewares/validators/videos/videos.ts | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/server/middlewares/validators/videos/videos.ts b/server/middlewares/validators/videos/videos.ts index e29eb4a32..ea6bd0721 100644 --- a/server/middlewares/validators/videos/videos.ts +++ b/server/middlewares/validators/videos/videos.ts | |||
@@ -489,6 +489,10 @@ const commonVideosFiltersValidator = [ | |||
489 | query('search') | 489 | query('search') |
490 | .optional() | 490 | .optional() |
491 | .custom(exists), | 491 | .custom(exists), |
492 | query('excludeAlreadyWatched') | ||
493 | .optional() | ||
494 | .customSanitizer(toBooleanOrNull) | ||
495 | .isBoolean().withMessage('Should be a valid excludeAlreadyWatched boolean'), | ||
492 | 496 | ||
493 | (req: express.Request, res: express.Response, next: express.NextFunction) => { | 497 | (req: express.Request, res: express.Response, next: express.NextFunction) => { |
494 | if (areValidationErrors(req, res)) return | 498 | if (areValidationErrors(req, res)) return |
@@ -520,6 +524,13 @@ const commonVideosFiltersValidator = [ | |||
520 | } | 524 | } |
521 | } | 525 | } |
522 | 526 | ||
527 | if (!user && exists(req.query.excludeAlreadyWatched)) { | ||
528 | res.fail({ | ||
529 | status: HttpStatusCode.BAD_REQUEST_400, | ||
530 | message: 'Cannot use excludeAlreadyWatched parameter when auth token is not provided' | ||
531 | }) | ||
532 | return false | ||
533 | } | ||
523 | return next() | 534 | return next() |
524 | } | 535 | } |
525 | ] | 536 | ] |