]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - controllers/api/v1/pods.js
4 var express
= require('express')
7 var logger
= require('../../../helpers/logger')
8 var friends
= require('../../../lib/friends')
9 var middleware
= require('../../../middlewares')
10 var cacheMiddleware
= middleware
.cache
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 utils
= require('../../../helpers/utils')
16 var Videos
= require('../../../models/videos')
18 var router
= express
.Router()
20 router
.get('/', cacheMiddleware
.cache(false), listPods
)
21 router
.post('/', reqValidator
.podsAdd
, cacheMiddleware
.cache(false), addPods
)
22 router
.get('/makefriends', reqValidator
.makeFriends
, cacheMiddleware
.cache(false), makeFriends
)
23 router
.get('/quitfriends', cacheMiddleware
.cache(false), quitFriends
)
24 // Post because this is a secured request
25 router
.post('/remove', secureRequest
, secureMiddleware
.decryptBody
, removePods
)
27 // ---------------------------------------------------------------------------
29 module
.exports
= router
31 // ---------------------------------------------------------------------------
33 function addPods (req
, res
, next
) {
34 var informations
= req
.body
.data
35 Pods
.add(informations
, function (err
) {
36 if (err
) return next(err
)
38 Videos
.addRemotes(informations
.videos
)
40 fs
.readFile(utils
.getCertDir() + 'peertube.pub', 'utf8', function (err
, cert
) {
42 logger
.error('Cannot read cert file.', { error: err
})
46 Videos
.listOwned(function (err
, videos_list
) {
48 logger
.error('Cannot get the list of owned videos.', { error: err
})
52 res
.json({ cert: cert
, videos: videos_list
})
58 function listPods (req
, res
, next
) {
59 Pods
.list(function (err
, pods_list
) {
60 if (err
) return next(err
)
66 function makeFriends (req
, res
, next
) {
67 friends
.makeFriends(function (err
) {
68 if (err
) return next(err
)
74 function removePods (req
, res
, next
) {
75 var url
= req
.body
.signature
.url
76 Pods
.remove(url
, function (err
) {
77 if (err
) return next(err
)
79 Videos
.removeAllRemotesOf(url
, function (err
) {
80 if (err
) logger
.error('Cannot remove all remote videos of %s.', url
)
81 logger
.info('%s pod removed.', url
)
87 function quitFriends (req
, res
, next
) {
88 friends
.quitFriends(function (err
) {
89 if (err
) return next(err
)