X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fchecker.js;h=7adbbb37a2569600328f70343150bfc12029f481;hb=e4c87ec26962e359d1c70b03ed188a3f19d6a25b;hp=44d9ea85b8abac6dbc7fb9ceb4e15fa59108af5a;hpb=3d446a26ada901331faaaf3be9083dfe6773b50a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/checker.js b/server/initializers/checker.js index 44d9ea85b..7adbbb37a 100644 --- a/server/initializers/checker.js +++ b/server/initializers/checker.js @@ -1,24 +1,39 @@ 'use strict' -var config = require('config') -var mkdirp = require('mkdirp') -var path = require('path') +const config = require('config') -var checker = { - checkConfig: checkConfig, - createDirectoriesIfNotExist: createDirectoriesIfNotExist +const db = require('./database') + +const checker = { + checkConfig, + checkMissedConfig, + clientsExist, + usersExist } -// Check the config files +// Some checks on configuration files function checkConfig () { - var required = [ 'listen.port', - 'webserver.https', 'webserver.host', 'webserver.port', - 'database.host', 'database.port', 'database.suffix', - 'storage.certs', 'storage.uploads', 'storage.logs', - 'network.friends' ] - var miss = [] - - for (var key of required) { + if (config.has('webserver.host')) { + let errorMessage = '`host` config key was renamed to `hostname` but it seems you still have a `host` key in your configuration files!' + errorMessage += ' Please ensure to rename your `host` configuration to `hostname`.' + + return errorMessage + } + + return null +} + +// Check the config files +function checkMissedConfig () { + const required = [ 'listen.port', + 'webserver.https', 'webserver.hostname', 'webserver.port', + 'database.hostname', 'database.port', 'database.suffix', 'database.username', 'database.password', + 'storage.certs', 'storage.videos', 'storage.logs', 'storage.thumbnails', 'storage.previews', + 'admin.email' + ] + const miss = [] + + for (const key of required) { if (!config.has(key)) { miss.push(key) } @@ -27,18 +42,20 @@ function checkConfig () { return miss } -// Create directories for the storage if it doesn't exist -function createDirectoriesIfNotExist () { - var storages = config.get('storage') +function clientsExist (callback) { + db.OAuthClient.countTotal(function (err, totalClients) { + if (err) return callback(err) - for (var key of Object.keys(storages)) { - var dir = storages[key] - try { - mkdirp.sync(path.join(__dirname, '..', '..', dir)) - } catch (error) { - throw new Error('Cannot create ' + path + ':' + error) - } - } + return callback(null, totalClients !== 0) + }) +} + +function usersExist (callback) { + db.User.countTotal(function (err, totalUsers) { + if (err) return callback(err) + + return callback(null, totalUsers !== 0) + }) } // ---------------------------------------------------------------------------