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