]>
Commit | Line | Data |
---|---|---|
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 | })() |