X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fchecker.js;h=2753604dc43bb6eb492a177b666cd20a8a2b982c;hb=67bf9b96bbcd92b069fe86d9223fe0f8b9c6e677;hp=a21e54982fd606b38d33ca806fd69a3a6e2b808f;hpb=f0f5567b6918fc60c8cab15e13aec03a89a91dfb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/checker.js b/server/initializers/checker.js index a21e54982..2753604dc 100644 --- a/server/initializers/checker.js +++ b/server/initializers/checker.js @@ -1,21 +1,35 @@ 'use strict' const config = require('config') -const mkdirp = require('mkdirp') -const path = require('path') + +const db = require('./database') const checker = { - checkConfig: checkConfig, - createDirectoriesIfNotExist: createDirectoriesIfNotExist + checkConfig, + checkMissedConfig, + clientsExist, + usersExist } -// Check the config files +// Some checks on configuration files function checkConfig () { + 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.host', 'webserver.port', - 'database.host', 'database.port', 'database.suffix', - 'storage.certs', 'storage.uploads', 'storage.logs', - 'network.friends' ] + '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' + ] const miss = [] for (const key of required) { @@ -27,18 +41,20 @@ function checkConfig () { return miss } -// Create directories for the storage if it doesn't exist -function createDirectoriesIfNotExist () { - const storages = config.get('storage') +function clientsExist (callback) { + db.OAuthClient.list(function (err, clients) { + if (err) return callback(err) - for (const key of Object.keys(storages)) { - const dir = storages[key] - try { - mkdirp.sync(path.join(__dirname, '..', '..', dir)) - } catch (error) { - throw new Error('Cannot create ' + path + ':' + error) - } - } + return callback(null, clients.length !== 0) + }) +} + +function usersExist (callback) { + db.User.countTotal(function (err, totalUsers) { + if (err) return callback(err) + + return callback(null, totalUsers !== 0) + }) } // ---------------------------------------------------------------------------