]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/helpers/utils.ts
Type functions
[github/Chocobozzz/PeerTube.git] / server / helpers / utils.ts
CommitLineData
69818c93
C
1import * as express from 'express'
2
65fcc311 3import { pseudoRandomBytes } from 'crypto'
e02643f3 4import { join } from 'path'
8c308c2b 5
65fcc311 6import { logger } from './logger'
cbe2f7c3 7
69818c93 8function badRequest (req: express.Request, res: express.Response, next: express.NextFunction) {
a6fd2b30
C
9 res.type('json').status(400).end()
10}
11
69818c93 12function generateRandomString (size: number, callback: (err: Error, randomString?: string) => void) {
65fcc311 13 pseudoRandomBytes(size, function (err, raw) {
cbe2f7c3
C
14 if (err) return callback(err)
15
16 callback(null, raw.toString('hex'))
17 })
9f10b292 18}
8c308c2b 19
e4c87ec2
C
20function createEmptyCallback () {
21 return function (err) {
22 if (err) logger.error('Error in empty callback.', { error: err })
23 }
24}
25
441b66f8 26function isTestInstance () {
69818c93 27 return process.env.NODE_ENV === 'test'
441b66f8
C
28}
29
69818c93 30function getFormatedObjects (objects: any[], objectsTotal: number) {
55fa55a9
C
31 const formatedObjects = []
32
33 objects.forEach(function (object) {
34 formatedObjects.push(object.toFormatedJSON())
35 })
36
37 return {
38 total: objectsTotal,
39 data: formatedObjects
40 }
41}
42
e02643f3
C
43function root () {
44 // We are in /dist/helpers/utils.js
45 return join(__dirname, '..', '..', '..')
46}
47
9f10b292 48// ---------------------------------------------------------------------------
c45f7f84 49
65fcc311
C
50export {
51 badRequest,
52 createEmptyCallback,
65fcc311
C
53 generateRandomString,
54 isTestInstance,
e02643f3
C
55 getFormatedObjects,
56 root
65fcc311 57}