]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - routes/api/v1/videos.js
4 var express
= require('express')
5 var config
= require('config')
6 var multer
= require('multer')
7 var router
= express
.Router()
9 var middleware
= require('../../../middlewares')
10 var miscMiddleware
= middleware
.misc
11 var reqValidator
= middleware
.reqValidators
.videos
12 var videos
= require('../../../src/videos')
14 var uploads
= config
.get('storage.uploads')
16 function listVideos (req
, res
, next
) {
17 videos
.list(function (err
, videos_list
) {
18 if (err
) return next(err
)
24 function searchVideos (req
, res
, next
) {
25 videos
.search(req
.params
.name
, function (err
, videos_list
) {
26 if (err
) return next(err
)
32 function addVideos (req
, res
, next
) {
33 videos
.add({ video: req
.files
.input_video
[0], data: req
.body
}, function (err
) {
34 if (err
) return next(err
)
36 // TODO : include Location of the new video
41 function getVideos (req
, res
, next
) {
42 videos
.get(req
.params
.id
, function (err
, video
) {
43 if (err
) return next(err
)
46 return res
.sendStatus(404)
53 function removeVideo (req
, res
, next
) {
54 videos
.remove(req
.params
.id
, function (err
) {
55 if (err
) return next(err
)
61 var reqFiles
= multer({ dest: uploads
}).fields([{ name: 'input_video', maxCount: 1 }])
63 router
.get('/', miscMiddleware
.cache(false), listVideos
)
64 router
.post('/', reqFiles
, reqValidator
.videosAdd
, miscMiddleware
.cache(false), addVideos
)
65 router
.get('/search/:name', reqValidator
.videosSearch
, miscMiddleware
.cache(false), searchVideos
)
66 router
.get('/:id', reqValidator
.videosGet
, miscMiddleware
.cache(false), getVideos
)
67 router
.delete('/:id', reqValidator
.videosRemove
, miscMiddleware
.cache(false), removeVideo
)
69 module
.exports
= router