X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Finstaller.ts;h=e319164e481eb3224a82798c54d1cd7957702098;hb=62689b942b71cd1dd0d050c6ed05f884a0b325c2;hp=58713c2c415da6aa81044d1b9a4f474fd5f40950;hpb=da854ddd502cd70685ef779c673b9e63757b8aa0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/installer.ts b/server/initializers/installer.ts index 58713c2c4..e319164e4 100644 --- a/server/initializers/installer.ts +++ b/server/initializers/installer.ts @@ -1,6 +1,5 @@ import * as passwordGenerator from 'password-generator' import { UserRole } from '../../shared' -import { mkdirpPromise, rimrafPromise } from '../helpers/core-utils' import { logger } from '../helpers/logger' import { createApplicationActor, createUserAccountAndChannel } from '../lib/user' import { UserModel } from '../models/account/user' @@ -9,6 +8,7 @@ import { OAuthClientModel } from '../models/oauth/oauth-client' import { applicationExist, clientsExist, usersExist } from './checker' import { CACHE, CONFIG, LAST_MIGRATION_VERSION } from './constants' import { sequelizeTypescript } from './database' +import { remove, ensureDir } from 'fs-extra' async function installApplication () { try { @@ -19,8 +19,8 @@ async function installApplication () { await createOAuthClientIfNotExist() await createOAuthAdminIfNotExist() } catch (err) { - logger.error('Cannot install application.', err) - throw err + logger.error('Cannot install application.', { err }) + process.exit(-1) } } @@ -33,14 +33,15 @@ export { // --------------------------------------------------------------------------- function removeCacheDirectories () { - const cacheDirectories = CACHE.DIRECTORIES + const cacheDirectories = Object.keys(CACHE) + .map(k => CACHE[k].DIRECTORY) const tasks: Promise[] = [] // Cache directories for (const key of Object.keys(cacheDirectories)) { const dir = cacheDirectories[key] - tasks.push(rimrafPromise(dir)) + tasks.push(remove(dir)) } return Promise.all(tasks) @@ -48,18 +49,19 @@ function removeCacheDirectories () { function createDirectoriesIfNotExist () { const storage = CONFIG.STORAGE - const cacheDirectories = CACHE.DIRECTORIES + const cacheDirectories = Object.keys(CACHE) + .map(k => CACHE[k].DIRECTORY) - const tasks = [] + const tasks: Promise[] = [] for (const key of Object.keys(storage)) { const dir = storage[key] - tasks.push(mkdirpPromise(dir)) + tasks.push(ensureDir(dir)) } // Cache directories for (const key of Object.keys(cacheDirectories)) { const dir = cacheDirectories[key] - tasks.push(mkdirpPromise(dir)) + tasks.push(ensureDir(dir)) } return Promise.all(tasks) @@ -112,7 +114,7 @@ async function createOAuthAdminIfNotExist () { // Our password is weak so do not validate it validatePassword = false } else { - password = passwordGenerator(8, true) + password = passwordGenerator(16, true) } const userData = { @@ -120,6 +122,7 @@ async function createOAuthAdminIfNotExist () { email, password, role, + nsfwPolicy: CONFIG.INSTANCE.DEFAULT_NSFW_POLICY, videoQuota: -1 } const user = new UserModel(userData) @@ -134,8 +137,6 @@ async function createApplicationIfNotExist () { // Nothing to do, application already exist if (exist === true) return undefined - logger.info('Creating Application table.') - logger.info('Creating application account.') const application = await ApplicationModel.create({