X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fchecker.ts;h=45647ab1d5ecc56154e4c26f7820a6a589855412;hb=d77014491b339b4dcfab95c05507dd5f579a6d7d;hp=e4ca26f9c683d7a1117906bc26667348d16839d3;hpb=075f16caac5236cb04c98ae7b3a989766d764bb3;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/checker.ts b/server/initializers/checker.ts index e4ca26f9c..45647ab1d 100644 --- a/server/initializers/checker.ts +++ b/server/initializers/checker.ts @@ -1,8 +1,8 @@ import * as config from 'config' - -import { database as db } from './database' -import { CONFIG } from './constants' import { promisify0 } from '../helpers/core-utils' +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 () { @@ -21,8 +21,8 @@ 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', 'signup.enabled', 'transcoding.enabled', 'transcoding.threads' + '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' ] const miss: string[] = [] @@ -36,37 +36,45 @@ function checkMissedConfig () { } // Check the available codecs -function checkFFmpeg () { +// We get CONFIG by param to not import it in this file (import orders) +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') + } + } } -function clientsExist () { - return db.OAuthClient.countTotal().then(totalClients => { - return totalClients !== 0 - }) +// 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 } -function usersExist () { - return db.User.countTotal().then(totalUsers => { - return totalUsers !== 0 - }) +// We get db by param to not import it in this file (import orders) +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) +async function applicationExist () { + const totalApplication = await ApplicationModel.countTotal() + + return totalApplication !== 0 } // --------------------------------------------------------------------------- @@ -76,5 +84,6 @@ export { checkFFmpeg, checkMissedConfig, clientsExist, - usersExist + usersExist, + applicationExist }