-
Notifications
You must be signed in to change notification settings - Fork 10
/
fs_delete.js
41 lines (35 loc) · 1.12 KB
/
fs_delete.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// to avoid people accidentally (or maliciously) deleting records
// we are not going to provide these methods to any end-users
// but we still need them for the tests
var fs = require('fs');
var path = require('path');
var dataDir = __dirname + '/../_data'; //
dataDir = path.resolve(dataDir);
function unlinkHandler(file, last, callback) {
fs.unlink(dataDir + '/' +file, function(err) {
// console.log('is last ? '+last);
if(last) {
fs.rmdir(dataDir, function() {
callback(err, true);
});
} else {
// do nothing - stupid branch coverage.
}
});
}
function deleteDataDir (callback) {
// delete all files in _data dir
fs.readdir(dataDir, function(err, files) {
var filecount = files.length
console.log(files +" " + filecount);
// loop through list of files and remove them
for(var i in files) { // *assume* there's always at least one file
var file = files[i]; // this method is NOT PUBLIC
console.log(i + ' Deleting ' +file);
unlinkHandler(file, (parseInt(i, 10) === filecount-1), callback);
}
});
}
module.exports = {
deleteDataDir : deleteDataDir
}