aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/initializers/checker.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/initializers/checker.js')
-rw-r--r--server/initializers/checker.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/server/initializers/checker.js b/server/initializers/checker.js
new file mode 100644
index 000000000..ec7bc0ad2
--- /dev/null
+++ b/server/initializers/checker.js
@@ -0,0 +1,46 @@
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)
24 }
25 }
26
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) {
39 throw new Error('Cannot create ' + path + ':' + error)
40 }
41 }
42}
43
44// ---------------------------------------------------------------------------
45
46module.exports = checker