]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - initializers/checker.js
Standard v6
[github/Chocobozzz/PeerTube.git] / initializers / checker.js
CommitLineData
8c308c2b
C
1;(function () {
2 'use strict'
3
4 var config = require('config')
5 var mkdirp = require('mkdirp')
b3077e41 6 var path = require('path')
8c308c2b 7
c45f7f84
C
8 var checker = {
9 checkConfig: checkConfig,
10 createDirectoriesIfNotExist: createDirectoriesIfNotExist
11 }
8c308c2b
C
12
13 // Check the config files
c45f7f84 14 function checkConfig () {
8c308c2b
C
15 var required = [ 'listen.port',
16 'webserver.https', 'webserver.host', 'webserver.port',
17 'database.host', 'database.port', 'database.suffix',
18 'storage.certs', 'storage.uploads', 'storage.logs',
19 'network.friends' ]
20 var miss = []
21
22 for (var key of required) {
23 if (!config.has(key)) {
24 miss.push(key)
25 }
26 }
27
28 return miss
29 }
30
31 // Create directories for the storage if it doesn't exist
c45f7f84 32 function createDirectoriesIfNotExist () {
8c308c2b
C
33 var storages = config.get('storage')
34
35 for (var key of Object.keys(storages)) {
b3077e41 36 var dir = storages[key]
8c308c2b 37 try {
b3077e41 38 mkdirp.sync(path.join(__dirname, '..', dir))
8c308c2b
C
39 } catch (error) {
40 // Do not use logger
41 console.error('Cannot create ' + path + ':' + error)
42 process.exit(0)
43 }
44 }
45 }
46
c45f7f84
C
47 // ---------------------------------------------------------------------------
48
8c308c2b
C
49 module.exports = checker
50})()