diff options
Diffstat (limited to 'server/helpers/custom-validators')
-rw-r--r-- | server/helpers/custom-validators/misc.ts | 4 | ||||
-rw-r--r-- | server/helpers/custom-validators/users.ts | 3 | ||||
-rw-r--r-- | server/helpers/custom-validators/videos.ts | 4 |
3 files changed, 7 insertions, 4 deletions
diff --git a/server/helpers/custom-validators/misc.ts b/server/helpers/custom-validators/misc.ts index 254b4db6c..455aae367 100644 --- a/server/helpers/custom-validators/misc.ts +++ b/server/helpers/custom-validators/misc.ts | |||
@@ -45,6 +45,7 @@ function isFileValid ( | |||
45 | files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[], | 45 | files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[], |
46 | mimeTypeRegex: string, | 46 | mimeTypeRegex: string, |
47 | field: string, | 47 | field: string, |
48 | maxSize: number, | ||
48 | optional = false | 49 | optional = false |
49 | ) { | 50 | ) { |
50 | // Should have files | 51 | // Should have files |
@@ -61,6 +62,9 @@ function isFileValid ( | |||
61 | const file = fileArray[ 0 ] | 62 | const file = fileArray[ 0 ] |
62 | if (!file || !file.originalname) return false | 63 | if (!file || !file.originalname) return false |
63 | 64 | ||
65 | // Check size | ||
66 | if (maxSize && file.size > maxSize) return false | ||
67 | |||
64 | return new RegExp(`^${mimeTypeRegex}$`, 'i').test(file.mimetype) | 68 | return new RegExp(`^${mimeTypeRegex}$`, 'i').test(file.mimetype) |
65 | } | 69 | } |
66 | 70 | ||
diff --git a/server/helpers/custom-validators/users.ts b/server/helpers/custom-validators/users.ts index b59b766de..ce1323e94 100644 --- a/server/helpers/custom-validators/users.ts +++ b/server/helpers/custom-validators/users.ts | |||
@@ -2,7 +2,6 @@ import 'express-validator' | |||
2 | import * as validator from 'validator' | 2 | import * as validator from 'validator' |
3 | import { UserRole } from '../../../shared' | 3 | import { UserRole } from '../../../shared' |
4 | import { CONSTRAINTS_FIELDS, NSFW_POLICY_TYPES } from '../../initializers' | 4 | import { CONSTRAINTS_FIELDS, NSFW_POLICY_TYPES } from '../../initializers' |
5 | |||
6 | import { exists, isFileValid } from './misc' | 5 | import { exists, isFileValid } from './misc' |
7 | import { values } from 'lodash' | 6 | import { values } from 'lodash' |
8 | 7 | ||
@@ -52,7 +51,7 @@ const avatarMimeTypes = CONSTRAINTS_FIELDS.ACTORS.AVATAR.EXTNAME | |||
52 | .join('|') | 51 | .join('|') |
53 | const avatarMimeTypesRegex = `image/(${avatarMimeTypes})` | 52 | const avatarMimeTypesRegex = `image/(${avatarMimeTypes})` |
54 | function isAvatarFile (files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[]) { | 53 | function isAvatarFile (files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[]) { |
55 | return isFileValid(files, avatarMimeTypesRegex, 'avatarfile') | 54 | return isFileValid(files, avatarMimeTypesRegex, 'avatarfile', CONSTRAINTS_FIELDS.ACTORS.AVATAR.FILE_SIZE.max) |
56 | } | 55 | } |
57 | 56 | ||
58 | // --------------------------------------------------------------------------- | 57 | // --------------------------------------------------------------------------- |
diff --git a/server/helpers/custom-validators/videos.ts b/server/helpers/custom-validators/videos.ts index a227136ac..ae392f8c2 100644 --- a/server/helpers/custom-validators/videos.ts +++ b/server/helpers/custom-validators/videos.ts | |||
@@ -86,7 +86,7 @@ const videoFileTypes = Object.keys(VIDEO_MIMETYPE_EXT).map(m => `(${m})`) | |||
86 | const videoFileTypesRegex = videoFileTypes.join('|') | 86 | const videoFileTypesRegex = videoFileTypes.join('|') |
87 | 87 | ||
88 | function isVideoFile (files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[]) { | 88 | function isVideoFile (files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[]) { |
89 | return isFileValid(files, videoFileTypesRegex, 'videofile') | 89 | return isFileValid(files, videoFileTypesRegex, 'videofile', null) |
90 | } | 90 | } |
91 | 91 | ||
92 | const videoImageTypes = CONSTRAINTS_FIELDS.VIDEOS.IMAGE.EXTNAME | 92 | const videoImageTypes = CONSTRAINTS_FIELDS.VIDEOS.IMAGE.EXTNAME |
@@ -95,7 +95,7 @@ const videoImageTypes = CONSTRAINTS_FIELDS.VIDEOS.IMAGE.EXTNAME | |||
95 | const videoImageTypesRegex = `image/(${videoImageTypes})` | 95 | const videoImageTypesRegex = `image/(${videoImageTypes})` |
96 | 96 | ||
97 | function isVideoImage (files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[], field: string) { | 97 | function isVideoImage (files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[], field: string) { |
98 | return isFileValid(files, videoImageTypesRegex, field, true) | 98 | return isFileValid(files, videoImageTypesRegex, field, CONSTRAINTS_FIELDS.VIDEOS.IMAGE.FILE_SIZE.max, true) |
99 | } | 99 | } |
100 | 100 | ||
101 | function isVideoPrivacyValid (value: number) { | 101 | function isVideoPrivacyValid (value: number) { |