From 6b226c32782ea7779ced56c1e1090d8b51c5c504 Mon Sep 17 00:00:00 2001
From: Chocobozzz <me@florianbigard.com>
Date: Thu, 13 Jun 2019 13:59:34 +0200
Subject: [PATCH] Fix CLI default boolean values

---
 server/tests/cli/peertube.ts |  1 +
 server/tools/cli.ts          | 13 ++++++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/server/tests/cli/peertube.ts b/server/tests/cli/peertube.ts
index 0a8a98334d..d73e275640 100644
--- a/server/tests/cli/peertube.ts
+++ b/server/tests/cli/peertube.ts
@@ -158,6 +158,7 @@ describe('Test CLI wrapper', function () {
       expect(videoDetails.channel.name).to.equal('user_channel')
       expect(videoDetails.support).to.equal('support')
       expect(videoDetails.nsfw).to.be.true
+      expect(videoDetails.commentsEnabled).to.be.true
     }
   })
 
diff --git a/server/tools/cli.ts b/server/tools/cli.ts
index 4aa3d9ce84..2eec51aa49 100644
--- a/server/tools/cli.ts
+++ b/server/tools/cli.ts
@@ -117,15 +117,22 @@ function buildCommonVideoOptions (command: Command) {
 }
 
 async function buildVideoAttributesFromCommander (url: string, command: Command, defaultAttributes: any) {
-  const booleanAttributes: { [id: string]: boolean } = {}
+  const defaultBooleanAttributes = {
+    nsfw: false,
+    commentsEnabled: true,
+    downloadEnabled: true,
+    waitTranscoding: true
+  }
+
+  const booleanAttributes: { [id in keyof typeof defaultBooleanAttributes]: boolean } | {} = {}
 
-  for (const key of [ 'nsfw', 'commentsEnabled', 'downloadEnabled', 'waitTranscoding' ]) {
+  for (const key of Object.keys(defaultBooleanAttributes)) {
     if (command[ key ] !== undefined) {
       booleanAttributes[key] = command[ key ]
     } else if (defaultAttributes[key] !== undefined) {
       booleanAttributes[key] = defaultAttributes[key]
     } else {
-      booleanAttributes[key] = false
+      booleanAttributes[key] = defaultBooleanAttributes[key]
     }
   }
 
-- 
GitLab