]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/api/v1/pods.js
3 const async
= require('async')
4 const express
= require('express')
6 const logger
= require('../../../helpers/logger')
7 const friends
= require('../../../lib/friends')
8 const middlewares
= require('../../../middlewares')
9 const Pods
= require('../../../models/pods')
10 const oAuth2
= middlewares
.oauth2
11 const reqValidator
= middlewares
.reqValidators
.pods
12 const signatureValidator
= middlewares
.reqValidators
.remote
.signature
13 const videos
= require('../../../lib/videos')
14 const Videos
= require('../../../models/videos')
16 const router
= express
.Router()
18 router
.get('/', listPodsUrl
)
19 router
.post('/', reqValidator
.podsAdd
, addPods
)
20 router
.get('/makefriends', oAuth2
.authenticate
, reqValidator
.makeFriends
, makeFriends
)
21 router
.get('/quitfriends', oAuth2
.authenticate
, quitFriends
)
22 // Post because this is a secured request
23 router
.post('/remove', signatureValidator
, removePods
)
25 // ---------------------------------------------------------------------------
27 module
.exports
= router
29 // ---------------------------------------------------------------------------
31 function addPods (req
, res
, next
) {
32 const informations
= req
.body
35 function addPod (callback
) {
36 Pods
.add(informations
, callback
)
39 function sendMyVideos (podCreated
, callback
) {
40 friends
.sendOwnedVideosToPod(podCreated
._id
)
45 function fetchMyCertificate (callback
) {
46 friends
.getMyCertificate(function (err
, cert
) {
48 logger
.error('Cannot read cert file.')
52 return callback(null, cert
)
55 ], function (err
, cert
) {
56 if (err
) return next(err
)
58 return res
.json({ cert: cert
})
62 function listPodsUrl (req
, res
, next
) {
63 Pods
.listAllUrls(function (err
, podsUrlList
) {
64 if (err
) return next(err
)
70 function makeFriends (req
, res
, next
) {
71 friends
.makeFriends(function (err
) {
72 if (err
) return next(err
)
74 res
.type('json').status(204).end()
78 function removePods (req
, res
, next
) {
79 const url
= req
.body
.signature
.url
83 Pods
.remove(url
, function (err
) {
89 Videos
.listFromUrl(url
, function (err
, videosList
) {
91 logger
.error('Cannot list videos from url.', { error: err
})
95 return callback(null, videosList
)
99 function removeTheRemoteVideos (videosList
, callback
) {
100 videos
.removeRemoteVideos(videosList
, function (err
) {
102 logger
.error('Cannot remove remote videos.', { error: err
})
106 return callback(null)
110 if (err
) return next(err
)
112 return res
.type('json').status(204).end()
116 function quitFriends (req
, res
, next
) {
117 friends
.quitFriends(function (err
) {
118 if (err
) return next(err
)
120 res
.type('json').status(204).end()