]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/initializers/constants.js
Server: fix migration at installation
[github/Chocobozzz/PeerTube.git] / server / initializers / constants.js
index cd2e0cfb9f32ac832711ab6c0effdf130cd561a4..10ae48e9521940118b52c5dc28d30299becfa24b 100644 (file)
@@ -1,8 +1,36 @@
 'use strict'
 
+const config = require('config')
+const path = require('path')
+
 // API version of our pod
 const API_VERSION = 'v1'
 
+const BCRYPT_SALT_SIZE = 10
+
+const CONFIG = {
+  DATABASE: {
+    DBNAME: 'peertube' + config.get('database.suffix'),
+    HOST: config.get('database.host'),
+    PORT: config.get('database.port')
+  },
+  ELECTRON: {
+    DEBUG: config.get('electron.debug')
+  },
+  STORAGE: {
+    CERT_DIR: path.join(__dirname, '..', '..', config.get('storage.certs')),
+    LOG_DIR: path.join(__dirname, '..', '..', config.get('storage.logs')),
+    UPLOAD_DIR: path.join(__dirname, '..', '..', config.get('storage.uploads')),
+    THUMBNAILS_DIR: path.join(__dirname, '..', '..', config.get('storage.thumbnails'))
+  },
+  WEBSERVER: {
+    SCHEME: config.get('webserver.https') === true ? 'https' : 'http',
+    HOST: config.get('webserver.host'),
+    PORT: config.get('webserver.port')
+  }
+}
+CONFIG.WEBSERVER.URL = CONFIG.WEBSERVER.SCHEME + '://' + CONFIG.WEBSERVER.HOST + ':' + CONFIG.WEBSERVER.PORT
+
 const CONSTRAINTS_FIELDS = {
   USERS: {
     USERNAME: { min: 3, max: 20 }, // Length
@@ -26,8 +54,20 @@ const FRIEND_SCORE = {
   MAX: 1000
 }
 
+const MONGO_MIGRATION_SCRIPTS = [
+  {
+    script: '0005-create-application',
+    version: 5
+  },
+  {
+    script: '0010-users-password',
+    version: 10
+  }
+]
+const LAST_MONGO_SCHEMA_VERSION = 10
+
 // Time to wait between requests to the friends (10 min)
-let INTERVAL = 600000
+let REQUESTS_INTERVAL = 600000
 
 const OAUTH_LIFETIME = {
   ACCESS_TOKEN: 3600 * 4, // 4 hours
@@ -81,7 +121,7 @@ const USER_ROLES = {
 // Special constants for a test instance
 if (isTestInstance() === true) {
   FRIEND_SCORE.BASE = 20
-  INTERVAL = 10000
+  REQUESTS_INTERVAL = 10000
   CONSTRAINTS_FIELDS.VIDEOS.DURATION.max = 14
 }
 
@@ -89,13 +129,17 @@ if (isTestInstance() === true) {
 
 module.exports = {
   API_VERSION: API_VERSION,
+  BCRYPT_SALT_SIZE: BCRYPT_SALT_SIZE,
+  CONFIG: CONFIG,
   CONSTRAINTS_FIELDS: CONSTRAINTS_FIELDS,
   FRIEND_SCORE: FRIEND_SCORE,
-  INTERVAL: INTERVAL,
+  LAST_MONGO_SCHEMA_VERSION: LAST_MONGO_SCHEMA_VERSION,
+  MONGO_MIGRATION_SCRIPTS: MONGO_MIGRATION_SCRIPTS,
   OAUTH_LIFETIME: OAUTH_LIFETIME,
   PAGINATION_COUNT_DEFAULT: PAGINATION_COUNT_DEFAULT,
   PODS_SCORE: PODS_SCORE,
   REQUESTS_IN_PARALLEL: REQUESTS_IN_PARALLEL,
+  REQUESTS_INTERVAL: REQUESTS_INTERVAL,
   REQUESTS_LIMIT: REQUESTS_LIMIT,
   RETRY_REQUESTS: RETRY_REQUESTS,
   SEARCHABLE_COLUMNS: SEARCHABLE_COLUMNS,