From 8c308c2bf7f658945d80be9d5880361238635f5b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 9 Jun 2015 17:41:40 +0200 Subject: Spawn --- routes/api/index.js | 10 ++++++++ routes/api/pods.js | 38 +++++++++++++++++++++++++++++ routes/api/remoteVideos.js | 29 ++++++++++++++++++++++ routes/api/videos.js | 61 ++++++++++++++++++++++++++++++++++++++++++++++ routes/index.js | 24 ++++++++++++++++++ 5 files changed, 162 insertions(+) create mode 100644 routes/api/index.js create mode 100644 routes/api/pods.js create mode 100644 routes/api/remoteVideos.js create mode 100644 routes/api/videos.js create mode 100644 routes/index.js (limited to 'routes') diff --git a/routes/api/index.js b/routes/api/index.js new file mode 100644 index 000000000..9a4ec8438 --- /dev/null +++ b/routes/api/index.js @@ -0,0 +1,10 @@ +;(function () { + 'use strict' + + var api = {} + api.videos = require('./videos') + api.remoteVideos = require('./remoteVideos') + api.pods = require('./pods') + + module.exports = api +})() diff --git a/routes/api/pods.js b/routes/api/pods.js new file mode 100644 index 000000000..3f9e85052 --- /dev/null +++ b/routes/api/pods.js @@ -0,0 +1,38 @@ +;(function () { + 'use strict' + + var express = require('express') + var router = express.Router() + var middleware = require('../../middlewares') + var pods = require('../../src/pods') + + function listPods (req, res, next) { + pods.list(function (err, pods_list) { + if (err) next(err) + + res.json(pods_list) + }) + } + + function addPods (req, res, next) { + pods.add(req.body.data, function (err, json) { + if (err) next(err) + + res.json(json) + }) + } + + function makeFriends (req, res, next) { + pods.makeFriends(function (err) { + if (err) next(err) + + res.sendStatus(204) + }) + } + + router.get('/', middleware.cache(false), listPods) + router.get('/makefriends', middleware.cache(false), makeFriends) + router.post('/', middleware.cache(false), addPods) + + module.exports = router +})() diff --git a/routes/api/remoteVideos.js b/routes/api/remoteVideos.js new file mode 100644 index 000000000..eed586d23 --- /dev/null +++ b/routes/api/remoteVideos.js @@ -0,0 +1,29 @@ +;(function () { + 'use strict' + + var express = require('express') + var router = express.Router() + var middleware = require('../../middlewares') + var videos = require('../../src/videos') + + function addRemoteVideos (req, res, next) { + videos.addRemote(req.body.data, function (err, video) { + if (err) next(err) + + res.json(video) + }) + } + + function removeRemoteVideo (req, res, next) { + videos.removeRemote(req.body.signature.url, req.body.data.magnetUri, function (err) { + if (err) next(err) + + res.status(204) + }) + } + + router.post('/add', middleware.cache(false), middleware.decryptBody, addRemoteVideos) + router.post('/remove', middleware.cache(false), middleware.decryptBody, removeRemoteVideo) + + module.exports = router +})() diff --git a/routes/api/videos.js b/routes/api/videos.js new file mode 100644 index 000000000..c38d6d42c --- /dev/null +++ b/routes/api/videos.js @@ -0,0 +1,61 @@ +;(function () { + 'use strict' + + var express = require('express') + var router = express.Router() + var middleware = require('../../middlewares') + var videos = require('../../src/videos') + + function listVideos (req, res, next) { + videos.list(function (err, videos_list) { + if (err) next(err) + + res.json(videos_list) + }) + } + + function searchVideos (req, res, next) { + videos.search(req.params.name, function (err, videos_list) { + if (err) next(err) + + res.json(videos_list) + }) + } + + function addVideos (req, res, next) { + videos.add({ video: req.files.input_video, data: req.body }, function (err) { + if (err) next(err) + + // TODO : include Location of the new video + res.sendStatus(201) + }) + } + + function getVideos (req, res, next) { + videos.get(req.params.id, function (err, video) { + if (err) next(err) + + if (video === null) { + return res.sendStatus(404) + } + + res.json(video) + }) + } + + function removeVideo (req, res, next) { + videos.remove(req.params.id, function (err) { + if (err) next(err) + + res.sendStatus(204) + }) + } + + router.get('/', middleware.cache(false), listVideos) + router.post('/', middleware.cache(false), addVideos) + router.get('/search/:name', middleware.cache(false), searchVideos) + router.get('/:id', middleware.cache(false), getVideos) + router.delete('/:id', middleware.cache(false), removeVideo) + + module.exports = router +})() diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 000000000..690913a84 --- /dev/null +++ b/routes/index.js @@ -0,0 +1,24 @@ +;(function () { + 'use strict' + + function getPartial (req, res) { + var directory = req.params.directory + var name = req.params.name + + res.render('partials/' + directory + '/' + name) + } + + function getIndex (req, res) { + res.render('index') + } + + var express = require('express') + var middleware = require('../middlewares') + + var router = express.Router() + + router.get('/partials/:directory/:name', middleware.cache(), getPartial) + router.get(/^\/(index)?$/, middleware.cache(), getIndex) + + module.exports = router +})() -- cgit v1.2.3