]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/helpers/utils.js
Server: create transaction refractoring
[github/Chocobozzz/PeerTube.git] / server / helpers / utils.js
1 'use strict'
2
3 const crypto = require('crypto')
4
5 const logger = require('./logger')
6
7 const utils = {
8 badRequest,
9 cleanForExit,
10 generateRandomString,
11 isTestInstance,
12 getFormatedObjects
13 }
14
15 function badRequest (req, res, next) {
16 res.type('json').status(400).end()
17 }
18
19 function generateRandomString (size, callback) {
20 crypto.pseudoRandomBytes(size, function (err, raw) {
21 if (err) return callback(err)
22
23 callback(null, raw.toString('hex'))
24 })
25 }
26
27 function cleanForExit (webtorrentProcess) {
28 logger.info('Gracefully exiting.')
29 process.kill(-webtorrentProcess.pid)
30 }
31
32 function isTestInstance () {
33 return (process.env.NODE_ENV === 'test')
34 }
35
36 function getFormatedObjects (objects, objectsTotal) {
37 const formatedObjects = []
38
39 objects.forEach(function (object) {
40 formatedObjects.push(object.toFormatedJSON())
41 })
42
43 return {
44 total: objectsTotal,
45 data: formatedObjects
46 }
47 }
48
49 // ---------------------------------------------------------------------------
50
51 module.exports = utils