diff --git a/package.json b/package.json index 886becf41..1111c7a6d 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,8 @@ "clean:client": "scripty", "clean:server:test": "scripty", "watch:client": "SCRIPTY_PARALLEL=true scripty", - "danger:clean:server": "scripty", + "danger:clean:dev": "scripty", + "danger:clean:prod": "scripty", "danger:clean:modules": "scripty", "play": "scripty", "dev": "scripty", @@ -60,6 +61,7 @@ "password-generator": "^2.0.2", "request": "^2.57.0", "request-replay": "^1.0.2", + "rimraf": "^2.5.4", "scripty": "^1.5.0", "ursa": "^0.9.1", "winston": "^2.1.1", diff --git a/scripts/danger/clean/cleaner.js b/scripts/danger/clean/cleaner.js new file mode 100644 index 000000000..a63c478e0 --- /dev/null +++ b/scripts/danger/clean/cleaner.js @@ -0,0 +1,23 @@ +const rimraf = require('rimraf') +const mongoose = require('mongoose') + +const constants = require('../../../server/initializers/constants') + +const mongodbUrl = 'mongodb://' + constants.CONFIG.DATABASE.HOST + ':' + constants.CONFIG.DATABASE.PORT + '/' + constants.CONFIG.DATABASE.DBNAME +mongoose.connect(mongodbUrl, function () { + console.info('Deleting MongoDB %s database.', constants.CONFIG.DATABASE.DBNAME) + mongoose.connection.db.dropDatabase(function () { + mongoose.connection.close() + }) +}) + +const STORAGE = constants.CONFIG.STORAGE +Object.keys(STORAGE).forEach(function (storage) { + const storageDir = STORAGE[storage] + + rimraf(storageDir, function (err) { + if (err) throw err + + console.info('Deleting %s.', storageDir) + }) +}) diff --git a/scripts/danger/clean/dev.sh b/scripts/danger/clean/dev.sh new file mode 100755 index 000000000..5f09565cf --- /dev/null +++ b/scripts/danger/clean/dev.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +read -p "This will remove all directories and Mongo database. Are you sure? " -n 1 -r + +if [[ "$REPLY" =~ ^[Yy]$ ]]; then + NODE_ENV=test node "./scripts/danger/clean/cleaner" +fi diff --git a/scripts/danger/clean/modules.sh b/scripts/danger/clean/modules.sh index 429044b3f..99555a693 100755 --- a/scripts/danger/clean/modules.sh +++ b/scripts/danger/clean/modules.sh @@ -1,6 +1,6 @@ #!/bin/bash -read -p "This will remove all node and typescript modules. Are you sure? " -n 1 -r +read -p "This will remove all node server and client modules. Are you sure? " -n 1 -r if [[ "$REPLY" =~ ^[Yy]$ ]]; then rm -rf node_modules client/node_modules diff --git a/scripts/danger/clean/prod.sh b/scripts/danger/clean/prod.sh new file mode 100755 index 000000000..e6c92671d --- /dev/null +++ b/scripts/danger/clean/prod.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +read -p "This will remove all directories and Mongo database. Are you sure? " -n 1 -r + +if [[ "$REPLY" =~ ^[Yy]$ ]]; then + NODE_ENV=production node "./scripts/danger/clean/cleaner" +fi diff --git a/scripts/danger/clean/server.sh b/scripts/danger/clean/server.sh deleted file mode 100755 index 1a0576112..000000000 --- a/scripts/danger/clean/server.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -read -p "This will remove certs, uploads, database (dev) and logs. Are you sure? " -n 1 -r - -if [[ "$REPLY" =~ ^[Yy]$ ]]; then - rm -rf ./certs ./logs ./uploads - printf "use peertube-dev;\ndb.dropDatabase();" | mongo -fi diff --git a/scripts/help.sh b/scripts/help.sh index a2c8e4df0..6e124c276 100755 --- a/scripts/help.sh +++ b/scripts/help.sh @@ -9,7 +9,8 @@ printf " clean -> Clean the application\n" printf " clean:client -> Clean the client build files (dist directory)\n" printf " clean:server:test -> Clean certificates, logs, uploads and database of the test instances\n" printf " watch:client -> Watch the client files\n" -printf " danger:clean:server -> /!\ Clean certificates, logs, uploads and database\n" +printf " danger:clean:dev -> /!\ Clean certificates, logs, uploads, thumbnails, torrents and database specified in the development environment\n" +printf " danger:clean:prod -> /!\ Clean certificates, logs, uploads, thumbnails, torrents and database specified by the production environment\n" printf " danger:clean:modules -> /!\ Clean node and typescript modules\n" printf " play -> Run 3 fresh nodes so that you can test the communication between them\n" printf " dev -> Watch, run the livereload and run the server so that you can develop the application\n" diff --git a/server/controllers/api/v1/videos.js b/server/controllers/api/v1/videos.js index 70d22f139..d633af76d 100644 --- a/server/controllers/api/v1/videos.js +++ b/server/controllers/api/v1/videos.js @@ -116,9 +116,6 @@ function addVideo (req, res, next) { ], function andFinally (err) { if (err) { - // TODO unseed the video - // TODO remove thumbnail - // TODO delete from DB logger.error('Cannot insert the video.') return next(err) }