X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fchecker.ts;h=9eaef16952978424094381a0f8442caf8648d25d;hb=9567011bf01f36c7f796ac1e0f1fb12c71635e53;hp=0ee01b0e3720e1e153c2910fa19efb6ecb520b4e;hpb=e02643f32e4c97ca307f8fc5b69be79c40d70a3b;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/checker.ts b/server/initializers/checker.ts index 0ee01b0e3..9eaef1695 100644 --- a/server/initializers/checker.ts +++ b/server/initializers/checker.ts @@ -1,7 +1,8 @@ -import config = require('config') +import * as config from 'config' -import { database as db } from './database' -import { CONFIG } from './constants' +import { promisify0 } from '../helpers/core-utils' +import { OAuthClientModel } from '../models/oauth/oauth-client-interface' +import { UserModel } from '../models/user/user-interface' // Some checks on configuration files function checkConfig () { @@ -20,10 +21,10 @@ 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 = [] + const miss: string[] = [] for (const key of required) { if (!config.has(key)) { @@ -35,42 +36,38 @@ function checkMissedConfig () { } // Check the available codecs -function checkFFmpeg (callback) { +// 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) - Ffmpeg.getAvailableCodecs(function (err, codecs) { - if (err) return callback(err) - if (CONFIG.TRANSCODING.ENABLED === false) return callback(null) + const codecs = await getAvailableCodecsPromise() + if (CONFIG.TRANSCODING.ENABLED === false) return undefined - const canEncode = [ 'libx264' ] - canEncode.forEach(function (codec) { - if (codecs[codec] === undefined) { - return callback(new Error('Unknown codec ' + codec + ' in FFmpeg.')) - } - - if (codecs[codec].canEncode !== true) { - return callback(new Error('Unavailable encode codec ' + codec + ' in FFmpeg')) - } - }) + const canEncode = [ 'libx264' ] + for (const codec of canEncode) { + if (codecs[codec] === undefined) { + throw new Error('Unknown codec ' + codec + ' in FFmpeg.') + } - return callback(null) - }) + if (codecs[codec].canEncode !== true) { + throw new Error('Unavailable encode codec ' + codec + ' in FFmpeg') + } + } } -function clientsExist (callback) { - db.OAuthClient.countTotal(function (err, totalClients) { - if (err) return callback(err) +// We get db by param to not import it in this file (import orders) +async function clientsExist (OAuthClient: OAuthClientModel) { + const totalClients = await OAuthClient.countTotal() - return callback(null, totalClients !== 0) - }) + return totalClients !== 0 } -function usersExist (callback) { - db.User.countTotal(function (err, totalUsers) { - if (err) return callback(err) +// We get db by param to not import it in this file (import orders) +async function usersExist (User: UserModel) { + const totalUsers = await User.countTotal() - return callback(null, totalUsers !== 0) - }) + return totalUsers !== 0 } // ---------------------------------------------------------------------------