Better videos redundancy config error handling
authorChocobozzz <me@florianbigard.com>
Tue, 19 Mar 2019 15:33:40 +0000 (16:33 +0100)
committerChocobozzz <me@florianbigard.com>
Tue, 19 Mar 2019 15:33:40 +0000 (16:33 +0100)
server/initializers/checker-after-init.ts
server/initializers/checker-before-init.ts
server/initializers/constants.ts

index 53124f9ec7fd71f5f94a1609f6d83e218d02a9e5..a99dbba3713effd5dfd4be4f7cd5c6389c1229d9 100644 (file)
@@ -61,6 +61,7 @@ function checkConfig () {
 
   // Redundancies
   const redundancyVideos = CONFIG.REDUNDANCY.VIDEOS.STRATEGIES
+  console.log(redundancyVideos)
   if (isArray(redundancyVideos)) {
     const available = [ 'most-views', 'trending', 'recently-added' ]
     for (const r of redundancyVideos) {
@@ -83,6 +84,8 @@ function checkConfig () {
     if (recentlyAddedStrategy && isNaN(recentlyAddedStrategy.minViews)) {
       return 'Min views in recently added strategy is not a number'
     }
+  } else {
+    return 'Videos redundancy should be an array (you must uncomment lines containing - too)'
   }
 
   // Check storage directory locations
index 3e1d2c58965e769c0e6a231fef05ba204560cf0f..ef12b3eea617198b404c6e1036bc29c4dd63db5e 100644 (file)
@@ -1,6 +1,5 @@
 import * as config from 'config'
 import { promisify0 } from '../helpers/core-utils'
-import { isArray } from '../helpers/custom-validators/misc'
 
 // ONLY USE CORE MODULES IN THIS FILE!
 
@@ -42,7 +41,8 @@ function checkMissedConfig () {
   }
 
   const redundancyVideos = config.get<any>('redundancy.videos.strategies')
-  if (isArray(redundancyVideos)) {
+
+  if (Array.isArray(redundancyVideos)) {
     for (const r of redundancyVideos) {
       if (!r.size) miss.push('redundancy.videos.strategies.size')
       if (!r.min_lifetime) miss.push('redundancy.videos.strategies.min_lifetime')
index 7a3ec387415762deba0e8ef2afdb1b115b8ec456..54cd57619a2d03fd2b67a0c868cf0771ec405cf1 100644 (file)
@@ -881,6 +881,8 @@ function buildVideosExtname () {
 function buildVideosRedundancy (objs: any[]): VideosRedundancy[] {
   if (!objs) return []
 
+  if (!Array.isArray(objs)) return objs
+
   return objs.map(obj => {
     return Object.assign({}, obj, {
       minLifetime: parseDuration(obj.min_lifetime),