]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/helpers/custom-validators/video-blacklist.ts
Merge branch 'release/v1.3.0' into develop
[github/Chocobozzz/PeerTube.git] / server / helpers / custom-validators / video-blacklist.ts
CommitLineData
26b7305a
C
1import { Response } from 'express'
2import * as validator from 'validator'
7ccddd7b 3import { exists } from './misc'
74dc3bca 4import { CONSTRAINTS_FIELDS } from '../../initializers/constants'
26b7305a 5import { VideoBlacklistModel } from '../../models/video/video-blacklist'
7ccddd7b 6import { VideoBlacklistType } from '../../../shared/models/videos'
26b7305a
C
7
8const VIDEO_BLACKLIST_CONSTRAINTS_FIELDS = CONSTRAINTS_FIELDS.VIDEO_BLACKLIST
9
10function isVideoBlacklistReasonValid (value: string) {
11 return value === null || validator.isLength(value, VIDEO_BLACKLIST_CONSTRAINTS_FIELDS.REASON)
12}
13
0f6acda1 14async function doesVideoBlacklistExist (videoId: number, res: Response) {
26b7305a
C
15 const videoBlacklist = await VideoBlacklistModel.loadByVideoId(videoId)
16
17 if (videoBlacklist === null) {
18 res.status(404)
19 .json({ error: 'Blacklisted video not found' })
20 .end()
21
22 return false
23 }
24
25 res.locals.videoBlacklist = videoBlacklist
26 return true
27}
28
7ccddd7b
JM
29function isVideoBlacklistTypeValid (value: any) {
30 return exists(value) && validator.isInt('' + value) && VideoBlacklistType[value] !== undefined
31}
32
26b7305a
C
33// ---------------------------------------------------------------------------
34
35export {
36 isVideoBlacklistReasonValid,
7ccddd7b 37 isVideoBlacklistTypeValid,
0f6acda1 38 doesVideoBlacklistExist
26b7305a 39}