]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/initializers/installer.ts
Fix lint
[github/Chocobozzz/PeerTube.git] / server / initializers / installer.ts
index 1ec24c4ade1555aeb1bb7da536906e76656669e3..26e92be0b8d40129f5160acd70c5193e453f37a8 100644 (file)
@@ -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,13 +23,34 @@ 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 storages = CONFIG.STORAGE
+  const cacheDirectories = CACHE.DIRECTORIES
 
   const tasks = []
   Object.keys(storages).forEach(key => {
     const dir = storages[key]
-    tasks.push(mkdirpPromise(join(root(), dir)))
+    tasks.push(mkdirpPromise(dir))
+  })
+
+  // Cache directories
+  Object.keys(cacheDirectories).forEach(key => {
+    const dir = cacheDirectories[key]
+    tasks.push(mkdirpPromise(dir))
   })
 
   return Promise.all(tasks)