X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fchecker.js;h=dad8525fa72e10492aaf0d40c6d4a43f53e0c481;hb=b65c27aaf7f6ea193d8f3bbf6fe4220f16219e06;hp=ec7bc0ad2ff14d32d1b55bab385f5a704b01436d;hpb=b9a3e09ad5a7673f64556d1dba122ed4c4fac980;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/checker.js b/server/initializers/checker.js index ec7bc0ad2..dad8525fa 100644 --- a/server/initializers/checker.js +++ b/server/initializers/checker.js @@ -1,24 +1,40 @@ 'use strict' -var config = require('config') -var mkdirp = require('mkdirp') -var path = require('path') +const config = require('config') +const mongoose = require('mongoose') -var checker = { - checkConfig: checkConfig, - createDirectoriesIfNotExist: createDirectoriesIfNotExist +const Client = mongoose.model('OAuthClient') +const User = mongoose.model('User') + +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', + 'storage.certs', 'storage.videos', 'storage.logs', 'storage.thumbnails' + ] + const miss = [] + + for (const key of required) { if (!config.has(key)) { miss.push(key) } @@ -27,18 +43,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) { + Client.list(function (err, clients) { + 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, clients.length !== 0) + }) +} + +function usersExist (callback) { + User.countTotal(function (err, totalUsers) { + if (err) return callback(err) + + return callback(null, totalUsers !== 0) + }) } // ---------------------------------------------------------------------------