X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=server%2Finitializers%2Fchecker.ts;h=71f3039634075ed7532a802b9d30dc55938b87d7;hb=f55e5a7bf81c2c27db1514273e3366511aabf4ae;hp=eb9e9e280e8bd2bd725322c806dd8fab98b2f763;hpb=77a5501f6413aff2f2a626b929dfda486fa9a3e6;p=oweals%2Fpeertube.git diff --git a/server/initializers/checker.ts b/server/initializers/checker.ts index eb9e9e280..71f303963 100644 --- a/server/initializers/checker.ts +++ b/server/initializers/checker.ts @@ -1,8 +1,8 @@ import * as config from 'config' - import { promisify0 } from '../helpers/core-utils' -import { OAuthClientModel } from '../models/oauth/oauth-client-interface' -import { UserModel } from '../models/user/user-interface' +import { UserModel } from '../models/account/user' +import { ApplicationModel } from '../models/application/application' +import { OAuthClientModel } from '../models/oauth/oauth-client' // Some checks on configuration files function checkConfig () { @@ -18,11 +18,17 @@ function checkConfig () { // Check the config files function checkMissedConfig () { - const required = [ 'listen.port', + const required = [ 'listen.port', 'listen.hostname', 'webserver.https', 'webserver.hostname', 'webserver.port', + 'trust_proxy', 'database.hostname', 'database.port', 'database.suffix', 'database.username', 'database.password', - 'storage.certs', 'storage.videos', 'storage.logs', 'storage.thumbnails', 'storage.previews', 'storage.torrents', 'storage.cache', - 'cache.previews.size', 'admin.email', 'signup.enabled', 'signup.limit', 'transcoding.enabled', 'transcoding.threads', 'user.video_quota' + 'redis.hostname', 'redis.port', 'redis.auth', + 'smtp.hostname', 'smtp.port', 'smtp.username', 'smtp.password', 'smtp.tls', 'smtp.from_address', + 'storage.avatars', 'storage.videos', 'storage.logs', 'storage.previews', 'storage.thumbnails', 'storage.torrents', 'storage.cache', + 'log.level', + 'user.video_quota', + 'cache.previews.size', 'admin.email', 'signup.enabled', 'signup.limit', 'transcoding.enabled', 'transcoding.threads', + 'instance.name', 'instance.short_description', 'instance.description', 'instance.terms', 'instance.default_client_route' ] const miss: string[] = [] @@ -37,39 +43,44 @@ function checkMissedConfig () { // Check the available codecs // We get CONFIG by param to not import it in this file (import orders) -function checkFFmpeg (CONFIG: { TRANSCODING: { ENABLED: boolean } }) { +async function checkFFmpeg (CONFIG: { TRANSCODING: { ENABLED: boolean } }) { const Ffmpeg = require('fluent-ffmpeg') const getAvailableCodecsPromise = promisify0(Ffmpeg.getAvailableCodecs) - getAvailableCodecsPromise() - .then(codecs => { - if (CONFIG.TRANSCODING.ENABLED === false) return undefined - - const canEncode = [ 'libx264' ] - canEncode.forEach(codec => { - if (codecs[codec] === undefined) { - throw new Error('Unknown codec ' + codec + ' in FFmpeg.') - } - - if (codecs[codec].canEncode !== true) { - throw new Error('Unavailable encode codec ' + codec + ' in FFmpeg') - } - }) - }) + const codecs = await getAvailableCodecsPromise() + if (CONFIG.TRANSCODING.ENABLED === false) return undefined + + const canEncode = [ 'libx264' ] + for (const codec of canEncode) { + if (codecs[codec] === undefined) { + throw new Error('Unknown codec ' + codec + ' in FFmpeg.') + } + + if (codecs[codec].canEncode !== true) { + throw new Error('Unavailable encode codec ' + codec + ' in FFmpeg') + } + } +} + +// We get db by param to not import it in this file (import orders) +async function clientsExist () { + const totalClients = await OAuthClientModel.countTotal() + + return totalClients !== 0 } // We get db by param to not import it in this file (import orders) -function clientsExist (OAuthClient: OAuthClientModel) { - return OAuthClient.countTotal().then(totalClients => { - return totalClients !== 0 - }) +async function usersExist () { + const totalUsers = await UserModel.countTotal() + + return totalUsers !== 0 } // We get db by param to not import it in this file (import orders) -function usersExist (User: UserModel) { - return User.countTotal().then(totalUsers => { - return totalUsers !== 0 - }) +async function applicationExist () { + const totalApplication = await ApplicationModel.countTotal() + + return totalApplication !== 0 } // --------------------------------------------------------------------------- @@ -79,5 +90,6 @@ export { checkFFmpeg, checkMissedConfig, clientsExist, - usersExist + usersExist, + applicationExist }