config.set('server', server);
}
-function put(filePath, otherFilePaths) {
+function put(filePath, otherFilePaths, options) {
checkConfig();
var files = collectFiles([ filePath ].concat(otherFilePaths));
async.eachSeries(files, function (file, callback) {
var relativeFilePath = path.resolve(file).slice(process.cwd().length + 1);
- console.log('Uploading file %s', relativeFilePath.cyan);
+ console.log('Uploading file %s -> %s', relativeFilePath.cyan, ((options.destination ? options.destination : '') + '/' + relativeFilePath).cyan);
superagent.put(config.server() + API + relativeFilePath).attach('file', file).end(callback);
}, function (error) {
var relativeFilePath = path.resolve(filePath).slice(process.cwd().length + 1);
superagent.del(config.server() + API + relativeFilePath).end(function (error, result) {
+ if (error.status === 404) return console.log('No such file or directory');
if (error) return console.log('Failed', result ? result.body : error);
console.log('Success', result.body);
});
.action(actions.login);
program.command('put <file> [files...]')
+ .option('-d --destination <folder>', 'Destination folder. This is prepended to the relative <file> path')
.description('Put a file')
.action(actions.put);
"connect-lastmile": "0.0.10",
"connect-timeout": "^1.6.2",
"debug": "^2.2.0",
+ "del": "^1.2.0",
"ejs": "^2.3.1",
"express": "^4.12.4",
"mkdirp": "^0.5.1",
"morgan": "^1.6.0",
"multiparty": "^4.1.2",
- "rimraf": "^2.4.0",
"safetydance": "0.0.16",
"superagent": "^1.2.0",
"underscore": "^1.8.3"
var fs = require('fs'),
path = require('path'),
ejs = require('ejs'),
- rimraf = require('rimraf'),
+ rm = require('del'),
debug = require('debug')('files'),
mkdirp = require('mkdirp'),
HttpError = require('connect-lastmile').HttpError,
fs.stat(absoluteFilePath, function (error, result) {
if (error) return next(new HttpError(404, error));
- rimraf(absoluteFilePath, function (error) {
+ rm(absoluteFilePath, function (error, result) {
if (error) return next(new HttpError(500, 'Unable to remove'));
- next(new HttpSuccess(200, {}));
+ next(new HttpSuccess(200, { entries: result }));
});
});
}