]>
Commit | Line | Data |
---|---|---|
8c308c2b C |
1 | ;(function () { |
2 | 'use strict' | |
3 | ||
4 | var config = require('config') | |
5 | var mkdirp = require('mkdirp') | |
6 | ||
c45f7f84 C |
7 | var checker = { |
8 | checkConfig: checkConfig, | |
9 | createDirectoriesIfNotExist: createDirectoriesIfNotExist | |
10 | } | |
8c308c2b C |
11 | |
12 | // Check the config files | |
c45f7f84 | 13 | function checkConfig () { |
8c308c2b C |
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) | |
24 | } | |
25 | } | |
26 | ||
27 | return miss | |
28 | } | |
29 | ||
30 | // Create directories for the storage if it doesn't exist | |
c45f7f84 | 31 | function createDirectoriesIfNotExist () { |
8c308c2b C |
32 | var storages = config.get('storage') |
33 | ||
34 | for (var key of Object.keys(storages)) { | |
35 | var path = storages[key] | |
36 | try { | |
37 | mkdirp.sync(__dirname + '/../' + path) | |
38 | } catch (error) { | |
39 | // Do not use logger | |
40 | console.error('Cannot create ' + path + ':' + error) | |
41 | process.exit(0) | |
42 | } | |
43 | } | |
44 | } | |
45 | ||
c45f7f84 C |
46 | // --------------------------------------------------------------------------- |
47 | ||
8c308c2b C |
48 | module.exports = checker |
49 | })() |