PeerTube/server/helpers/custom-validators/video-playlists.ts

36 lines
1.2 KiB
TypeScript
Raw Normal View History

2019-02-26 10:55:40 +01:00
import { exists } from './misc'
2020-01-07 14:56:07 +01:00
import validator from 'validator'
import { CONSTRAINTS_FIELDS, VIDEO_PLAYLIST_PRIVACIES, VIDEO_PLAYLIST_TYPES } from '../../initializers/constants'
2019-02-26 10:55:40 +01:00
const PLAYLISTS_CONSTRAINT_FIELDS = CONSTRAINTS_FIELDS.VIDEO_PLAYLISTS
function isVideoPlaylistNameValid (value: any) {
return exists(value) && validator.isLength(value, PLAYLISTS_CONSTRAINT_FIELDS.NAME)
}
function isVideoPlaylistDescriptionValid (value: any) {
return value === null || (exists(value) && validator.isLength(value, PLAYLISTS_CONSTRAINT_FIELDS.DESCRIPTION))
}
function isVideoPlaylistPrivacyValid (value: number) {
2020-01-31 16:56:52 +01:00
return validator.isInt(value + '') && VIDEO_PLAYLIST_PRIVACIES[value] !== undefined
2019-02-26 10:55:40 +01:00
}
2019-03-05 10:58:44 +01:00
function isVideoPlaylistTimestampValid (value: any) {
return value === null || (exists(value) && validator.isInt('' + value, { min: 0 }))
}
function isVideoPlaylistTypeValid (value: any) {
2020-01-31 16:56:52 +01:00
return exists(value) && VIDEO_PLAYLIST_TYPES[value] !== undefined
2019-03-05 10:58:44 +01:00
}
2019-02-26 10:55:40 +01:00
// ---------------------------------------------------------------------------
export {
isVideoPlaylistNameValid,
isVideoPlaylistDescriptionValid,
2019-03-05 10:58:44 +01:00
isVideoPlaylistPrivacyValid,
isVideoPlaylistTimestampValid,
isVideoPlaylistTypeValid
2019-02-26 10:55:40 +01:00
}