X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=server%2Fhelpers%2Fcustom-validators%2Fvideo-channels.ts;h=0471f6ec4422c48ee374038b63738ff0e6dd13c7;hb=3e753302d8c911b59971c16a8018df0e1ab78465;hp=b6be557e622d1915fa02f546f1108af48d769ee1;hpb=72c7248b6fdcdb2175e726ff51b42e7555f2bd84;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/custom-validators/video-channels.ts b/server/helpers/custom-validators/video-channels.ts index b6be557e6..0471f6ec4 100644 --- a/server/helpers/custom-validators/video-channels.ts +++ b/server/helpers/custom-validators/video-channels.ts @@ -1,12 +1,9 @@ -import * as Promise from 'bluebird' -import * as validator from 'validator' import * as express from 'express' import 'express-validator' import 'multer' - -import { database as db, CONSTRAINTS_FIELDS } from '../../initializers' -import { VideoChannelInstance } from '../../models' -import { logger } from '../logger' +import * as validator from 'validator' +import { CONSTRAINTS_FIELDS } from '../../initializers/constants' +import { VideoChannelModel } from '../../models/video/video-channel' import { exists } from './misc' const VIDEO_CHANNELS_CONSTRAINTS_FIELDS = CONSTRAINTS_FIELDS.VIDEO_CHANNELS @@ -19,32 +16,8 @@ function isVideoChannelNameValid (value: string) { return exists(value) && validator.isLength(value, VIDEO_CHANNELS_CONSTRAINTS_FIELDS.NAME) } -function isVideoChannelUUIDValid (value: string) { - return exists(value) && validator.isUUID('' + value, 4) -} - -function checkVideoChannelExists (id: string, res: express.Response, callback: () => void) { - let promise: Promise - if (validator.isInt(id)) { - promise = db.VideoChannel.loadAndPopulateAuthor(+id) - } else { // UUID - promise = db.VideoChannel.loadByUUIDAndPopulateAuthor(id) - } - - promise.then(videoChannel => { - if (!videoChannel) { - return res.status(404) - .json({ error: 'Video channel not found' }) - .end() - } - - res.locals.videoChannel = videoChannel - callback() - }) - .catch(err => { - logger.error('Error in video channel request validator.', err) - return res.sendStatus(500) - }) +function isVideoChannelSupportValid (value: string) { + return value === null || (exists(value) && validator.isLength(value, VIDEO_CHANNELS_CONSTRAINTS_FIELDS.SUPPORT)) } // --------------------------------------------------------------------------- @@ -52,6 +25,18 @@ function checkVideoChannelExists (id: string, res: express.Response, callback: ( export { isVideoChannelDescriptionValid, isVideoChannelNameValid, - isVideoChannelUUIDValid, - checkVideoChannelExists + isVideoChannelSupportValid, +} + +function processVideoChannelExist (videoChannel: VideoChannelModel, res: express.Response) { + if (!videoChannel) { + res.status(404) + .json({ error: 'Video channel not found' }) + .end() + + return false + } + + res.locals.videoChannel = videoChannel + return true }