]>
Commit | Line | Data |
---|---|---|
9f10b292 C |
1 | 'use strict' |
2 | ||
3 | var config = require('config') | |
4 | var mkdirp = require('mkdirp') | |
5 | var path = require('path') | |
6 | ||
7 | var checker = { | |
8 | checkConfig: checkConfig, | |
9 | createDirectoriesIfNotExist: createDirectoriesIfNotExist | |
10 | } | |
11 | ||
12 | // Check the config files | |
13 | function 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 | |
31 | function createDirectoriesIfNotExist () { | |
32 | var storages = config.get('storage') | |
33 | ||
34 | for (var key of Object.keys(storages)) { | |
35 | var dir = storages[key] | |
36 | try { | |
3d446a26 | 37 | mkdirp.sync(path.join(__dirname, '..', '..', dir)) |
9f10b292 | 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 | 46 | module.exports = checker |