refactor(rest) add onDelete

This commit is contained in:
coderaiser 2014-02-06 03:58:03 -05:00
parent ebcaf450c5
commit 83ed28c686

View file

@ -203,51 +203,9 @@
break;
case 'DELETE':
if (lQuery === 'dir')
fs.rmdir(p.name, function(error) {
checkSendError(error, params, function() {
sendMsg(params, 'delete', p.name);
});
});
else if (lQuery === 'files') {
getBody(p.request, function(pBody) {
var i, name,
lFiles = Util.parseJSON(pBody),
n = lFiles.length,
lDir = p.name,
log = Util.log.bind(Util),
lAssync = 0;
function onStat(name, error, stat) {
++lAssync;
checkSendError(error, params, function() {
if (stat.isDirectory())
fs.rmdir(name, log);
else if (stat.isFile())
fs.unlink(name, log);
});
if (lAssync === n && !error)
sendMsg(params, 'delete', pBody);
}
for (i = 0; i < n; i ++) {
name = lDir + lFiles[i];
Util.log(name);
fs.stat(name, onStat.bind(null, name));
}
});
} else
fs.unlink(p.name, function(error) {
checkSendError(error, params, function() {
sendMsg(params, 'delete', p.name);
});
});
onDelete(params, lQuery, function(msg) {
sendMsg(params, 'delete', msg);
});
break;
}
}
@ -255,6 +213,55 @@
return ret;
}
function onDelete(params, query, callback) {
var p = params;
if (query === 'dir')
fs.rmdir(p.name, function(error) {
checkSendError(error, params, function() {
Util.exec(callback, p.name);
});
});
else if (query === 'files') {
getBody(p.request, function(pBody) {
var i, name,
lFiles = Util.parseJSON(pBody),
n = lFiles.length,
lDir = p.name,
log = Util.log.bind(Util),
lAssync = 0;
function onStat(name, error, stat) {
++lAssync;
checkSendError(error, params, function() {
if (stat.isDirectory())
fs.rmdir(name, log);
else if (stat.isFile())
fs.unlink(name, log);
});
if (lAssync === n && !error)
Util.exec(callback, pBody);
}
for (i = 0; i < n; i ++) {
name = lDir + lFiles[i];
Util.log(name);
fs.stat(name, onStat.bind(null, name));
}
});
} else
fs.unlink(p.name, function(error) {
checkSendError(error, params, function() {
Util.exec(callback, p.name);
});
});
}
function onFSGet(query, name, callback) {
var msg, hash, ret = true;