]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/helpers/utils.ts
Update webpack stack
[github/Chocobozzz/PeerTube.git] / server / helpers / utils.ts
1 import * as express from 'express'
2
3 import { pseudoRandomBytes } from 'crypto'
4 import { join } from 'path'
5
6 import { logger } from './logger'
7
8 function badRequest (req: express.Request, res: express.Response, next: express.NextFunction) {
9 res.type('json').status(400).end()
10 }
11
12 function generateRandomString (size: number, callback: (err: Error, randomString?: string) => void) {
13 pseudoRandomBytes(size, function (err, raw) {
14 if (err) return callback(err)
15
16 callback(null, raw.toString('hex'))
17 })
18 }
19
20 function createEmptyCallback () {
21 return function (err) {
22 if (err) logger.error('Error in empty callback.', { error: err })
23 }
24 }
25
26 function getFormatedObjects (objects: any[], objectsTotal: number) {
27 const formatedObjects = []
28
29 objects.forEach(function (object) {
30 formatedObjects.push(object.toFormatedJSON())
31 })
32
33 return {
34 total: objectsTotal,
35 data: formatedObjects
36 }
37 }
38
39 // ---------------------------------------------------------------------------
40
41 export {
42 badRequest,
43 createEmptyCallback,
44 generateRandomString,
45 getFormatedObjects
46 }