]>
Commit | Line | Data |
---|---|---|
1 | ;(function () { | |
2 | 'use strict' | |
3 | ||
4 | var express = require('express') | |
5 | var router = express.Router() | |
6 | var middleware = require('../../../middlewares') | |
7 | var miscMiddleware = middleware.misc | |
8 | var reqValidator = middleware.reqValidators.videos | |
9 | var videos = require('../../../src/videos') | |
10 | ||
11 | function listVideos (req, res, next) { | |
12 | videos.list(function (err, videos_list) { | |
13 | if (err) return next(err) | |
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) { | |
21 | if (err) return next(err) | |
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) { | |
29 | if (err) return next(err) | |
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) { | |
38 | if (err) return next(err) | |
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) { | |
50 | if (err) return next(err) | |
51 | ||
52 | res.sendStatus(204) | |
53 | }) | |
54 | } | |
55 | ||
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) | |
61 | ||
62 | module.exports = router | |
63 | })() |