refactor(rest) copyFiles

This commit is contained in:
coderaiser 2014-04-17 03:45:23 -04:00
parent 1d5d87d2a4
commit 5a7fb8e458

View file

@ -242,7 +242,7 @@
* @param pParams {command, method, body, requrest, response}
*/
function onPUT(params) {
var p, cmd, files, name, json, config, copyFiles,
var p, cmd, files, name, json, config, namesAll, func,
ret = main.checkParams(params, ['body']);
if (ret) {
@ -280,33 +280,20 @@
if (!Util.checkObjTrue(files, ['from', 'names', 'to']))
sendError(params, p.data);
else {
files.namesAll = Util.slice(files.names);
namesAll = Util.slice(files.names);
copyFiles = function(files) {
var names = files.names,
namesAll = files.namesAll,
name = names.shift(),
from = files.from,
to = files.to;
func = function(error, files) {
var length = files.names.length;
fse.copy(from + name, to + name, function(error) {
var length = names.length;
if (error)
sendError(params, error);
else if (!length)
sendMsg(params, 'copy', namesAll);
else
copyFiles({
from : from,
to : to,
names : names,
namesAll: namesAll
});
});
if (error)
sendError(params, error);
else if (!length)
sendMsg(params, 'copy', namesAll);
else
copyFiles(files, func);
};
copyFiles(files);
copyFiles(files, func);
}
break;
@ -384,6 +371,18 @@
return ret;
}
function copyFiles(files, callback) {
var names = files.names,
name = names.shift(),
from = files.from,
to = files.to,
func = Util.retExec(callback);
fse.copy(from + name, to + name, function(error) {
func(error, files);
});
}
function sendMsg(pParams, pMsg, pName, pStatus) {
var msg = CloudFunc.formatMsg(pMsg, pName, pStatus);
sendResponse(pParams, msg);