]>
Commit | Line | Data |
---|---|---|
8c308c2b C |
1 | ;(function () { |
2 | 'use strict' | |
3 | ||
4 | var express = require('express') | |
5 | var router = express.Router() | |
f5a60a51 | 6 | var middleware = require('../../../middlewares') |
b60035d8 C |
7 | var miscMiddleware = middleware.misc |
8 | var reqValidator = middleware.reqValidators.videos | |
f5a60a51 | 9 | var videos = require('../../../src/videos') |
8c308c2b C |
10 | |
11 | function listVideos (req, res, next) { | |
12 | videos.list(function (err, videos_list) { | |
e63dc45f | 13 | if (err) return next(err) |
8c308c2b C |
14 | |
15 | res.json(videos_list) | |
16 | }) | |
17 | } | |
18 | ||
19 | function searchVideos (req, res, next) { | |
20 | videos.search(req.params.name, function (err, videos_list) { | |
e63dc45f | 21 | if (err) return next(err) |
8c308c2b C |
22 | |
23 | res.json(videos_list) | |
24 | }) | |
25 | } | |
26 | ||
27 | function addVideos (req, res, next) { | |
28 | videos.add({ video: req.files.input_video, data: req.body }, function (err) { | |
e63dc45f | 29 | if (err) return next(err) |
8c308c2b C |
30 | |
31 | // TODO : include Location of the new video | |
32 | res.sendStatus(201) | |
33 | }) | |
34 | } | |
35 | ||
36 | function getVideos (req, res, next) { | |
37 | videos.get(req.params.id, function (err, video) { | |
e63dc45f | 38 | if (err) return next(err) |
8c308c2b C |
39 | |
40 | if (video === null) { | |
41 | return res.sendStatus(404) | |
42 | } | |
43 | ||
44 | res.json(video) | |
45 | }) | |
46 | } | |
47 | ||
48 | function removeVideo (req, res, next) { | |
49 | videos.remove(req.params.id, function (err) { | |
e63dc45f | 50 | if (err) return next(err) |
8c308c2b C |
51 | |
52 | res.sendStatus(204) | |
53 | }) | |
54 | } | |
55 | ||
b60035d8 C |
56 | router.get('/', miscMiddleware.cache(false), listVideos) |
57 | router.post('/', reqValidator.videosAdd, miscMiddleware.cache(false), addVideos) | |
58 | router.get('/search/:name', reqValidator.videosSearch, miscMiddleware.cache(false), searchVideos) | |
59 | router.get('/:id', reqValidator.videosGet, miscMiddleware.cache(false), getVideos) | |
60 | router.delete('/:id', reqValidator.videosRemove, miscMiddleware.cache(false), removeVideo) | |
8c308c2b C |
61 | |
62 | module.exports = router | |
63 | })() |