X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fcustom-validators%2Fvideo-playlists.ts;h=2fe426560350683eb17a76f874a81cd084955aa9;hb=1eddc9a74f9a80fa5d0cb25fceb3fc47a1a3c14a;hp=0f5af4ec0749c1432814d82c47510b4f96effc7a;hpb=418d092afa81e2c8fe8ac6838fc4b5eb0af6a782;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/custom-validators/video-playlists.ts b/server/helpers/custom-validators/video-playlists.ts index 0f5af4ec0..2fe426560 100644 --- a/server/helpers/custom-validators/video-playlists.ts +++ b/server/helpers/custom-validators/video-playlists.ts @@ -1,9 +1,8 @@ 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 @@ -19,8 +18,18 @@ function isVideoPlaylistPrivacyValid (value: number) { 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) @@ -37,8 +46,10 @@ async function isVideoPlaylistExist (id: number | string, res: express.Response) // --------------------------------------------------------------------------- export { - isVideoPlaylistExist, + doesVideoPlaylistExist, isVideoPlaylistNameValid, isVideoPlaylistDescriptionValid, - isVideoPlaylistPrivacyValid + isVideoPlaylistPrivacyValid, + isVideoPlaylistTimestampValid, + isVideoPlaylistTypeValid }