X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Finstaller.ts;h=10b74b85fd50cb8b2334f52716d4e4fc2522b21d;hb=769d332177a5b02d5c2ffc134687d3b4ed65bae9;hp=1ec24c4ade1555aeb1bb7da536906e76656669e3;hpb=6fcd19ba737f1f5614a56c6925adb882dea43b8d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/installer.ts b/server/initializers/installer.ts index 1ec24c4ad..10b74b85f 100644 --- a/server/initializers/installer.ts +++ b/server/initializers/installer.ts @@ -1,15 +1,14 @@ -import { join } from 'path' -import * as config from 'config' import * as passwordGenerator from 'password-generator' import * as Promise from 'bluebird' import { database as db } from './database' -import { USER_ROLES, CONFIG, LAST_MIGRATION_VERSION } from './constants' +import { USER_ROLES, CONFIG, LAST_MIGRATION_VERSION, CACHE } from './constants' import { clientsExist, usersExist } from './checker' -import { logger, createCertsIfNotExist, root, mkdirpPromise } from '../helpers' +import { logger, createCertsIfNotExist, mkdirpPromise, rimrafPromise } from '../helpers' function installApplication () { return db.sequelize.sync() + .then(() => removeCacheDirectories()) .then(() => createDirectoriesIfNotExist()) .then(() => createCertsIfNotExist()) .then(() => createOAuthClientIfNotExist()) @@ -24,20 +23,41 @@ export { // --------------------------------------------------------------------------- +function removeCacheDirectories () { + const cacheDirectories = CACHE.DIRECTORIES + + const tasks = [] + + // Cache directories + Object.keys(cacheDirectories).forEach(key => { + const dir = cacheDirectories[key] + tasks.push(rimrafPromise(dir)) + }) + + return Promise.all(tasks) +} + function createDirectoriesIfNotExist () { - const storages = config.get('storage') + const storage = CONFIG.STORAGE + const cacheDirectories = CACHE.DIRECTORIES const tasks = [] - Object.keys(storages).forEach(key => { - const dir = storages[key] - tasks.push(mkdirpPromise(join(root(), dir))) + Object.keys(storage).forEach(key => { + const dir = storage[key] + tasks.push(mkdirpPromise(dir)) + }) + + // Cache directories + Object.keys(cacheDirectories).forEach(key => { + const dir = cacheDirectories[key] + tasks.push(mkdirpPromise(dir)) }) return Promise.all(tasks) } function createOAuthClientIfNotExist () { - return clientsExist().then(exist => { + return clientsExist(db.OAuthClient).then(exist => { // Nothing to do, clients already exist if (exist === true) return undefined @@ -62,7 +82,7 @@ function createOAuthClientIfNotExist () { } function createOAuthAdminIfNotExist () { - return usersExist().then(exist => { + return usersExist(db.User).then(exist => { // Nothing to do, users already exist if (exist === true) return undefined @@ -92,7 +112,8 @@ function createOAuthAdminIfNotExist () { username, email, password, - role + role, + videoQuota: -1 } return db.User.create(userData, createOptions).then(createdUser => {