Skip to content

Commit b348510

Browse files
storage: update code that now uses streamrouter
1 parent 5ea6403 commit b348510

3 files changed

Lines changed: 57 additions & 121 deletions

File tree

lib/storage/bucket.js

Lines changed: 42 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -387,56 +387,40 @@ Bucket.prototype.deleteFiles = function(query, callback) {
387387
var MAX_PARALLEL_LIMIT = 10;
388388
var errors = [];
389389

390-
// Start deleting files, iteratively fetching more as necessary.
391-
deleteFiles(query, function(err) {
392-
if (err || errors.length > 0) {
393-
callback(err || errors);
390+
self.getFiles(query, function(err, files) {
391+
if (err) {
392+
callback(err);
394393
return;
395394
}
396395

397-
callback(null);
398-
});
399-
400-
function deleteFiles(query, callback) {
401-
self.getFiles(query, function(err, files, nextQuery) {
402-
if (err) {
403-
callback(err);
404-
return;
405-
}
406-
407-
// Iterate through each file and attempt to delete it.
408-
async.eachLimit(files, MAX_PARALLEL_LIMIT, deleteFile, function(err) {
396+
function deleteFile(file, callback) {
397+
file.delete(function(err) {
409398
if (err) {
410-
callback(err);
411-
return;
412-
}
399+
if (query.force) {
400+
errors.push(err);
401+
callback();
402+
return;
403+
}
413404

414-
if (nextQuery) {
415-
deleteFiles(nextQuery, callback);
405+
callback(err);
416406
return;
417407
}
418408

419409
callback();
420410
});
421-
});
422-
}
423-
424-
function deleteFile(file, callback) {
425-
file.delete(function(err) {
426-
if (err) {
427-
if (query.force) {
428-
errors.push(err);
429-
callback();
430-
return;
431-
}
411+
}
432412

433-
callback(err);
413+
// Iterate through each file and attempt to delete it.
414+
async.eachLimit(files, MAX_PARALLEL_LIMIT, deleteFile, function(err) {
415+
if (err || errors.length > 0) {
416+
callback(err || errors);
434417
return;
435418
}
436419

437420
callback();
438421
});
439-
}
422+
});
423+
440424
};
441425

442426
/**
@@ -1039,63 +1023,46 @@ Bucket.prototype.makeAllFilesPublicPrivate_ = function(options, callback) {
10391023
var errors = [];
10401024
var updatedFiles = [];
10411025

1042-
// Start processing files, iteratively fetching more as necessary.
1043-
processFiles({}, function(err) {
1044-
if (err || errors.length > 0) {
1045-
callback(err || errors, updatedFiles);
1026+
self.getFiles(function(err, files) {
1027+
if (err) {
1028+
callback(err);
10461029
return;
10471030
}
10481031

1049-
callback(null, updatedFiles);
1050-
});
1051-
1052-
function processFiles(query, callback) {
1053-
self.getFiles(query, function(err, files, nextQuery) {
1054-
if (err) {
1055-
callback(err);
1056-
return;
1032+
function processFile(file, callback) {
1033+
if (options.public) {
1034+
file.makePublic(processedCallback);
1035+
} else if (options.private) {
1036+
file.makePrivate(processedCallback);
10571037
}
10581038

1059-
// Iterate through each file and make it public or private.
1060-
async.eachLimit(files, MAX_PARALLEL_LIMIT, processFile, function(err) {
1039+
function processedCallback(err) {
10611040
if (err) {
1062-
callback(err);
1063-
return;
1064-
}
1041+
if (options.force) {
1042+
errors.push(err);
1043+
callback();
1044+
return;
1045+
}
10651046

1066-
if (nextQuery) {
1067-
processFiles(nextQuery, callback);
1047+
callback(err);
10681048
return;
10691049
}
10701050

1051+
updatedFiles.push(file);
10711052
callback();
1072-
});
1073-
});
1074-
}
1075-
1076-
function processFile(file, callback) {
1077-
if (options.public) {
1078-
file.makePublic(processedCallback);
1079-
} else if (options.private) {
1080-
file.makePrivate(processedCallback);
1053+
}
10811054
}
10821055

1083-
function processedCallback(err) {
1084-
if (err) {
1085-
if (options.force) {
1086-
errors.push(err);
1087-
callback();
1088-
return;
1089-
}
1090-
1091-
callback(err);
1056+
// Iterate through each file and make it public or private.
1057+
async.eachLimit(files, MAX_PARALLEL_LIMIT, processFile, function(err) {
1058+
if (err || errors.length > 0) {
1059+
callback(err || errors, updatedFiles);
10921060
return;
10931061
}
10941062

1095-
updatedFiles.push(file);
1096-
callback();
1097-
}
1098-
}
1063+
callback(null, updatedFiles);
1064+
});
1065+
});
10991066
};
11001067

11011068
/**

system-test/storage.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -818,12 +818,15 @@ describe('storage', function() {
818818
});
819819
});
820820

821-
afterEach(function(done) {
822-
versionedBucket.deleteFiles({ versions: true }, done);
823-
});
824-
825821
after(function(done) {
826-
versionedBucket.delete(done);
822+
versionedBucket.deleteFiles({ versions: true }, function(err) {
823+
if (err) {
824+
done(err);
825+
return;
826+
}
827+
828+
versionedBucket.delete(done);
829+
});
827830
});
828831

829832
it('should overwrite file, then get older version', function(done) {

test/storage/bucket.js

Lines changed: 7 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -406,23 +406,6 @@ describe('Bucket', function() {
406406
});
407407
});
408408

409-
it('should get more files if more exist', function(done) {
410-
var fakeNextQuery = { a: 'b', c: 'd' };
411-
412-
bucket.getFiles = function(query, callback) {
413-
if (Object.keys(query).length === 0) {
414-
// First time through, return a `nextQuery` value.
415-
callback(null, [], fakeNextQuery);
416-
} else {
417-
// Second time through.
418-
assert.deepEqual(query, fakeNextQuery);
419-
done();
420-
}
421-
};
422-
423-
bucket.deleteFiles({}, assert.ifError);
424-
});
425-
426409
it('should execute callback with error from getting files', function(done) {
427410
var error = new Error('Error.');
428411

@@ -1024,7 +1007,7 @@ describe('Bucket', function() {
10241007
done();
10251008
};
10261009

1027-
bucket.getFiles = function(query, callback) {
1010+
bucket.getFiles = function(callback) {
10281011
callback(null, []);
10291012
};
10301013

@@ -1042,7 +1025,7 @@ describe('Bucket', function() {
10421025
callback();
10431026
}));
10441027

1045-
bucket.getFiles = function(query, callback) {
1028+
bucket.getFiles = function(callback) {
10461029
callback(null, files);
10471030
};
10481031

@@ -1064,7 +1047,7 @@ describe('Bucket', function() {
10641047
callback();
10651048
}));
10661049

1067-
bucket.getFiles = function(query, callback) {
1050+
bucket.getFiles = function(callback) {
10681051
callback(null, files);
10691052
};
10701053

@@ -1075,27 +1058,10 @@ describe('Bucket', function() {
10751058
});
10761059
});
10771060

1078-
it('should get more files if more exist', function(done) {
1079-
var fakeNextQuery = { a: 'b', c: 'd' };
1080-
1081-
bucket.getFiles = function(query, callback) {
1082-
if (Object.keys(query).length === 0) {
1083-
// First time through, return a `nextQuery` value.
1084-
callback(null, [], fakeNextQuery);
1085-
} else {
1086-
// Second time through.
1087-
assert.deepEqual(query, fakeNextQuery);
1088-
done();
1089-
}
1090-
};
1091-
1092-
bucket.makeAllFilesPublicPrivate_({}, assert.ifError);
1093-
});
1094-
10951061
it('should execute callback with error from getting files', function(done) {
10961062
var error = new Error('Error.');
10971063

1098-
bucket.getFiles = function(query, callback) {
1064+
bucket.getFiles = function(callback) {
10991065
callback(error);
11001066
};
11011067

@@ -1115,7 +1081,7 @@ describe('Bucket', function() {
11151081
callback(error);
11161082
}));
11171083

1118-
bucket.getFiles = function(query, callback) {
1084+
bucket.getFiles = function(callback) {
11191085
callback(null, files);
11201086
};
11211087

@@ -1135,7 +1101,7 @@ describe('Bucket', function() {
11351101
callback(error);
11361102
}));
11371103

1138-
bucket.getFiles = function(query, callback) {
1104+
bucket.getFiles = function(callback) {
11391105
callback(null, files);
11401106
};
11411107

@@ -1165,7 +1131,7 @@ describe('Bucket', function() {
11651131
callback(error);
11661132
}));
11671133

1168-
bucket.getFiles = function(query, callback) {
1134+
bucket.getFiles = function(callback) {
11691135
callback(null, successFiles.concat(errorFiles));
11701136
};
11711137

0 commit comments

Comments
 (0)