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