Use const/let now we use node 4.2
This commit is contained in:
parent
5101105ef9
commit
f0f5567b69
36 changed files with 424 additions and 432 deletions
|
@ -1,12 +1,12 @@
|
|||
'use strict'
|
||||
|
||||
var express = require('express')
|
||||
const express = require('express')
|
||||
|
||||
var router = express.Router()
|
||||
const router = express.Router()
|
||||
|
||||
var podsController = require('./pods')
|
||||
var remoteVideosController = require('./remoteVideos')
|
||||
var videosController = require('./videos')
|
||||
const podsController = require('./pods')
|
||||
const remoteVideosController = require('./remoteVideos')
|
||||
const videosController = require('./videos')
|
||||
|
||||
router.use('/pods', podsController)
|
||||
router.use('/remotevideos', remoteVideosController)
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
'use strict'
|
||||
|
||||
var express = require('express')
|
||||
var fs = require('fs')
|
||||
const express = require('express')
|
||||
const fs = require('fs')
|
||||
|
||||
var logger = require('../../../helpers/logger')
|
||||
var friends = require('../../../lib/friends')
|
||||
var middleware = require('../../../middlewares')
|
||||
var cacheMiddleware = middleware.cache
|
||||
var peertubeCrypto = require('../../../helpers/peertubeCrypto')
|
||||
var Pods = require('../../../models/pods')
|
||||
var reqValidator = middleware.reqValidators.pods
|
||||
var secureMiddleware = middleware.secure
|
||||
var secureRequest = middleware.reqValidators.remote.secureRequest
|
||||
var Videos = require('../../../models/videos')
|
||||
const logger = require('../../../helpers/logger')
|
||||
const friends = require('../../../lib/friends')
|
||||
const middleware = require('../../../middlewares')
|
||||
const cacheMiddleware = middleware.cache
|
||||
const peertubeCrypto = require('../../../helpers/peertubeCrypto')
|
||||
const Pods = require('../../../models/pods')
|
||||
const reqValidator = middleware.reqValidators.pods
|
||||
const secureMiddleware = middleware.secure
|
||||
const secureRequest = middleware.reqValidators.remote.secureRequest
|
||||
const Videos = require('../../../models/videos')
|
||||
|
||||
var router = express.Router()
|
||||
const router = express.Router()
|
||||
|
||||
router.get('/', cacheMiddleware.cache(false), listPods)
|
||||
router.post('/', reqValidator.podsAdd, cacheMiddleware.cache(false), addPods)
|
||||
|
@ -30,7 +30,7 @@ module.exports = router
|
|||
// ---------------------------------------------------------------------------
|
||||
|
||||
function addPods (req, res, next) {
|
||||
var informations = req.body.data
|
||||
const informations = req.body.data
|
||||
Pods.add(informations, function (err) {
|
||||
if (err) return next(err)
|
||||
|
||||
|
@ -71,7 +71,7 @@ function makeFriends (req, res, next) {
|
|||
}
|
||||
|
||||
function removePods (req, res, next) {
|
||||
var url = req.body.signature.url
|
||||
const url = req.body.signature.url
|
||||
Pods.remove(url, function (err) {
|
||||
if (err) return next(err)
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
'use strict'
|
||||
|
||||
var express = require('express')
|
||||
var pluck = require('lodash-node/compat/collection/pluck')
|
||||
const express = require('express')
|
||||
const pluck = require('lodash-node/compat/collection/pluck')
|
||||
|
||||
var middleware = require('../../../middlewares')
|
||||
var secureMiddleware = middleware.secure
|
||||
var cacheMiddleware = middleware.cache
|
||||
var reqValidator = middleware.reqValidators.remote
|
||||
var videos = require('../../../models/videos')
|
||||
const middleware = require('../../../middlewares')
|
||||
const secureMiddleware = middleware.secure
|
||||
const cacheMiddleware = middleware.cache
|
||||
const reqValidator = middleware.reqValidators.remote
|
||||
const videos = require('../../../models/videos')
|
||||
|
||||
var router = express.Router()
|
||||
const router = express.Router()
|
||||
|
||||
router.post('/add',
|
||||
reqValidator.secureRequest,
|
||||
|
@ -42,8 +42,8 @@ function addRemoteVideos (req, res, next) {
|
|||
}
|
||||
|
||||
function removeRemoteVideo (req, res, next) {
|
||||
var url = req.body.signature.url
|
||||
var magnetUris = pluck(req.body.data, 'magnetUri')
|
||||
const url = req.body.signature.url
|
||||
const magnetUris = pluck(req.body.data, 'magnetUri')
|
||||
|
||||
videos.removeRemotesOfByMagnetUris(url, magnetUris, function (err) {
|
||||
if (err) return next(err)
|
||||
|
|
|
@ -1,41 +1,41 @@
|
|||
'use strict'
|
||||
|
||||
var config = require('config')
|
||||
var crypto = require('crypto')
|
||||
var express = require('express')
|
||||
var multer = require('multer')
|
||||
const config = require('config')
|
||||
const crypto = require('crypto')
|
||||
const express = require('express')
|
||||
const multer = require('multer')
|
||||
|
||||
var logger = require('../../../helpers/logger')
|
||||
var friends = require('../../../lib/friends')
|
||||
var middleware = require('../../../middlewares')
|
||||
var cacheMiddleware = middleware.cache
|
||||
var reqValidator = middleware.reqValidators.videos
|
||||
var Videos = require('../../../models/videos') // model
|
||||
var videos = require('../../../lib/videos')
|
||||
var webtorrent = require('../../../lib/webtorrent')
|
||||
const logger = require('../../../helpers/logger')
|
||||
const friends = require('../../../lib/friends')
|
||||
const middleware = require('../../../middlewares')
|
||||
const cacheMiddleware = middleware.cache
|
||||
const reqValidator = middleware.reqValidators.videos
|
||||
const Videos = require('../../../models/videos') // model
|
||||
const videos = require('../../../lib/videos')
|
||||
const webtorrent = require('../../../lib/webtorrent')
|
||||
|
||||
var router = express.Router()
|
||||
var uploads = config.get('storage.uploads')
|
||||
const router = express.Router()
|
||||
const uploads = config.get('storage.uploads')
|
||||
|
||||
// multer configuration
|
||||
var storage = multer.diskStorage({
|
||||
const storage = multer.diskStorage({
|
||||
destination: function (req, file, cb) {
|
||||
cb(null, uploads)
|
||||
},
|
||||
|
||||
filename: function (req, file, cb) {
|
||||
var extension = ''
|
||||
let extension = ''
|
||||
if (file.mimetype === 'video/webm') extension = 'webm'
|
||||
else if (file.mimetype === 'video/mp4') extension = 'mp4'
|
||||
else if (file.mimetype === 'video/ogg') extension = 'ogv'
|
||||
crypto.pseudoRandomBytes(16, function (err, raw) {
|
||||
var fieldname = err ? undefined : raw.toString('hex')
|
||||
const fieldname = err ? undefined : raw.toString('hex')
|
||||
cb(null, fieldname + '.' + extension)
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
var reqFiles = multer({ storage: storage }).fields([{ name: 'input_video', maxCount: 1 }])
|
||||
const reqFiles = multer({ storage: storage }).fields([{ name: 'input_video', maxCount: 1 }])
|
||||
|
||||
router.get('/', cacheMiddleware.cache(false), listVideos)
|
||||
router.post('/', reqFiles, reqValidator.videosAdd, cacheMiddleware.cache(false), addVideo)
|
||||
|
@ -50,8 +50,8 @@ module.exports = router
|
|||
// ---------------------------------------------------------------------------
|
||||
|
||||
function addVideo (req, res, next) {
|
||||
var video_file = req.files.input_video[0]
|
||||
var video_infos = req.body
|
||||
const video_file = req.files.input_video[0]
|
||||
const video_infos = req.body
|
||||
|
||||
videos.seed(video_file.path, function (err, torrent) {
|
||||
if (err) {
|
||||
|
@ -59,7 +59,7 @@ function addVideo (req, res, next) {
|
|||
return next(err)
|
||||
}
|
||||
|
||||
var video_data = {
|
||||
const video_data = {
|
||||
name: video_infos.name,
|
||||
namePath: video_file.filename,
|
||||
description: video_infos.description,
|
||||
|
@ -103,7 +103,7 @@ function listVideos (req, res, next) {
|
|||
}
|
||||
|
||||
function removeVideo (req, res, next) {
|
||||
var video_id = req.params.id
|
||||
const video_id = req.params.id
|
||||
Videos.get(video_id, function (err, video) {
|
||||
if (err) return next(err)
|
||||
|
||||
|
@ -111,7 +111,7 @@ function removeVideo (req, res, next) {
|
|||
Videos.removeOwned(req.params.id, function (err) {
|
||||
if (err) return next(err)
|
||||
|
||||
var params = {
|
||||
const params = {
|
||||
name: video.name,
|
||||
magnetUri: video.magnetUri
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
'use strict'
|
||||
|
||||
var constants = require('../initializers/constants')
|
||||
const constants = require('../initializers/constants')
|
||||
|
||||
var apiController = require('./api/' + constants.API_VERSION)
|
||||
const apiController = require('./api/' + constants.API_VERSION)
|
||||
|
||||
module.exports = {
|
||||
api: apiController
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
'use strict'
|
||||
|
||||
var validator = require('validator')
|
||||
const validator = require('validator')
|
||||
|
||||
var customValidators = {
|
||||
const customValidators = {
|
||||
eachIsRemoteVideosAddValid: eachIsRemoteVideosAddValid,
|
||||
eachIsRemoteVideosRemoveValid: eachIsRemoteVideosRemoveValid,
|
||||
isArray: isArray
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
// Thanks http://tostring.it/2014/06/23/advanced-logging-with-nodejs/
|
||||
'use strict'
|
||||
|
||||
var config = require('config')
|
||||
var path = require('path')
|
||||
var winston = require('winston')
|
||||
const config = require('config')
|
||||
const path = require('path')
|
||||
const winston = require('winston')
|
||||
winston.emitErrs = true
|
||||
|
||||
var logDir = path.join(__dirname, '..', '..', config.get('storage.logs'))
|
||||
var logger = new winston.Logger({
|
||||
const logDir = path.join(__dirname, '..', '..', config.get('storage.logs'))
|
||||
const logger = new winston.Logger({
|
||||
transports: [
|
||||
new winston.transports.File({
|
||||
level: 'debug',
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
'use strict'
|
||||
|
||||
var config = require('config')
|
||||
var crypto = require('crypto')
|
||||
var fs = require('fs')
|
||||
var openssl = require('openssl-wrapper')
|
||||
var path = require('path')
|
||||
var ursa = require('ursa')
|
||||
const config = require('config')
|
||||
const crypto = require('crypto')
|
||||
const fs = require('fs')
|
||||
const openssl = require('openssl-wrapper')
|
||||
const path = require('path')
|
||||
const ursa = require('ursa')
|
||||
|
||||
var logger = require('./logger')
|
||||
const logger = require('./logger')
|
||||
|
||||
var certDir = path.join(__dirname, '..', '..', config.get('storage.certs'))
|
||||
var algorithm = 'aes-256-ctr'
|
||||
const certDir = path.join(__dirname, '..', '..', config.get('storage.certs'))
|
||||
const algorithm = 'aes-256-ctr'
|
||||
|
||||
var peertubeCrypto = {
|
||||
const peertubeCrypto = {
|
||||
checkSignature: checkSignature,
|
||||
createCertsIfNotExist: createCertsIfNotExist,
|
||||
decrypt: decrypt,
|
||||
|
@ -22,8 +22,8 @@ var peertubeCrypto = {
|
|||
}
|
||||
|
||||
function checkSignature (public_key, raw_data, hex_signature) {
|
||||
var crt = ursa.createPublicKey(public_key)
|
||||
var is_valid = crt.hashAndVerify('sha256', new Buffer(raw_data).toString('hex'), hex_signature, 'hex')
|
||||
const crt = ursa.createPublicKey(public_key)
|
||||
const is_valid = crt.hashAndVerify('sha256', new Buffer(raw_data).toString('hex'), hex_signature, 'hex')
|
||||
return is_valid
|
||||
}
|
||||
|
||||
|
@ -43,22 +43,22 @@ function decrypt (key, data, callback) {
|
|||
fs.readFile(getCertDir() + 'peertube.key.pem', function (err, file) {
|
||||
if (err) return callback(err)
|
||||
|
||||
var my_private_key = ursa.createPrivateKey(file)
|
||||
var decrypted_key = my_private_key.decrypt(key, 'hex', 'utf8')
|
||||
var decrypted_data = symetricDecrypt(data, decrypted_key)
|
||||
const my_private_key = ursa.createPrivateKey(file)
|
||||
const decrypted_key = my_private_key.decrypt(key, 'hex', 'utf8')
|
||||
const decrypted_data = symetricDecrypt(data, decrypted_key)
|
||||
|
||||
return callback(null, decrypted_data)
|
||||
})
|
||||
}
|
||||
|
||||
function encrypt (public_key, data, callback) {
|
||||
var crt = ursa.createPublicKey(public_key)
|
||||
const crt = ursa.createPublicKey(public_key)
|
||||
|
||||
symetricEncrypt(data, function (err, dataEncrypted) {
|
||||
if (err) return callback(err)
|
||||
|
||||
var key = crt.encrypt(dataEncrypted.password, 'utf8', 'hex')
|
||||
var encrypted = {
|
||||
const key = crt.encrypt(dataEncrypted.password, 'utf8', 'hex')
|
||||
const encrypted = {
|
||||
data: dataEncrypted.crypted,
|
||||
key: key
|
||||
}
|
||||
|
@ -72,8 +72,8 @@ function getCertDir () {
|
|||
}
|
||||
|
||||
function sign (data) {
|
||||
var myKey = ursa.createPrivateKey(fs.readFileSync(certDir + 'peertube.key.pem'))
|
||||
var signature = myKey.hashAndSign('sha256', data, 'utf8', 'hex')
|
||||
const myKey = ursa.createPrivateKey(fs.readFileSync(certDir + 'peertube.key.pem'))
|
||||
const signature = myKey.hashAndSign('sha256', data, 'utf8', 'hex')
|
||||
|
||||
return signature
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ function certsExist (callback) {
|
|||
function createCerts (callback) {
|
||||
certsExist(function (exist) {
|
||||
if (exist === true) {
|
||||
var string = 'Certs already exist.'
|
||||
const string = 'Certs already exist.'
|
||||
logger.warning(string)
|
||||
return callback(new Error(string))
|
||||
}
|
||||
|
@ -129,8 +129,8 @@ function generatePassword (callback) {
|
|||
}
|
||||
|
||||
function symetricDecrypt (text, password) {
|
||||
var decipher = crypto.createDecipher(algorithm, password)
|
||||
var dec = decipher.update(text, 'hex', 'utf8')
|
||||
const decipher = crypto.createDecipher(algorithm, password)
|
||||
let dec = decipher.update(text, 'hex', 'utf8')
|
||||
dec += decipher.final('utf8')
|
||||
return dec
|
||||
}
|
||||
|
@ -139,8 +139,8 @@ function symetricEncrypt (text, callback) {
|
|||
generatePassword(function (err, password) {
|
||||
if (err) return callback(err)
|
||||
|
||||
var cipher = crypto.createCipher(algorithm, password)
|
||||
var crypted = cipher.update(text, 'utf8', 'hex')
|
||||
const cipher = crypto.createCipher(algorithm, password)
|
||||
let crypted = cipher.update(text, 'utf8', 'hex')
|
||||
crypted += cipher.final('hex')
|
||||
callback(null, { crypted: crypted, password: password })
|
||||
})
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var config = require('config')
|
||||
var request = require('request')
|
||||
var replay = require('request-replay')
|
||||
const async = require('async')
|
||||
const config = require('config')
|
||||
const request = require('request')
|
||||
const replay = require('request-replay')
|
||||
|
||||
var constants = require('../initializers/constants')
|
||||
var logger = require('./logger')
|
||||
var peertubeCrypto = require('./peertubeCrypto')
|
||||
const constants = require('../initializers/constants')
|
||||
const logger = require('./logger')
|
||||
const peertubeCrypto = require('./peertubeCrypto')
|
||||
|
||||
var http = config.get('webserver.https') ? 'https' : 'http'
|
||||
var host = config.get('webserver.host')
|
||||
var port = config.get('webserver.port')
|
||||
const http = config.get('webserver.https') ? 'https' : 'http'
|
||||
const host = config.get('webserver.host')
|
||||
const port = config.get('webserver.port')
|
||||
|
||||
var requests = {
|
||||
const requests = {
|
||||
makeMultipleRetryRequest: makeMultipleRetryRequest
|
||||
}
|
||||
|
||||
|
@ -23,8 +23,8 @@ function makeMultipleRetryRequest (all_data, pods, callbackEach, callback) {
|
|||
callbackEach = null
|
||||
}
|
||||
|
||||
var url = http + '://' + host + ':' + port
|
||||
var signature
|
||||
const url = http + '://' + host + ':' + port
|
||||
let signature
|
||||
|
||||
// Add signature if it is specified in the params
|
||||
if (all_data.method === 'POST' && all_data.data && all_data.sign === true) {
|
||||
|
@ -43,7 +43,7 @@ function makeMultipleRetryRequest (all_data, pods, callbackEach, callback) {
|
|||
}
|
||||
}
|
||||
|
||||
var params = {
|
||||
const params = {
|
||||
url: pod.url + all_data.path,
|
||||
method: all_data.method
|
||||
}
|
||||
|
@ -52,19 +52,16 @@ function makeMultipleRetryRequest (all_data, pods, callbackEach, callback) {
|
|||
if (all_data.method === 'POST' && all_data.data) {
|
||||
// Encrypt data ?
|
||||
if (all_data.encrypt === true) {
|
||||
// TODO: ES6 with let
|
||||
;(function (copy_params, copy_url, copy_pod, copy_signature) {
|
||||
peertubeCrypto.encrypt(pod.publicKey, JSON.stringify(all_data.data), function (err, encrypted) {
|
||||
if (err) return callback(err)
|
||||
peertubeCrypto.encrypt(pod.publicKey, JSON.stringify(all_data.data), function (err, encrypted) {
|
||||
if (err) return callback(err)
|
||||
|
||||
copy_params.json = {
|
||||
data: encrypted.data,
|
||||
key: encrypted.key
|
||||
}
|
||||
params.json = {
|
||||
data: encrypted.data,
|
||||
key: encrypted.key
|
||||
}
|
||||
|
||||
makeRetryRequest(copy_params, copy_url, copy_pod, copy_signature, callbackEachRetryRequest)
|
||||
})
|
||||
})(params, url, pod, signature)
|
||||
makeRetryRequest(params, url, pod, signature, callbackEachRetryRequest)
|
||||
})
|
||||
} else {
|
||||
params.json = { data: all_data.data }
|
||||
makeRetryRequest(params, url, pod, signature, callbackEachRetryRequest)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
'use strict'
|
||||
|
||||
var logger = require('./logger')
|
||||
const logger = require('./logger')
|
||||
|
||||
var utils = {
|
||||
const utils = {
|
||||
cleanForExit: cleanForExit
|
||||
}
|
||||
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
'use strict'
|
||||
|
||||
var config = require('config')
|
||||
var mkdirp = require('mkdirp')
|
||||
var path = require('path')
|
||||
const config = require('config')
|
||||
const mkdirp = require('mkdirp')
|
||||
const path = require('path')
|
||||
|
||||
var checker = {
|
||||
const checker = {
|
||||
checkConfig: checkConfig,
|
||||
createDirectoriesIfNotExist: createDirectoriesIfNotExist
|
||||
}
|
||||
|
||||
// Check the config files
|
||||
function checkConfig () {
|
||||
var required = [ 'listen.port',
|
||||
const required = [ 'listen.port',
|
||||
'webserver.https', 'webserver.host', 'webserver.port',
|
||||
'database.host', 'database.port', 'database.suffix',
|
||||
'storage.certs', 'storage.uploads', 'storage.logs',
|
||||
'network.friends' ]
|
||||
var miss = []
|
||||
const miss = []
|
||||
|
||||
for (var key of required) {
|
||||
for (const key of required) {
|
||||
if (!config.has(key)) {
|
||||
miss.push(key)
|
||||
}
|
||||
|
@ -29,10 +29,10 @@ function checkConfig () {
|
|||
|
||||
// Create directories for the storage if it doesn't exist
|
||||
function createDirectoriesIfNotExist () {
|
||||
var storages = config.get('storage')
|
||||
const storages = config.get('storage')
|
||||
|
||||
for (var key of Object.keys(storages)) {
|
||||
var dir = storages[key]
|
||||
for (const key of Object.keys(storages)) {
|
||||
const dir = storages[key]
|
||||
try {
|
||||
mkdirp.sync(path.join(__dirname, '..', '..', dir))
|
||||
} catch (error) {
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
'use strict'
|
||||
|
||||
// API version of our pod
|
||||
var API_VERSION = 'v1'
|
||||
const API_VERSION = 'v1'
|
||||
|
||||
// Score a pod has when we create it as a friend
|
||||
var FRIEND_BASE_SCORE = 100
|
||||
let FRIEND_BASE_SCORE = 100
|
||||
|
||||
// Time to wait between requests to the friends
|
||||
var INTERVAL = 60000
|
||||
let INTERVAL = 60000
|
||||
|
||||
// Number of points we add/remove from a friend after a successful/bad request
|
||||
var PODS_SCORE = {
|
||||
const PODS_SCORE = {
|
||||
MALUS: -10,
|
||||
BONUS: 10
|
||||
}
|
||||
|
||||
// Number of retries we make for the make retry requests (to friends...)
|
||||
var REQUEST_RETRIES = 10
|
||||
let REQUEST_RETRIES = 10
|
||||
|
||||
// Special constants for a test instance
|
||||
if (isTestInstance() === true) {
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
'use strict'
|
||||
|
||||
var config = require('config')
|
||||
var mongoose = require('mongoose')
|
||||
const config = require('config')
|
||||
const mongoose = require('mongoose')
|
||||
|
||||
var logger = require('../helpers/logger')
|
||||
const logger = require('../helpers/logger')
|
||||
|
||||
var dbname = 'peertube' + config.get('database.suffix')
|
||||
var host = config.get('database.host')
|
||||
var port = config.get('database.port')
|
||||
const dbname = 'peertube' + config.get('database.suffix')
|
||||
const host = config.get('database.host')
|
||||
const port = config.get('database.port')
|
||||
|
||||
var database = {
|
||||
const database = {
|
||||
connect: connect
|
||||
}
|
||||
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var config = require('config')
|
||||
var fs = require('fs')
|
||||
var request = require('request')
|
||||
const async = require('async')
|
||||
const config = require('config')
|
||||
const fs = require('fs')
|
||||
const request = require('request')
|
||||
|
||||
var constants = require('../initializers/constants')
|
||||
var logger = require('../helpers/logger')
|
||||
var peertubeCrypto = require('../helpers/peertubeCrypto')
|
||||
var Pods = require('../models/pods')
|
||||
var poolRequests = require('../lib/poolRequests')
|
||||
var requests = require('../helpers/requests')
|
||||
var Videos = require('../models/videos')
|
||||
const constants = require('../initializers/constants')
|
||||
const logger = require('../helpers/logger')
|
||||
const peertubeCrypto = require('../helpers/peertubeCrypto')
|
||||
const Pods = require('../models/pods')
|
||||
const poolRequests = require('../lib/poolRequests')
|
||||
const requests = require('../helpers/requests')
|
||||
const Videos = require('../models/videos')
|
||||
|
||||
var http = config.get('webserver.https') ? 'https' : 'http'
|
||||
var host = config.get('webserver.host')
|
||||
var port = config.get('webserver.port')
|
||||
const http = config.get('webserver.https') ? 'https' : 'http'
|
||||
const host = config.get('webserver.host')
|
||||
const port = config.get('webserver.port')
|
||||
|
||||
var pods = {
|
||||
const pods = {
|
||||
addVideoToFriends: addVideoToFriends,
|
||||
hasFriends: hasFriends,
|
||||
makeFriends: makeFriends,
|
||||
|
@ -27,7 +27,7 @@ var pods = {
|
|||
|
||||
function addVideoToFriends (video) {
|
||||
// To avoid duplicates
|
||||
var id = video.name + video.magnetUri
|
||||
const id = video.name + video.magnetUri
|
||||
// ensure namePath is null
|
||||
video.namePath = null
|
||||
poolRequests.addRequest(id, 'add', video)
|
||||
|
@ -37,13 +37,13 @@ function hasFriends (callback) {
|
|||
Pods.count(function (err, count) {
|
||||
if (err) return callback(err)
|
||||
|
||||
var has_friends = (count !== 0)
|
||||
const has_friends = (count !== 0)
|
||||
callback(null, has_friends)
|
||||
})
|
||||
}
|
||||
|
||||
function makeFriends (callback) {
|
||||
var pods_score = {}
|
||||
const pods_score = {}
|
||||
|
||||
logger.info('Make friends!')
|
||||
fs.readFile(peertubeCrypto.getCertDir() + 'peertube.pub', 'utf8', function (err, cert) {
|
||||
|
@ -52,7 +52,7 @@ function makeFriends (callback) {
|
|||
return callback(err)
|
||||
}
|
||||
|
||||
var urls = config.get('network.friends')
|
||||
const urls = config.get('network.friends')
|
||||
|
||||
async.each(urls, function (url, callback) {
|
||||
computeForeignPodsList(url, pods_score, callback)
|
||||
|
@ -60,8 +60,8 @@ function makeFriends (callback) {
|
|||
if (err) return callback(err)
|
||||
|
||||
logger.debug('Pods scores computed.', { pods_score: pods_score })
|
||||
var pods_list = computeWinningPods(urls, pods_score)
|
||||
logger.debug('Pods that we keep computed.', { pods_to_keep: pods_list })
|
||||
const pods_list = computeWinningPods(urls, pods_score)
|
||||
logger.debug('Pods that we keep.', { pods_to_keep: pods_list })
|
||||
|
||||
makeRequestsToWinningPods(cert, pods_list, callback)
|
||||
})
|
||||
|
@ -77,7 +77,7 @@ function quitFriends (callback) {
|
|||
Pods.list(function (err, pods) {
|
||||
if (err) return callback(err)
|
||||
|
||||
var request = {
|
||||
const request = {
|
||||
method: 'POST',
|
||||
path: '/api/' + constants.API_VERSION + '/pods/remove',
|
||||
sign: true,
|
||||
|
@ -109,7 +109,7 @@ function quitFriends (callback) {
|
|||
|
||||
function removeVideoToFriends (video) {
|
||||
// To avoid duplicates
|
||||
var id = video.name + video.magnetUri
|
||||
const id = video.name + video.magnetUri
|
||||
poolRequests.addRequest(id, 'remove', video)
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ function computeForeignPodsList (url, pods_score, callback) {
|
|||
if (foreign_pods_list.length === 0) return callback()
|
||||
|
||||
async.each(foreign_pods_list, function (foreign_pod, callback_each) {
|
||||
var foreign_url = foreign_pod.url
|
||||
const foreign_url = foreign_pod.url
|
||||
|
||||
if (pods_score[foreign_url]) pods_score[foreign_url]++
|
||||
else pods_score[foreign_url] = 1
|
||||
|
@ -143,8 +143,8 @@ function computeForeignPodsList (url, pods_score, callback) {
|
|||
function computeWinningPods (urls, pods_score) {
|
||||
// Build the list of pods to add
|
||||
// Only add a pod if it exists in more than a half base pods
|
||||
var pods_list = []
|
||||
var base_score = urls.length / 2
|
||||
const pods_list = []
|
||||
const base_score = urls.length / 2
|
||||
Object.keys(pods_score).forEach(function (pod) {
|
||||
if (pods_score[pod] > base_score) pods_list.push({ url: pod })
|
||||
})
|
||||
|
@ -153,7 +153,7 @@ function computeWinningPods (urls, pods_score) {
|
|||
}
|
||||
|
||||
function getForeignPodsList (url, callback) {
|
||||
var path = '/api/' + constants.API_VERSION + '/pods'
|
||||
const path = '/api/' + constants.API_VERSION + '/pods'
|
||||
|
||||
request.get(url + path, function (err, response, body) {
|
||||
if (err) return callback(err)
|
||||
|
@ -175,7 +175,7 @@ function makeRequestsToWinningPods (cert, pods_list, callback) {
|
|||
return callback(err)
|
||||
}
|
||||
|
||||
var data = {
|
||||
const data = {
|
||||
url: http + '://' + host + ':' + port,
|
||||
publicKey: cert,
|
||||
videos: videos_list
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var pluck = require('lodash-node/compat/collection/pluck')
|
||||
const async = require('async')
|
||||
const pluck = require('lodash-node/compat/collection/pluck')
|
||||
|
||||
var constants = require('../initializers/constants')
|
||||
var logger = require('../helpers/logger')
|
||||
var Pods = require('../models/pods')
|
||||
var PoolRequests = require('../models/poolRequests')
|
||||
var requests = require('../helpers/requests')
|
||||
var Videos = require('../models/videos')
|
||||
const constants = require('../initializers/constants')
|
||||
const logger = require('../helpers/logger')
|
||||
const Pods = require('../models/pods')
|
||||
const PoolRequests = require('../models/poolRequests')
|
||||
const requests = require('../helpers/requests')
|
||||
const Videos = require('../models/videos')
|
||||
|
||||
var timer = null
|
||||
let timer = null
|
||||
|
||||
var poolRequests = {
|
||||
const poolRequests = {
|
||||
activate: activate,
|
||||
addRequest: addRequest,
|
||||
deactivate: deactivate,
|
||||
|
@ -77,7 +77,7 @@ function makePoolRequest (type, requests_to_make, callback) {
|
|||
Pods.list(function (err, pods) {
|
||||
if (err) return callback(err)
|
||||
|
||||
var params = {
|
||||
const params = {
|
||||
encrypt: true,
|
||||
sign: true,
|
||||
method: 'POST',
|
||||
|
@ -93,8 +93,8 @@ function makePoolRequest (type, requests_to_make, callback) {
|
|||
return callback(new Error('Unkown pool request type.'))
|
||||
}
|
||||
|
||||
var bad_pods = []
|
||||
var good_pods = []
|
||||
const bad_pods = []
|
||||
const good_pods = []
|
||||
|
||||
requests.makeMultipleRetryRequest(params, pods, callbackEachPodFinished, callbackAllPodsFinished)
|
||||
|
||||
|
@ -129,7 +129,7 @@ function makePoolRequests () {
|
|||
|
||||
if (pool_requests.length === 0) return
|
||||
|
||||
var requests_to_make = {
|
||||
const requests_to_make = {
|
||||
add: {
|
||||
ids: [],
|
||||
requests: []
|
||||
|
@ -184,14 +184,14 @@ function removeBadPods () {
|
|||
|
||||
if (pods.length === 0) return
|
||||
|
||||
var urls = pluck(pods, 'url')
|
||||
var ids = pluck(pods, '_id')
|
||||
const urls = pluck(pods, 'url')
|
||||
const ids = pluck(pods, '_id')
|
||||
|
||||
Videos.removeAllRemotesOf(urls, function (err, r) {
|
||||
if (err) {
|
||||
logger.error('Cannot remove videos from a pod that we removing.', { error: err })
|
||||
} else {
|
||||
var videos_removed = r.result.n
|
||||
const videos_removed = r.result.n
|
||||
logger.info('Removed %d videos.', videos_removed)
|
||||
}
|
||||
|
||||
|
@ -199,7 +199,7 @@ function removeBadPods () {
|
|||
if (err) {
|
||||
logger.error('Cannot remove bad pods.', { error: err })
|
||||
} else {
|
||||
var pods_removed = r.result.n
|
||||
const pods_removed = r.result.n
|
||||
logger.info('Removed %d pods.', pods_removed)
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,25 +1,24 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var config = require('config')
|
||||
// TODO
|
||||
var path = require('path')
|
||||
var webtorrent = require('../lib/webtorrent')
|
||||
const async = require('async')
|
||||
const config = require('config')
|
||||
const pathUtils = require('path')
|
||||
const webtorrent = require('../lib/webtorrent')
|
||||
|
||||
var logger = require('../helpers/logger')
|
||||
var Videos = require('../models/videos')
|
||||
const logger = require('../helpers/logger')
|
||||
const Videos = require('../models/videos')
|
||||
|
||||
var uploadDir = path.join(__dirname, '..', '..', config.get('storage.uploads'))
|
||||
const uploadDir = pathUtils.join(__dirname, '..', '..', config.get('storage.uploads'))
|
||||
|
||||
var videos = {
|
||||
const videos = {
|
||||
getVideoState: getVideoState,
|
||||
seed: seed,
|
||||
seedAllExisting: seedAllExisting
|
||||
}
|
||||
|
||||
function getVideoState (video, callback) {
|
||||
var exist = (video !== null)
|
||||
var owned = false
|
||||
const exist = (video !== null)
|
||||
let owned = false
|
||||
if (exist === true) {
|
||||
owned = (video.namePath !== null)
|
||||
}
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
'use strict'
|
||||
|
||||
var config = require('config')
|
||||
var ipc = require('node-ipc')
|
||||
var pathUtils = require('path')
|
||||
var spawn = require('electron-spawn')
|
||||
const config = require('config')
|
||||
const ipc = require('node-ipc')
|
||||
const pathUtils = require('path')
|
||||
const spawn = require('electron-spawn')
|
||||
|
||||
var logger = require('../helpers/logger')
|
||||
const logger = require('../helpers/logger')
|
||||
|
||||
var host = config.get('webserver.host')
|
||||
var port = config.get('webserver.port')
|
||||
var nodeKey = 'webtorrentnode' + port
|
||||
var processKey = 'webtorrentprocess' + port
|
||||
let host = config.get('webserver.host')
|
||||
let port = config.get('webserver.port')
|
||||
let nodeKey = 'webtorrentnode' + port
|
||||
let processKey = 'webtorrentprocess' + port
|
||||
ipc.config.silent = true
|
||||
ipc.config.id = nodeKey
|
||||
|
||||
var webtorrent = {
|
||||
const webtorrent = {
|
||||
add: add,
|
||||
app: null, // Pid of the app
|
||||
create: create,
|
||||
|
@ -42,7 +42,7 @@ function create (options, callback) {
|
|||
if (!webtorrent.silent) logger.info('IPC server ready.')
|
||||
|
||||
// Run a timeout of 30s after which we exit the process
|
||||
var timeout_webtorrent_process = setTimeout(function () {
|
||||
const timeout_webtorrent_process = setTimeout(function () {
|
||||
throw new Error('Timeout : cannot run the webtorrent process. Please ensure you have electron-prebuilt npm package installed with xvfb-run.')
|
||||
}, 30000)
|
||||
|
||||
|
@ -56,7 +56,7 @@ function create (options, callback) {
|
|||
throw new Error('Received exception error from webtorrent process.' + data.exception)
|
||||
})
|
||||
|
||||
var webtorrent_process = spawn(pathUtils.join(__dirname, 'webtorrentProcess.js'), host, port, { detached: true })
|
||||
const webtorrent_process = spawn(pathUtils.join(__dirname, 'webtorrentProcess.js'), host, port, { detached: true })
|
||||
webtorrent_process.stderr.on('data', function (data) {
|
||||
// logger.debug('Webtorrent process stderr: ', data.toString())
|
||||
})
|
||||
|
@ -72,9 +72,9 @@ function create (options, callback) {
|
|||
}
|
||||
|
||||
function seed (path, callback) {
|
||||
var extension = pathUtils.extname(path)
|
||||
var basename = pathUtils.basename(path, extension)
|
||||
var data = {
|
||||
const extension = pathUtils.extname(path)
|
||||
const basename = pathUtils.basename(path, extension)
|
||||
const data = {
|
||||
_id: basename,
|
||||
args: {
|
||||
path: path
|
||||
|
@ -84,12 +84,12 @@ function seed (path, callback) {
|
|||
if (!webtorrent.silent) logger.debug('Node wants to seed %s.', data._id)
|
||||
|
||||
// Finish signal
|
||||
var event_key = nodeKey + '.seedDone.' + data._id
|
||||
const event_key = nodeKey + '.seedDone.' + data._id
|
||||
ipc.server.on(event_key, function listener (received) {
|
||||
if (!webtorrent.silent) logger.debug('Process seeded torrent %s.', received.magnetUri)
|
||||
|
||||
// This is a fake object, we just use the magnetUri in this project
|
||||
var torrent = {
|
||||
const torrent = {
|
||||
magnetURI: received.magnetUri
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ function seed (path, callback) {
|
|||
}
|
||||
|
||||
function add (magnetUri, callback) {
|
||||
var data = {
|
||||
const data = {
|
||||
_id: magnetUri,
|
||||
args: {
|
||||
magnetUri: magnetUri
|
||||
|
@ -111,12 +111,12 @@ function add (magnetUri, callback) {
|
|||
if (!webtorrent.silent) logger.debug('Node wants to add ' + data._id)
|
||||
|
||||
// Finish signal
|
||||
var event_key = nodeKey + '.addDone.' + data._id
|
||||
const event_key = nodeKey + '.addDone.' + data._id
|
||||
ipc.server.on(event_key, function (received) {
|
||||
if (!webtorrent.silent) logger.debug('Process added torrent.')
|
||||
|
||||
// This is a fake object, we just use the magnetUri in this project
|
||||
var torrent = {
|
||||
const torrent = {
|
||||
files: received.files
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ function add (magnetUri, callback) {
|
|||
}
|
||||
|
||||
function remove (magnetUri, callback) {
|
||||
var data = {
|
||||
const data = {
|
||||
_id: magnetUri,
|
||||
args: {
|
||||
magnetUri: magnetUri
|
||||
|
@ -138,11 +138,11 @@ function remove (magnetUri, callback) {
|
|||
if (!webtorrent.silent) logger.debug('Node wants to stop seeding %s.', data._id)
|
||||
|
||||
// Finish signal
|
||||
var event_key = nodeKey + '.removeDone.' + data._id
|
||||
const event_key = nodeKey + '.removeDone.' + data._id
|
||||
ipc.server.on(event_key, function (received) {
|
||||
if (!webtorrent.silent) logger.debug('Process removed torrent %s.', data._id)
|
||||
|
||||
var err = null
|
||||
let err = null
|
||||
if (received.err) err = received.err
|
||||
|
||||
ipc.server.off(event_key)
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
'use strict'
|
||||
|
||||
var WebTorrent = require('webtorrent')
|
||||
var ipc = require('node-ipc')
|
||||
const WebTorrent = require('webtorrent')
|
||||
const ipc = require('node-ipc')
|
||||
|
||||
function webtorrent (args) {
|
||||
if (args.length !== 3) {
|
||||
throw new Error('Wrong arguments number: ' + args.length + '/3')
|
||||
}
|
||||
|
||||
var host = args[1]
|
||||
var port = args[2]
|
||||
var nodeKey = 'webtorrentnode' + port
|
||||
var processKey = 'webtorrentprocess' + port
|
||||
const host = args[1]
|
||||
const port = args[2]
|
||||
const nodeKey = 'webtorrentnode' + port
|
||||
const processKey = 'webtorrentprocess' + port
|
||||
|
||||
ipc.config.silent = true
|
||||
ipc.config.id = processKey
|
||||
|
||||
if (host === 'client' && port === '1') global.WEBTORRENT_ANNOUNCE = []
|
||||
else global.WEBTORRENT_ANNOUNCE = 'ws://' + host + ':' + port + '/tracker/socket'
|
||||
var wt = new WebTorrent({ dht: false })
|
||||
const wt = new WebTorrent({ dht: false })
|
||||
|
||||
function seed (data) {
|
||||
var args = data.args
|
||||
var path = args.path
|
||||
var _id = data._id
|
||||
const args = data.args
|
||||
const path = args.path
|
||||
const _id = data._id
|
||||
|
||||
wt.seed(path, { announceList: '' }, function (torrent) {
|
||||
var to_send = {
|
||||
const to_send = {
|
||||
magnetUri: torrent.magnetURI
|
||||
}
|
||||
|
||||
|
@ -35,12 +35,12 @@ function webtorrent (args) {
|
|||
}
|
||||
|
||||
function add (data) {
|
||||
var args = data.args
|
||||
var magnetUri = args.magnetUri
|
||||
var _id = data._id
|
||||
const args = data.args
|
||||
const magnetUri = args.magnetUri
|
||||
const _id = data._id
|
||||
|
||||
wt.add(magnetUri, function (torrent) {
|
||||
var to_send = {
|
||||
const to_send = {
|
||||
files: []
|
||||
}
|
||||
|
||||
|
@ -53,9 +53,9 @@ function webtorrent (args) {
|
|||
}
|
||||
|
||||
function remove (data) {
|
||||
var args = data.args
|
||||
var magnetUri = args.magnetUri
|
||||
var _id = data._id
|
||||
const args = data.args
|
||||
const magnetUri = args.magnetUri
|
||||
const _id = data._id
|
||||
|
||||
try {
|
||||
wt.remove(magnetUri, callback)
|
||||
|
@ -65,7 +65,7 @@ function webtorrent (args) {
|
|||
}
|
||||
|
||||
function callback () {
|
||||
var to_send = {}
|
||||
const to_send = {}
|
||||
ipc.of[nodeKey].emit(nodeKey + '.removeDone.' + _id, to_send)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
'use strict'
|
||||
|
||||
var cacheMiddleware = {
|
||||
const cacheMiddleware = {
|
||||
cache: cache
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
'use strict'
|
||||
|
||||
var cacheMiddleware = require('./cache')
|
||||
var reqValidatorsMiddleware = require('./reqValidators')
|
||||
var secureMiddleware = require('./secure')
|
||||
const cacheMiddleware = require('./cache')
|
||||
const reqValidatorsMiddleware = require('./reqValidators')
|
||||
const secureMiddleware = require('./secure')
|
||||
|
||||
var middlewares = {
|
||||
const middlewares = {
|
||||
cache: cacheMiddleware,
|
||||
reqValidators: reqValidatorsMiddleware,
|
||||
secure: secureMiddleware
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
'use strict'
|
||||
|
||||
var podsReqValidators = require('./pods')
|
||||
var remoteReqValidators = require('./remote')
|
||||
var videosReqValidators = require('./videos')
|
||||
const podsReqValidators = require('./pods')
|
||||
const remoteReqValidators = require('./remote')
|
||||
const videosReqValidators = require('./videos')
|
||||
|
||||
var reqValidators = {
|
||||
const reqValidators = {
|
||||
pods: podsReqValidators,
|
||||
remote: remoteReqValidators,
|
||||
videos: videosReqValidators
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
'use strict'
|
||||
|
||||
var checkErrors = require('./utils').checkErrors
|
||||
var friends = require('../../lib/friends')
|
||||
var logger = require('../../helpers/logger')
|
||||
const checkErrors = require('./utils').checkErrors
|
||||
const friends = require('../../lib/friends')
|
||||
const logger = require('../../helpers/logger')
|
||||
|
||||
var reqValidatorsPod = {
|
||||
const reqValidatorsPod = {
|
||||
makeFriends: makeFriends,
|
||||
podsAdd: podsAdd
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
'use strict'
|
||||
|
||||
var checkErrors = require('./utils').checkErrors
|
||||
var logger = require('../../helpers/logger')
|
||||
const checkErrors = require('./utils').checkErrors
|
||||
const logger = require('../../helpers/logger')
|
||||
|
||||
var reqValidatorsRemote = {
|
||||
const reqValidatorsRemote = {
|
||||
remoteVideosAdd: remoteVideosAdd,
|
||||
remoteVideosRemove: remoteVideosRemove,
|
||||
secureRequest: secureRequest
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
'use strict'
|
||||
|
||||
var util = require('util')
|
||||
const util = require('util')
|
||||
|
||||
var logger = require('../../helpers/logger')
|
||||
const logger = require('../../helpers/logger')
|
||||
|
||||
var reqValidatorsUtils = {
|
||||
const reqValidatorsUtils = {
|
||||
checkErrors: checkErrors
|
||||
}
|
||||
|
||||
function checkErrors (req, res, next, status_code) {
|
||||
if (status_code === undefined) status_code = 400
|
||||
var errors = req.validationErrors()
|
||||
const errors = req.validationErrors()
|
||||
|
||||
if (errors) {
|
||||
logger.warn('Incorrect request parameters', { path: req.originalUrl, err: errors })
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
'use strict'
|
||||
|
||||
var checkErrors = require('./utils').checkErrors
|
||||
var logger = require('../../helpers/logger')
|
||||
var videos = require('../../lib/videos')
|
||||
var Videos = require('../../models/videos')
|
||||
const checkErrors = require('./utils').checkErrors
|
||||
const logger = require('../../helpers/logger')
|
||||
const videos = require('../../lib/videos')
|
||||
const Videos = require('../../models/videos')
|
||||
|
||||
var reqValidatorsVideos = {
|
||||
const reqValidatorsVideos = {
|
||||
videosAdd: videosAdd,
|
||||
videosGet: videosGet,
|
||||
videosRemove: videosRemove,
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
'use strict'
|
||||
|
||||
var logger = require('../helpers/logger')
|
||||
var peertubeCrypto = require('../helpers/peertubeCrypto')
|
||||
var Pods = require('../models/pods')
|
||||
const logger = require('../helpers/logger')
|
||||
const peertubeCrypto = require('../helpers/peertubeCrypto')
|
||||
const Pods = require('../models/pods')
|
||||
|
||||
var secureMiddleware = {
|
||||
const secureMiddleware = {
|
||||
decryptBody: decryptBody
|
||||
}
|
||||
|
||||
function decryptBody (req, res, next) {
|
||||
var url = req.body.signature.url
|
||||
const url = req.body.signature.url
|
||||
Pods.findByUrl(url, function (err, pod) {
|
||||
if (err) {
|
||||
logger.error('Cannot get signed url in decryptBody.', { error: err })
|
||||
|
@ -23,7 +23,7 @@ function decryptBody (req, res, next) {
|
|||
|
||||
logger.debug('Decrypting body from %s.', url)
|
||||
|
||||
var signature_ok = peertubeCrypto.checkSignature(pod.publicKey, url, req.body.signature.signature)
|
||||
const signature_ok = peertubeCrypto.checkSignature(pod.publicKey, url, req.body.signature.signature)
|
||||
|
||||
if (signature_ok === true) {
|
||||
peertubeCrypto.decrypt(req.body.key, req.body.data, function (err, decrypted) {
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
'use strict'
|
||||
|
||||
var mongoose = require('mongoose')
|
||||
const mongoose = require('mongoose')
|
||||
|
||||
var constants = require('../initializers/constants')
|
||||
var logger = require('../helpers/logger')
|
||||
const constants = require('../initializers/constants')
|
||||
const logger = require('../helpers/logger')
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
var podsSchema = mongoose.Schema({
|
||||
const podsSchema = mongoose.Schema({
|
||||
url: String,
|
||||
publicKey: String,
|
||||
score: { type: Number, max: constants.FRIEND_BASE_SCORE }
|
||||
})
|
||||
var PodsDB = mongoose.model('pods', podsSchema)
|
||||
const PodsDB = mongoose.model('pods', podsSchema)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
var Pods = {
|
||||
const Pods = {
|
||||
add: add,
|
||||
count: count,
|
||||
findByUrl: findByUrl,
|
||||
|
@ -31,7 +31,7 @@ var Pods = {
|
|||
// TODO: check if the pod is not already a friend
|
||||
function add (data, callback) {
|
||||
if (!callback) callback = function () {}
|
||||
var params = {
|
||||
const params = {
|
||||
url: data.url,
|
||||
publicKey: data.publicKey,
|
||||
score: constants.FRIEND_BASE_SCORE
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
'use strict'
|
||||
|
||||
var mongoose = require('mongoose')
|
||||
const mongoose = require('mongoose')
|
||||
|
||||
var logger = require('../helpers/logger')
|
||||
const logger = require('../helpers/logger')
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
var poolRequestsSchema = mongoose.Schema({
|
||||
const poolRequestsSchema = mongoose.Schema({
|
||||
type: String,
|
||||
id: String, // Special id to find duplicates (video created we want to remove...)
|
||||
request: mongoose.Schema.Types.Mixed
|
||||
})
|
||||
var PoolRequestsDB = mongoose.model('poolRequests', poolRequestsSchema)
|
||||
const PoolRequestsDB = mongoose.model('poolRequests', poolRequestsSchema)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
var PoolRequests = {
|
||||
const PoolRequests = {
|
||||
create: create,
|
||||
findById: findById,
|
||||
list: list,
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var config = require('config')
|
||||
var dz = require('dezalgo')
|
||||
var fs = require('fs')
|
||||
var mongoose = require('mongoose')
|
||||
var path = require('path')
|
||||
const async = require('async')
|
||||
const config = require('config')
|
||||
const dz = require('dezalgo')
|
||||
const fs = require('fs')
|
||||
const mongoose = require('mongoose')
|
||||
const path = require('path')
|
||||
|
||||
var logger = require('../helpers/logger')
|
||||
const logger = require('../helpers/logger')
|
||||
|
||||
var http = config.get('webserver.https') === true ? 'https' : 'http'
|
||||
var host = config.get('webserver.host')
|
||||
var port = config.get('webserver.port')
|
||||
var uploadDir = path.join(__dirname, '..', '..', config.get('storage.uploads'))
|
||||
const http = config.get('webserver.https') === true ? 'https' : 'http'
|
||||
const host = config.get('webserver.host')
|
||||
const port = config.get('webserver.port')
|
||||
const uploadDir = path.join(__dirname, '..', '..', config.get('storage.uploads'))
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
var videosSchema = mongoose.Schema({
|
||||
const videosSchema = mongoose.Schema({
|
||||
name: String,
|
||||
namePath: String,
|
||||
description: String,
|
||||
magnetUri: String,
|
||||
podUrl: String
|
||||
})
|
||||
var VideosDB = mongoose.model('videos', videosSchema)
|
||||
const VideosDB = mongoose.model('videos', videosSchema)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
var Videos = {
|
||||
const Videos = {
|
||||
add: add,
|
||||
addRemotes: addRemotes,
|
||||
get: get,
|
||||
|
@ -43,7 +43,7 @@ var Videos = {
|
|||
function add (video, callback) {
|
||||
logger.info('Adding %s video to database.', video.name)
|
||||
|
||||
var params = video
|
||||
const params = video
|
||||
params.podUrl = http + '://' + host + ':' + port
|
||||
|
||||
VideosDB.create(params, function (err, video) {
|
||||
|
@ -60,13 +60,13 @@ function add (video, callback) {
|
|||
function addRemotes (videos, callback) {
|
||||
if (!callback) callback = function () {}
|
||||
|
||||
var to_add = []
|
||||
const to_add = []
|
||||
|
||||
async.each(videos, function (video, callback_each) {
|
||||
callback_each = dz(callback_each)
|
||||
logger.debug('Add remote video from pod: %s', video.podUrl)
|
||||
|
||||
var params = {
|
||||
const params = {
|
||||
name: video.name,
|
||||
namePath: null,
|
||||
description: video.description,
|
||||
|
@ -159,7 +159,7 @@ function removeRemotesOfByMagnetUris (fromUrl, magnetUris, callback) {
|
|||
return callback(err)
|
||||
}
|
||||
|
||||
var to_remove = []
|
||||
const to_remove = []
|
||||
async.each(videos, function (video, callback_async) {
|
||||
callback_async = dz(callback_async)
|
||||
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var chai = require('chai')
|
||||
var expect = chai.expect
|
||||
var pathUtils = require('path')
|
||||
var request = require('supertest')
|
||||
const async = require('async')
|
||||
const chai = require('chai')
|
||||
const expect = chai.expect
|
||||
const pathUtils = require('path')
|
||||
const request = require('supertest')
|
||||
|
||||
var utils = require('./utils')
|
||||
const utils = require('./utils')
|
||||
|
||||
describe('Test parameters validator', function () {
|
||||
var app = null
|
||||
var url = ''
|
||||
let app = null
|
||||
let url = ''
|
||||
|
||||
function makePostRequest (path, fields, attach, done, fail) {
|
||||
var status_code = 400
|
||||
let status_code = 400
|
||||
if (fail !== undefined && fail === false) status_code = 200
|
||||
|
||||
var req = request(url)
|
||||
const req = request(url)
|
||||
.post(path)
|
||||
.set('Accept', 'application/json')
|
||||
|
||||
Object.keys(fields).forEach(function (field) {
|
||||
var value = fields[field]
|
||||
const value = fields[field]
|
||||
req.field(field, value)
|
||||
})
|
||||
|
||||
|
@ -29,7 +29,7 @@ describe('Test parameters validator', function () {
|
|||
}
|
||||
|
||||
function makePostBodyRequest (path, fields, done, fail) {
|
||||
var status_code = 400
|
||||
let status_code = 400
|
||||
if (fail !== undefined && fail === false) status_code = 200
|
||||
|
||||
request(url)
|
||||
|
@ -59,16 +59,16 @@ describe('Test parameters validator', function () {
|
|||
})
|
||||
|
||||
describe('Of the pods API', function () {
|
||||
var path = '/api/v1/pods/'
|
||||
const path = '/api/v1/pods/'
|
||||
|
||||
describe('When adding a pod', function () {
|
||||
it('Should fail with nothing', function (done) {
|
||||
var data = {}
|
||||
const data = {}
|
||||
makePostBodyRequest(path, data, done)
|
||||
})
|
||||
|
||||
it('Should fail without public key', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
data: {
|
||||
url: 'http://coucou.com'
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ describe('Test parameters validator', function () {
|
|||
})
|
||||
|
||||
it('Should fail without an url', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
data: {
|
||||
publicKey: 'mysuperpublickey'
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ describe('Test parameters validator', function () {
|
|||
})
|
||||
|
||||
it('Should fail with an incorrect url', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
data: {
|
||||
url: 'coucou.com',
|
||||
publicKey: 'mysuperpublickey'
|
||||
|
@ -102,7 +102,7 @@ describe('Test parameters validator', function () {
|
|||
})
|
||||
|
||||
it('Should succeed with the correct parameters', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
data: {
|
||||
url: 'http://coucou.com',
|
||||
publicKey: 'mysuperpublickey'
|
||||
|
@ -114,7 +114,7 @@ describe('Test parameters validator', function () {
|
|||
})
|
||||
|
||||
describe('Of the videos API', function () {
|
||||
var path = '/api/v1/videos/'
|
||||
const path = '/api/v1/videos/'
|
||||
|
||||
describe('When searching a video', function () {
|
||||
it('Should fail with nothing', function (done) {
|
||||
|
@ -127,81 +127,81 @@ describe('Test parameters validator', function () {
|
|||
|
||||
describe('When adding a video', function () {
|
||||
it('Should fail with nothing', function (done) {
|
||||
var data = {}
|
||||
var attach = {}
|
||||
const data = {}
|
||||
const attach = {}
|
||||
makePostRequest(path, data, attach, done)
|
||||
})
|
||||
|
||||
it('Should fail without name', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
description: 'my super description'
|
||||
}
|
||||
var attach = {
|
||||
const attach = {
|
||||
'input_video': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
|
||||
}
|
||||
makePostRequest(path, data, attach, done)
|
||||
})
|
||||
|
||||
it('Should fail with a long name', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
name: 'My very very very very very very very very very very very very very very very very long name',
|
||||
description: 'my super description'
|
||||
}
|
||||
var attach = {
|
||||
const attach = {
|
||||
'input_video': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
|
||||
}
|
||||
makePostRequest(path, data, attach, done)
|
||||
})
|
||||
|
||||
it('Should fail without description', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
name: 'my super name'
|
||||
}
|
||||
var attach = {
|
||||
const attach = {
|
||||
'input_video': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
|
||||
}
|
||||
makePostRequest(path, data, attach, done)
|
||||
})
|
||||
|
||||
it('Should fail with a long description', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
name: 'my super name',
|
||||
description: 'my super description which is very very very very very very very very very very very very very very' +
|
||||
'very very very very very very very very very very very very very very very very very very very very very' +
|
||||
'very very very very very very very very very very very very very very very long'
|
||||
}
|
||||
var attach = {
|
||||
const attach = {
|
||||
'input_video': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
|
||||
}
|
||||
makePostRequest(path, data, attach, done)
|
||||
})
|
||||
|
||||
it('Should fail without an input file', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
name: 'my super name',
|
||||
description: 'my super description'
|
||||
}
|
||||
var attach = {}
|
||||
const attach = {}
|
||||
makePostRequest(path, data, attach, done)
|
||||
})
|
||||
|
||||
it('Should fail without an incorrect input file', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
name: 'my super name',
|
||||
description: 'my super description'
|
||||
}
|
||||
var attach = {
|
||||
const attach = {
|
||||
'input_video': pathUtils.join(__dirname, '..', 'fixtures', 'video_short_fake.webm')
|
||||
}
|
||||
makePostRequest(path, data, attach, done)
|
||||
})
|
||||
|
||||
it('Should succeed with the correct parameters', function (done) {
|
||||
var data = {
|
||||
const data = {
|
||||
name: 'my super name',
|
||||
description: 'my super description'
|
||||
}
|
||||
var attach = {
|
||||
const attach = {
|
||||
'input_video': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
|
||||
}
|
||||
makePostRequest(path, data, attach, function () {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var chai = require('chai')
|
||||
var expect = chai.expect
|
||||
const async = require('async')
|
||||
const chai = require('chai')
|
||||
const expect = chai.expect
|
||||
|
||||
var utils = require('./utils')
|
||||
const utils = require('./utils')
|
||||
|
||||
describe('Test advanced friends', function () {
|
||||
var apps = []
|
||||
var urls = []
|
||||
let apps = []
|
||||
let urls = []
|
||||
|
||||
function makeFriends (pod_number, callback) {
|
||||
return utils.makeFriends(urls[pod_number - 1], callback)
|
||||
|
@ -23,9 +23,9 @@ describe('Test advanced friends', function () {
|
|||
}
|
||||
|
||||
function uploadVideo (pod_number, callback) {
|
||||
var name = 'my super video'
|
||||
var description = 'my super description'
|
||||
var fixture = 'video_short.webm'
|
||||
const name = 'my super video'
|
||||
const description = 'my super description'
|
||||
const fixture = 'video_short.webm'
|
||||
|
||||
return utils.uploadVideo(urls[pod_number - 1], name, description, fixture, callback)
|
||||
}
|
||||
|
@ -171,9 +171,9 @@ describe('Test advanced friends', function () {
|
|||
if (err) throw err
|
||||
|
||||
// Pod 4 should not be our friend
|
||||
var result = res.body
|
||||
const result = res.body
|
||||
expect(result.length).to.equal(3)
|
||||
for (var pod of result) {
|
||||
for (const pod of result) {
|
||||
expect(pod.url).not.equal(urls[3])
|
||||
}
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var chai = require('chai')
|
||||
var expect = chai.expect
|
||||
var request = require('supertest')
|
||||
const async = require('async')
|
||||
const chai = require('chai')
|
||||
const expect = chai.expect
|
||||
const request = require('supertest')
|
||||
|
||||
var utils = require('./utils')
|
||||
const utils = require('./utils')
|
||||
|
||||
describe('Test basic friends', function () {
|
||||
var apps = []
|
||||
var urls = []
|
||||
let apps = []
|
||||
let urls = []
|
||||
|
||||
function testMadeFriends (urls, url_to_test, callback) {
|
||||
var friends = []
|
||||
for (var i = 0; i < urls.length; i++) {
|
||||
const friends = []
|
||||
for (let i = 0; i < urls.length; i++) {
|
||||
if (urls[i] === url_to_test) continue
|
||||
friends.push(urls[i])
|
||||
}
|
||||
|
@ -21,13 +21,13 @@ describe('Test basic friends', function () {
|
|||
utils.getFriendsList(url_to_test, function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var result = res.body
|
||||
var result_urls = [ result[0].url, result[1].url ]
|
||||
const result = res.body
|
||||
const result_urls = [ result[0].url, result[1].url ]
|
||||
expect(result).to.be.an('array')
|
||||
expect(result.length).to.equal(2)
|
||||
expect(result_urls[0]).to.not.equal(result_urls[1])
|
||||
|
||||
var error_string = 'Friends url do not correspond for ' + url_to_test
|
||||
const error_string = 'Friends url do not correspond for ' + url_to_test
|
||||
expect(friends).to.contain(result_urls[0], error_string)
|
||||
expect(friends).to.contain(result_urls[1], error_string)
|
||||
callback()
|
||||
|
@ -50,7 +50,7 @@ describe('Test basic friends', function () {
|
|||
utils.getFriendsList(url, function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var result = res.body
|
||||
const result = res.body
|
||||
expect(result).to.be.an('array')
|
||||
expect(result.length).to.equal(0)
|
||||
callback()
|
||||
|
@ -61,7 +61,7 @@ describe('Test basic friends', function () {
|
|||
it('Should make friends', function (done) {
|
||||
this.timeout(10000)
|
||||
|
||||
var path = '/api/v1/pods/makefriends'
|
||||
const path = '/api/v1/pods/makefriends'
|
||||
|
||||
async.series([
|
||||
// The second pod make friend with the third
|
||||
|
@ -81,7 +81,7 @@ describe('Test basic friends', function () {
|
|||
utils.getFriendsList(urls[1], function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var result = res.body
|
||||
const result = res.body
|
||||
expect(result).to.be.an('array')
|
||||
expect(result.length).to.equal(1)
|
||||
expect(result[0].url).to.be.equal(urls[2])
|
||||
|
@ -94,7 +94,7 @@ describe('Test basic friends', function () {
|
|||
utils.getFriendsList(urls[2], function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var result = res.body
|
||||
const result = res.body
|
||||
expect(result).to.be.an('array')
|
||||
expect(result.length).to.equal(1)
|
||||
expect(result[0].url).to.be.equal(urls[1])
|
||||
|
@ -139,7 +139,7 @@ describe('Test basic friends', function () {
|
|||
utils.getFriendsList(urls[1], function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var result = res.body
|
||||
const result = res.body
|
||||
expect(result).to.be.an('array')
|
||||
expect(result.length).to.equal(0)
|
||||
|
||||
|
@ -152,7 +152,7 @@ describe('Test basic friends', function () {
|
|||
utils.getFriendsList(url, function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var result = res.body
|
||||
const result = res.body
|
||||
expect(result).to.be.an('array')
|
||||
expect(result.length).to.equal(1)
|
||||
expect(result[0].url).not.to.be.equal(urls[1])
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var chai = require('chai')
|
||||
var expect = chai.expect
|
||||
var pathUtils = require('path')
|
||||
const async = require('async')
|
||||
const chai = require('chai')
|
||||
const expect = chai.expect
|
||||
const pathUtils = require('path')
|
||||
|
||||
var utils = require('./utils')
|
||||
var webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent'))
|
||||
const utils = require('./utils')
|
||||
const webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent'))
|
||||
webtorrent.silent = true
|
||||
|
||||
describe('Test multiple pods', function () {
|
||||
var apps = []
|
||||
var urls = []
|
||||
var to_remove = []
|
||||
let apps = []
|
||||
let urls = []
|
||||
const to_remove = []
|
||||
|
||||
before(function (done) {
|
||||
this.timeout(30000)
|
||||
|
@ -73,15 +73,15 @@ describe('Test multiple pods', function () {
|
|||
if (err) throw err
|
||||
|
||||
async.each(urls, function (url, callback) {
|
||||
var base_magnet = null
|
||||
let base_magnet = null
|
||||
|
||||
utils.getVideosList(url, function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var videos = res.body
|
||||
const videos = res.body
|
||||
expect(videos).to.be.an('array')
|
||||
expect(videos.length).to.equal(1)
|
||||
var video = videos[0]
|
||||
const video = videos[0]
|
||||
expect(video.name).to.equal('my super name for pod 1')
|
||||
expect(video.description).to.equal('my super description for pod 1')
|
||||
expect(video.podUrl).to.equal('http://localhost:9001')
|
||||
|
@ -116,15 +116,15 @@ describe('Test multiple pods', function () {
|
|||
if (err) throw err
|
||||
|
||||
async.each(urls, function (url, callback) {
|
||||
var base_magnet = null
|
||||
let base_magnet = null
|
||||
|
||||
utils.getVideosList(url, function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var videos = res.body
|
||||
const videos = res.body
|
||||
expect(videos).to.be.an('array')
|
||||
expect(videos.length).to.equal(2)
|
||||
var video = videos[1]
|
||||
const video = videos[1]
|
||||
expect(video.name).to.equal('my super name for pod 2')
|
||||
expect(video.description).to.equal('my super description for pod 2')
|
||||
expect(video.podUrl).to.equal('http://localhost:9002')
|
||||
|
@ -160,16 +160,16 @@ describe('Test multiple pods', function () {
|
|||
function (err) {
|
||||
if (err) throw err
|
||||
|
||||
var base_magnet = null
|
||||
let base_magnet = null
|
||||
// All pods should have this video
|
||||
async.each(urls, function (url, callback) {
|
||||
utils.getVideosList(url, function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var videos = res.body
|
||||
const videos = res.body
|
||||
expect(videos).to.be.an('array')
|
||||
expect(videos.length).to.equal(4)
|
||||
var video = videos[2]
|
||||
let video = videos[2]
|
||||
expect(video.name).to.equal('my super name for pod 3')
|
||||
expect(video.description).to.equal('my super description for pod 3')
|
||||
expect(video.podUrl).to.equal('http://localhost:9003')
|
||||
|
@ -204,7 +204,7 @@ describe('Test multiple pods', function () {
|
|||
utils.getVideosList(urls[2], function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var video = res.body[0]
|
||||
const video = res.body[0]
|
||||
to_remove.push(res.body[2]._id)
|
||||
to_remove.push(res.body[3]._id)
|
||||
|
||||
|
@ -225,7 +225,7 @@ describe('Test multiple pods', function () {
|
|||
utils.getVideosList(urls[0], function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var video = res.body[1]
|
||||
const video = res.body[1]
|
||||
|
||||
webtorrent.add(video.magnetUri, function (torrent) {
|
||||
expect(torrent.files).to.exist
|
||||
|
@ -244,7 +244,7 @@ describe('Test multiple pods', function () {
|
|||
utils.getVideosList(urls[1], function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var video = res.body[2]
|
||||
const video = res.body[2]
|
||||
|
||||
webtorrent.add(video.magnetUri, function (torrent) {
|
||||
expect(torrent.files).to.exist
|
||||
|
@ -263,7 +263,7 @@ describe('Test multiple pods', function () {
|
|||
utils.getVideosList(urls[0], function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var video = res.body[3]
|
||||
const video = res.body[3]
|
||||
|
||||
webtorrent.add(video.magnetUri, function (torrent) {
|
||||
expect(torrent.files).to.exist
|
||||
|
@ -297,7 +297,7 @@ describe('Test multiple pods', function () {
|
|||
utils.getVideosList(url, function (err, res) {
|
||||
if (err) throw err
|
||||
|
||||
var videos = res.body
|
||||
const videos = res.body
|
||||
expect(videos).to.be.an('array')
|
||||
expect(videos.length).to.equal(2)
|
||||
expect(videos[0]._id).not.to.equal(videos[1]._id)
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
'use strict'
|
||||
|
||||
var async = require('async')
|
||||
var chai = require('chai')
|
||||
var expect = chai.expect
|
||||
var fs = require('fs')
|
||||
var pathUtils = require('path')
|
||||
const async = require('async')
|
||||
const chai = require('chai')
|
||||
const expect = chai.expect
|
||||
const fs = require('fs')
|
||||
const pathUtils = require('path')
|
||||
|
||||
var webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent'))
|
||||
const webtorrent = require(pathUtils.join(__dirname, '../../lib/webtorrent'))
|
||||
webtorrent.silent = true
|
||||
|
||||
var utils = require('./utils')
|
||||
const utils = require('./utils')
|
||||
|
||||
describe('Test a single pod', function () {
|
||||
var app = null
|
||||
var url = ''
|
||||
var video_id = -1
|
||||
let app = null
|
||||
let url = ''
|
||||
let video_id = -1
|
||||
|
||||
before(function (done) {
|
||||
this.timeout(20000)
|
||||
|
@ -62,7 +62,7 @@ describe('Test a single pod', function () {
|
|||
expect(res.body).to.be.an('array')
|
||||
expect(res.body.length).to.equal(1)
|
||||
|
||||
var video = res.body[0]
|
||||
const video = res.body[0]
|
||||
expect(video.name).to.equal('my super name')
|
||||
expect(video.description).to.equal('my super description')
|
||||
expect(video.podUrl).to.equal('http://localhost:9001')
|
||||
|
@ -87,7 +87,7 @@ describe('Test a single pod', function () {
|
|||
expect(res.body).to.be.an('array')
|
||||
expect(res.body.length).to.equal(1)
|
||||
|
||||
var video = res.body[0]
|
||||
const video = res.body[0]
|
||||
expect(video.name).to.equal('my super name')
|
||||
expect(video.description).to.equal('my super description')
|
||||
expect(video.podUrl).to.equal('http://localhost:9001')
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
'use strict'
|
||||
|
||||
var child_process = require('child_process')
|
||||
var exec = child_process.exec
|
||||
var fork = child_process.fork
|
||||
var pathUtils = require('path')
|
||||
var request = require('supertest')
|
||||
const child_process = require('child_process')
|
||||
const exec = child_process.exec
|
||||
const fork = child_process.fork
|
||||
const pathUtils = require('path')
|
||||
const request = require('supertest')
|
||||
|
||||
var testUtils = {
|
||||
const testUtils = {
|
||||
flushTests: flushTests,
|
||||
getFriendsList: getFriendsList,
|
||||
getVideosList: getVideosList,
|
||||
|
@ -26,7 +26,7 @@ function flushTests (callback) {
|
|||
}
|
||||
|
||||
function getFriendsList (url, end) {
|
||||
var path = '/api/v1/pods/'
|
||||
const path = '/api/v1/pods/'
|
||||
|
||||
request(url)
|
||||
.get(path)
|
||||
|
@ -37,7 +37,7 @@ function getFriendsList (url, end) {
|
|||
}
|
||||
|
||||
function getVideosList (url, end) {
|
||||
var path = '/api/v1/videos'
|
||||
const path = '/api/v1/videos'
|
||||
|
||||
request(url)
|
||||
.get(path)
|
||||
|
@ -53,7 +53,7 @@ function makeFriends (url, expected_status, callback) {
|
|||
expected_status = 204
|
||||
}
|
||||
|
||||
var path = '/api/v1/pods/makefriends'
|
||||
const path = '/api/v1/pods/makefriends'
|
||||
|
||||
// The first pod make friend with the third
|
||||
request(url)
|
||||
|
@ -69,7 +69,7 @@ function makeFriends (url, expected_status, callback) {
|
|||
}
|
||||
|
||||
function quitFriends (url, callback) {
|
||||
var path = '/api/v1/pods/quitfriends'
|
||||
const path = '/api/v1/pods/quitfriends'
|
||||
|
||||
// The first pod make friend with the third
|
||||
request(url)
|
||||
|
@ -85,7 +85,7 @@ function quitFriends (url, callback) {
|
|||
}
|
||||
|
||||
function removeVideo (url, id, end) {
|
||||
var path = '/api/v1/videos'
|
||||
const path = '/api/v1/videos'
|
||||
|
||||
request(url)
|
||||
.delete(path + '/' + id)
|
||||
|
@ -95,9 +95,9 @@ function removeVideo (url, id, end) {
|
|||
}
|
||||
|
||||
function flushAndRunMultipleServers (total_servers, serversRun) {
|
||||
var apps = []
|
||||
var urls = []
|
||||
var i = 0
|
||||
let apps = []
|
||||
let urls = []
|
||||
let i = 0
|
||||
|
||||
function anotherServerDone (number, app, url) {
|
||||
apps[number - 1] = app
|
||||
|
@ -109,41 +109,39 @@ function flushAndRunMultipleServers (total_servers, serversRun) {
|
|||
}
|
||||
|
||||
flushTests(function () {
|
||||
for (var j = 1; j <= total_servers; j++) {
|
||||
(function (k) { // TODO: ES6 with let
|
||||
// For the virtual buffer
|
||||
setTimeout(function () {
|
||||
runServer(k, function (app, url) {
|
||||
anotherServerDone(k, app, url)
|
||||
})
|
||||
}, 1000 * k)
|
||||
})(j)
|
||||
for (let j = 1; j <= total_servers; j++) {
|
||||
// For the virtual buffer
|
||||
setTimeout(function () {
|
||||
runServer(j, function (app, url) {
|
||||
anotherServerDone(j, app, url)
|
||||
})
|
||||
}, 1000 * j)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function runServer (number, callback) {
|
||||
var port = 9000 + number
|
||||
var server_run_string = {
|
||||
const port = 9000 + number
|
||||
const server_run_string = {
|
||||
'Connected to mongodb': false,
|
||||
'Server listening on port': false
|
||||
}
|
||||
|
||||
// Share the environment
|
||||
var env = Object.create(process.env)
|
||||
const env = Object.create(process.env)
|
||||
env.NODE_ENV = 'test'
|
||||
env.NODE_APP_INSTANCE = number
|
||||
var options = {
|
||||
const options = {
|
||||
silent: true,
|
||||
env: env,
|
||||
detached: true
|
||||
}
|
||||
|
||||
var app = fork(pathUtils.join(__dirname, '../../../server.js'), [], options)
|
||||
const app = fork(pathUtils.join(__dirname, '../../../server.js'), [], options)
|
||||
app.stdout.on('data', function onStdout (data) {
|
||||
var dont_continue = false
|
||||
let dont_continue = false
|
||||
// Check if all required sentences are here
|
||||
for (var key of Object.keys(server_run_string)) {
|
||||
for (const key of Object.keys(server_run_string)) {
|
||||
if (data.toString().indexOf(key) !== -1) server_run_string[key] = true
|
||||
if (server_run_string[key] === false) dont_continue = true
|
||||
}
|
||||
|
@ -157,7 +155,7 @@ function runServer (number, callback) {
|
|||
}
|
||||
|
||||
function searchVideo (url, search, end) {
|
||||
var path = '/api/v1/videos'
|
||||
const path = '/api/v1/videos'
|
||||
|
||||
request(url)
|
||||
.get(path + '/search/' + search)
|
||||
|
@ -168,7 +166,7 @@ function searchVideo (url, search, end) {
|
|||
}
|
||||
|
||||
function uploadVideo (url, name, description, fixture, end) {
|
||||
var path = '/api/v1/videos'
|
||||
const path = '/api/v1/videos'
|
||||
|
||||
request(url)
|
||||
.post(path)
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
;(function () {
|
||||
'use strict'
|
||||
'use strict'
|
||||
|
||||
// Order of the tests we want to execute
|
||||
require('./api/')
|
||||
})()
|
||||
// Order of the tests we want to execute
|
||||
require('./api/')
|
||||
|
|
Loading…
Reference in a new issue