mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 18:55:26 +00:00
refactor(rest) onDelete
This commit is contained in:
parent
2e3c104033
commit
7c751e3a2f
1 changed files with 33 additions and 32 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue