import { exists } from './misc'
import * as validator from 'validator'
-import { CONSTRAINTS_FIELDS, VIDEO_PLAYLIST_PRIVACIES } from '../../initializers'
+import { CONSTRAINTS_FIELDS, VIDEO_PLAYLIST_PRIVACIES, VIDEO_PLAYLIST_TYPES } from '../../initializers/constants'
import * as express from 'express'
import { VideoPlaylistModel } from '../../models/video/video-playlist'
-import { VideoPlaylistElementModel } from '../../models/video/video-playlist-element'
const PLAYLISTS_CONSTRAINT_FIELDS = CONSTRAINTS_FIELDS.VIDEO_PLAYLISTS
return validator.isInt(value + '') && VIDEO_PLAYLIST_PRIVACIES[ value ] !== undefined
}
-async function isVideoPlaylistExist (id: number | string, res: express.Response) {
- const videoPlaylist = await VideoPlaylistModel.load(id, undefined)
+function isVideoPlaylistTimestampValid (value: any) {
+ return value === null || (exists(value) && validator.isInt('' + value, { min: 0 }))
+}
+
+function isVideoPlaylistTypeValid (value: any) {
+ return exists(value) && VIDEO_PLAYLIST_TYPES[ value ] !== undefined
+}
+
+async function doesVideoPlaylistExist (id: number | string, res: express.Response, fetchType: 'summary' | 'all' = 'summary') {
+ const videoPlaylist = fetchType === 'summary'
+ ? await VideoPlaylistModel.loadWithAccountAndChannelSummary(id, undefined)
+ : await VideoPlaylistModel.loadWithAccountAndChannel(id, undefined)
if (!videoPlaylist) {
res.status(404)
// ---------------------------------------------------------------------------
export {
- isVideoPlaylistExist,
+ doesVideoPlaylistExist,
isVideoPlaylistNameValid,
isVideoPlaylistDescriptionValid,
- isVideoPlaylistPrivacyValid
+ isVideoPlaylistPrivacyValid,
+ isVideoPlaylistTimestampValid,
+ isVideoPlaylistTypeValid
}