]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/middlewares/validators/videos.ts
First typescript iteration
[github/Chocobozzz/PeerTube.git] / server / middlewares / validators / videos.ts
similarity index 85%
rename from server/middlewares/validators/videos.js
rename to server/middlewares/validators/videos.ts
index f18ca15972d3747f37e8a6f646cc903e5601d3ef..5a49cf73ce901aa8a7f1cd4944b97ecb96fcb0c2 100644 (file)
@@ -1,26 +1,9 @@
-'use strict'
-
-const checkErrors = require('./utils').checkErrors
-const constants = require('../../initializers/constants')
-const customVideosValidators = require('../../helpers/custom-validators').videos
 const db = require('../../initializers/database')
-const logger = require('../../helpers/logger')
-
-const validatorsVideos = {
-  videosAdd,
-  videosUpdate,
-  videosGet,
-  videosRemove,
-  videosSearch,
-
-  videoAbuseReport,
-
-  videoRate,
-
-  videosBlacklist
-}
+import { checkErrors } from './utils'
+import { CONSTRAINTS_FIELDS, SEARCHABLE_COLUMNS } from '../../initializers'
+import { logger, isVideoDurationValid } from '../../helpers'
 
-function videosAdd (req, res, next) {
+function videosAddValidator (req, res, next) {
   req.checkBody('videofile', 'Should have a valid file').isVideoFile(req.files)
   req.checkBody('name', 'Should have a valid name').isVideoNameValid()
   req.checkBody('category', 'Should have a valid category').isVideoCategoryValid()
@@ -40,8 +23,8 @@ function videosAdd (req, res, next) {
         return res.status(400).send('Cannot retrieve metadata of the file.')
       }
 
-      if (!customVideosValidators.isVideoDurationValid(duration)) {
-        return res.status(400).send('Duration of the video file is too big (max: ' + constants.CONSTRAINTS_FIELDS.VIDEOS.DURATION.max + 's).')
+      if (!isVideoDurationValid(duration)) {
+        return res.status(400).send('Duration of the video file is too big (max: ' + CONSTRAINTS_FIELDS.VIDEOS.DURATION.max + 's).')
       }
 
       videoFile.duration = duration
@@ -50,7 +33,7 @@ function videosAdd (req, res, next) {
   })
 }
 
-function videosUpdate (req, res, next) {
+function videosUpdateValidator (req, res, next) {
   req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
   req.checkBody('name', 'Should have a valid name').optional().isVideoNameValid()
   req.checkBody('category', 'Should have a valid category').optional().isVideoCategoryValid()
@@ -78,7 +61,7 @@ function videosUpdate (req, res, next) {
   })
 }
 
-function videosGet (req, res, next) {
+function videosGetValidator (req, res, next) {
   req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
 
   logger.debug('Checking videosGet parameters', { parameters: req.params })
@@ -88,7 +71,7 @@ function videosGet (req, res, next) {
   })
 }
 
-function videosRemove (req, res, next) {
+function videosRemoveValidator (req, res, next) {
   req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
 
   logger.debug('Checking videosRemove parameters', { parameters: req.params })
@@ -105,8 +88,8 @@ function videosRemove (req, res, next) {
   })
 }
 
-function videosSearch (req, res, next) {
-  const searchableColumns = constants.SEARCHABLE_COLUMNS.VIDEOS
+function videosSearchValidator (req, res, next) {
+  const searchableColumns = SEARCHABLE_COLUMNS.VIDEOS
   req.checkParams('value', 'Should have a valid search').notEmpty()
   req.checkQuery('field', 'Should have correct searchable column').optional().isIn(searchableColumns)
 
@@ -115,7 +98,7 @@ function videosSearch (req, res, next) {
   checkErrors(req, res, next)
 }
 
-function videoAbuseReport (req, res, next) {
+function videoAbuseReportValidator (req, res, next) {
   req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
   req.checkBody('reason', 'Should have a valid reason').isVideoAbuseReasonValid()
 
@@ -126,7 +109,7 @@ function videoAbuseReport (req, res, next) {
   })
 }
 
-function videoRate (req, res, next) {
+function videoRateValidator (req, res, next) {
   req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
   req.checkBody('rating', 'Should have a valid rate type').isVideoRatingTypeValid()
 
@@ -137,7 +120,7 @@ function videoRate (req, res, next) {
   })
 }
 
-function videosBlacklist (req, res, next) {
+function videosBlacklistValidator (req, res, next) {
   req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
 
   logger.debug('Checking videosBlacklist parameters', { parameters: req.params })
@@ -151,7 +134,19 @@ function videosBlacklist (req, res, next) {
 
 // ---------------------------------------------------------------------------
 
-module.exports = validatorsVideos
+export {
+  videosAddValidator,
+  videosUpdateValidator,
+  videosGetValidator,
+  videosRemoveValidator,
+  videosSearchValidator,
+
+  videoAbuseReportValidator,
+
+  videoRateValidator,
+
+  videosBlacklistValidator
+}
 
 // ---------------------------------------------------------------------------