Video lib/model/reqvalidator refractoring
This commit is contained in:
parent
86e054b20f
commit
5101105ef9
|
@ -12,10 +12,21 @@ var Videos = require('../models/videos')
|
||||||
var uploadDir = path.join(__dirname, '..', '..', config.get('storage.uploads'))
|
var uploadDir = path.join(__dirname, '..', '..', config.get('storage.uploads'))
|
||||||
|
|
||||||
var videos = {
|
var videos = {
|
||||||
|
getVideoState: getVideoState,
|
||||||
seed: seed,
|
seed: seed,
|
||||||
seedAllExisting: seedAllExisting
|
seedAllExisting: seedAllExisting
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getVideoState (video, callback) {
|
||||||
|
var exist = (video !== null)
|
||||||
|
var owned = false
|
||||||
|
if (exist === true) {
|
||||||
|
owned = (video.namePath !== null)
|
||||||
|
}
|
||||||
|
|
||||||
|
return callback({ exist: exist, owned: owned })
|
||||||
|
}
|
||||||
|
|
||||||
function seed (path, callback) {
|
function seed (path, callback) {
|
||||||
logger.info('Seeding %s...', path)
|
logger.info('Seeding %s...', path)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
var checkErrors = require('./utils').checkErrors
|
var checkErrors = require('./utils').checkErrors
|
||||||
var logger = require('../../helpers/logger')
|
var logger = require('../../helpers/logger')
|
||||||
|
var videos = require('../../lib/videos')
|
||||||
var Videos = require('../../models/videos')
|
var Videos = require('../../models/videos')
|
||||||
|
|
||||||
var reqValidatorsVideos = {
|
var reqValidatorsVideos = {
|
||||||
|
@ -28,15 +29,17 @@ function videosGet (req, res, next) {
|
||||||
logger.debug('Checking videosGet parameters', { parameters: req.params })
|
logger.debug('Checking videosGet parameters', { parameters: req.params })
|
||||||
|
|
||||||
checkErrors(req, res, function () {
|
checkErrors(req, res, function () {
|
||||||
Videos.getVideoState(req.params.id, function (err, state) {
|
Videos.get(req.params.id, function (err, video) {
|
||||||
if (err) {
|
if (err) {
|
||||||
logger.error('Error in videosGet request validator.', { error: err })
|
logger.error('Error in videosGet request validator.', { error: err })
|
||||||
res.sendStatus(500)
|
res.sendStatus(500)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.exist === false) return res.status(404).send('Video not found')
|
videos.getVideoState(video, function (state) {
|
||||||
|
if (state.exist === false) return res.status(404).send('Video not found')
|
||||||
|
|
||||||
next()
|
next()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -47,16 +50,18 @@ function videosRemove (req, res, next) {
|
||||||
logger.debug('Checking videosRemove parameters', { parameters: req.params })
|
logger.debug('Checking videosRemove parameters', { parameters: req.params })
|
||||||
|
|
||||||
checkErrors(req, res, function () {
|
checkErrors(req, res, function () {
|
||||||
Videos.getVideoState(req.params.id, function (err, state) {
|
Videos.get(req.params.id, function (err, video) {
|
||||||
if (err) {
|
if (err) {
|
||||||
logger.error('Error in videosRemove request validator.', { error: err })
|
logger.error('Error in videosRemove request validator.', { error: err })
|
||||||
res.sendStatus(500)
|
res.sendStatus(500)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.exist === false) return res.status(404).send('Video not found')
|
videos.getVideoState(video, function (state) {
|
||||||
else if (state.owned === false) return res.status(403).send('Cannot remove video of another pod')
|
if (state.exist === false) return res.status(404).send('Video not found')
|
||||||
|
else if (state.owned === false) return res.status(403).send('Cannot remove video of another pod')
|
||||||
|
|
||||||
next()
|
next()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,8 +31,6 @@ var Videos = {
|
||||||
add: add,
|
add: add,
|
||||||
addRemotes: addRemotes,
|
addRemotes: addRemotes,
|
||||||
get: get,
|
get: get,
|
||||||
getVideoState: getVideoState,
|
|
||||||
isOwned: isOwned,
|
|
||||||
list: list,
|
list: list,
|
||||||
listOwned: listOwned,
|
listOwned: listOwned,
|
||||||
removeOwned: removeOwned,
|
removeOwned: removeOwned,
|
||||||
|
@ -102,38 +100,6 @@ function get (id, callback) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function getVideoState (id, callback) {
|
|
||||||
get(id, function (err, video) {
|
|
||||||
if (err) return callback(err)
|
|
||||||
|
|
||||||
var exist = (video !== null)
|
|
||||||
var owned = false
|
|
||||||
if (exist === true) {
|
|
||||||
owned = (video.namePath !== null)
|
|
||||||
}
|
|
||||||
|
|
||||||
return callback(null, { exist: exist, owned: owned })
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function isOwned (id, callback) {
|
|
||||||
VideosDB.findById(id, function (err, video) {
|
|
||||||
if (err || !video) {
|
|
||||||
if (!err) err = new Error('Cannot find this video.')
|
|
||||||
logger.error('Cannot find this video.')
|
|
||||||
return callback(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (video.namePath === null) {
|
|
||||||
var error_string = 'Cannot remove the video of another pod.'
|
|
||||||
logger.error(error_string)
|
|
||||||
return callback(new Error(error_string), false, video)
|
|
||||||
}
|
|
||||||
|
|
||||||
callback(null, true, video)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function list (callback) {
|
function list (callback) {
|
||||||
VideosDB.find(function (err, videos_list) {
|
VideosDB.find(function (err, videos_list) {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|
Loading…
Reference in New Issue