]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/api/v1/pods.js
3 var express
= require('express')
6 var logger
= require('../../../helpers/logger')
7 var friends
= require('../../../lib/friends')
8 var middleware
= require('../../../middlewares')
9 var cacheMiddleware
= middleware
.cache
10 var peertubeCrypto
= require('../../../helpers/peertubeCrypto')
11 var Pods
= require('../../../models/pods')
12 var reqValidator
= middleware
.reqValidators
.pods
13 var secureMiddleware
= middleware
.secure
14 var secureRequest
= middleware
.reqValidators
.remote
.secureRequest
15 var Videos
= require('../../../models/videos')
17 var router
= express
.Router()
19 router
.get('/', cacheMiddleware
.cache(false), listPods
)
20 router
.post('/', reqValidator
.podsAdd
, cacheMiddleware
.cache(false), addPods
)
21 router
.get('/makefriends', reqValidator
.makeFriends
, cacheMiddleware
.cache(false), makeFriends
)
22 router
.get('/quitfriends', cacheMiddleware
.cache(false), quitFriends
)
23 // Post because this is a secured request
24 router
.post('/remove', secureRequest
, secureMiddleware
.decryptBody
, removePods
)
26 // ---------------------------------------------------------------------------
28 module
.exports
= router
30 // ---------------------------------------------------------------------------
32 function addPods (req
, res
, next
) {
33 var informations
= req
.body
.data
34 Pods
.add(informations
, function (err
) {
35 if (err
) return next(err
)
37 Videos
.addRemotes(informations
.videos
)
39 fs
.readFile(peertubeCrypto
.getCertDir() + 'peertube.pub', 'utf8', function (err
, cert
) {
41 logger
.error('Cannot read cert file.')
45 Videos
.listOwned(function (err
, videos_list
) {
47 logger
.error('Cannot get the list of owned videos.')
51 res
.json({ cert: cert
, videos: videos_list
})
57 function listPods (req
, res
, next
) {
58 Pods
.list(function (err
, pods_list
) {
59 if (err
) return next(err
)
65 function makeFriends (req
, res
, next
) {
66 friends
.makeFriends(function (err
) {
67 if (err
) return next(err
)
73 function removePods (req
, res
, next
) {
74 var url
= req
.body
.signature
.url
75 Pods
.remove(url
, function (err
) {
76 if (err
) return next(err
)
78 Videos
.removeAllRemotesOf(url
, function (err
) {
79 if (err
) logger
.error('Cannot remove all remote videos of %s.', url
)
80 else logger
.info('%s pod removed.', url
)
87 function quitFriends (req
, res
, next
) {
88 friends
.quitFriends(function (err
) {
89 if (err
) return next(err
)