refactor(rest) onDelete

This commit is contained in:
coderaiser 2014-02-19 07:07:54 -05:00
parent 2e3c104033
commit 7c751e3a2f

View file

@ -206,12 +206,14 @@
break;
case 'DELETE':
onDelete(params, lQuery, function(error, msg, callback) {
checkSendError(error, params, function() {
if (callback)
Util.exec(callback);
else
sendMsg(params, 'delete', msg);
getBody(p.request, function(body) {
onDelete(p.name, body, lQuery, function(error, msg, callback) {
checkSendError(error, params, function() {
if (callback)
Util.exec(callback);
else
sendMsg(params, 'delete', msg);
});
});
});
break;
@ -221,29 +223,33 @@
return ret;
}
function onDelete(params, query, callback) {
var rmFile = fs.unlink.bind(fs),
function onDelete(name, body, query, callback) {
var i, n, onStat,
files = Util.parseJSON(body),
assync = 0,
rmFile = fs.unlink.bind(fs),
rmDir = fse.remove.bind(fse),
p = params;
func = Util.retExec(callback);
if (query === 'dir')
rmDir(p.name, function(error) {
Util.exec(callback, error, p.name);
});
else if (query === 'files')
getBody(p.request, function(body) {
var i, name,
files = Util.parseJSON(body),
n = files.length,
dir = p.name,
log = Util.log.bind(Util),
assync = 0;
switch(query) {
default:
rmFile(name, func);
break;
case 'dir':
rmDir(name, func);
break;
case 'files':
n = files && files.length,
dir = name;
function onStat(name, error, stat) {
onStat = function(name, error, stat) {
log = Util.log.bind(Util);
++assync;
if (error)
Util.exec(callback, error);
func(error);
else {
if (stat.isDirectory())
rmDir(name, log);
@ -252,22 +258,17 @@
rmFile(name, log);
if (assync === n)
Util.exec(callback, null, body);
func(null, body);
}
}
};
for (i = 0; i < n; i ++) {
name = dir + files[i];
Util.log(name);
fs.stat(name, onStat.bind(null, name));
}
});
else
rmFile(p.name, function(error) {
Util.exec(callback, error, p.name);
});
break;
}
}
function onFSGet(query, name, callback) {