Comparing version 0.0.1-4 to 0.0.2-6
var mongodb = require("mongodb"); | ||
var assert = require("assert"); | ||
var fs = require("fs"); | ||
@@ -32,3 +31,3 @@ var Db = mongodb.Db; | ||
fileExists(db, fileName, function(err, exists){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -47,7 +46,7 @@ if(exists){ | ||
fileExists(db, fileName, function(err, exists){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
if(exists){ | ||
getAllFileVersions(db, fileName, function(err, fileVersions){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -57,6 +56,3 @@ async.eachSeries(fileVersions, function(fileVersion, cb){ | ||
}, function(err){ | ||
assert.ok(!err); | ||
cb(); | ||
cb(err); | ||
}); | ||
@@ -81,3 +77,3 @@ }); | ||
fileExists(dbFrom, fileId, function(err, exists){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -101,6 +97,6 @@ if(!exists){ | ||
getFileDetails(dbFrom, {"fileId": oldFileId}, {}, function(err, oldFileDetails){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
getFileStream(dbFrom, oldFileId, {}, function(err, fileStream){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -110,3 +106,3 @@ fileStream.pause(); | ||
saveFile(dbTo, fileFromName, fileStream, {}, function(err, newFileId){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -119,3 +115,3 @@ migratedFiles[oldFileId] = newFileId; | ||
getFileStream(dbFrom, fileThumbnailId, {}, function(err, thumbnailFileStream){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -126,10 +122,10 @@ //Pausing the stream before sending it to saveFile function | ||
gridStoreThumb.open(function(err, thumbnailFile){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
var thumbnailName = thumbnailFile.filename; | ||
gridStoreThumb.close(function(err, result){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
saveFile(dbTo, thumbnailName, thumbnailFileStream, {}, function(err, newThumbnailFileId){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -139,8 +135,6 @@ //Save the new thumbnail | ||
newFileGridStore.open(function(err, newFile){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
newFile.metadata.thumbnail = newThumbnailFileId; | ||
newFileGridStore.close(function(err, result){ | ||
assert.ok(!err); | ||
cb(err); | ||
@@ -160,4 +154,2 @@ }); | ||
}, function(err){ | ||
assert.ok(!err); | ||
cb(err, migratedFiles); | ||
@@ -172,3 +164,3 @@ }); | ||
fileExists(db, fileName, function(err, exists){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -189,7 +181,2 @@ if(exists){ | ||
//Checking parameters for the necessar | ||
async.eachSeries(fileEntries, function(fileEntry, cb){ | ||
}); | ||
//Holding the necessary fileIds | ||
@@ -203,3 +190,3 @@ var fileIds = {}; | ||
fileExists(db, fileName, function(err, exists){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -230,3 +217,3 @@ if(!exists){ | ||
getFileDetails(db, {"fileName": fileName}, fileOptions, function(err, fileDetails){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -246,4 +233,2 @@ | ||
}, function(err){ | ||
assert.ok(!err); | ||
cb(err, fileIds); | ||
@@ -259,3 +244,3 @@ }); | ||
fileExists(db, fileId, function(err, exists){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -277,3 +262,3 @@ if(exists){ | ||
fileExists(db, fileEntry.fileId, function(err, exists){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
if(!exists){ | ||
@@ -284,3 +269,3 @@ return cb(new Error("No File with id " + fileEntry.fileId + " exists.")); | ||
getFileDetails(db, {"fileId": fileEntry.fileId}, {}, function(err, fileDetails){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -294,7 +279,7 @@ var fileReadStream = gridFileStream.createReadStream({"_id": fileEntry.fileId}); | ||
zipStream.append(fileReadStream, {"name": fileEntry.fileName}, function(err){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
generateThumbnailFileName(fileEntry.fileName, function(thumbnailFileName){ | ||
thumbnailReadStream = gridFileStream.createReadStream({"_id": fileDetails.metadata.thumbnail}); | ||
zipStream.append(thumbnailReadStream, {"name": thumbnailFileName}, function(err){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
cb(err); | ||
@@ -312,4 +297,2 @@ }); | ||
}, function(err){ | ||
assert.ok(!err); | ||
//When all files are piped, the callback will be fired | ||
cb(err); | ||
@@ -323,9 +306,6 @@ }); | ||
fileExists(db, fileName, function(err, exists){ | ||
assert.ok(!err) | ||
if(err) return cb(err); | ||
if(exists){ | ||
updateExistingFile(db, fileName, fileReadStream, options, function(err, result){ | ||
assert.ok(!err); | ||
assert.ok(result); | ||
cb(err, result); | ||
@@ -335,5 +315,2 @@ }) | ||
createNewFile(db, fileName, fileReadStream, options, function(err, result){ | ||
assert.ok(!err); | ||
assert.ok(result); | ||
cb(err, result); | ||
@@ -350,12 +327,12 @@ }); | ||
gridStore.collection(function(err, collection){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
collection.find({"filename":fileName},{sort:{"metadata.version":-1},"fields": {"metadata.version":1}}, function(err, files){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
files.toArray(function(err, filesArray){ | ||
assert.ok(!err); | ||
assert.ok(filesArray && Array.isArray(filesArray) && filesArray.length > 0); | ||
if(err) return cb(err); | ||
if(!(filesArray && Array.isArray(filesArray) && filesArray.length > 0)) return cb(new Error("Collection query is empty for file " + fileName)); | ||
@@ -370,7 +347,5 @@ var returnedVersions = []; | ||
}, function(err){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
gridStore.close(function(err, result){ | ||
assert.ok(!err); | ||
return cb(err, returnedVersions); | ||
@@ -388,3 +363,3 @@ }); | ||
getFileDetails(db, {"fileName": fileName}, {"version":version}, function(err, fileDetails){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -394,12 +369,10 @@ var gridStore = new GridStore(db, fileDetails._id,"r"); | ||
gridStore.open(function(err, openGridStore){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
openGridStore.unlink(function(err, result){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
gridStore.close(function(err, result){ | ||
assert.ok(!err); | ||
cb(); | ||
cb(err); | ||
}); | ||
}); | ||
@@ -437,7 +410,7 @@ }); | ||
gridStore.open(function(err, parentFile){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
parentFile.metadata.thumbnail = thumbnailFile._id; | ||
gridStore.close(function(err, fileObject){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
return cb(undefined, fileId); | ||
@@ -460,3 +433,3 @@ }); | ||
getFileContentType(fileName, function(fileContentType){ | ||
assert.ok(fileContentType); | ||
if(!(fileContentType && fileContentType.length > 0)) return cb(new Error("No file content type available for file " + fileName)); | ||
@@ -487,3 +460,2 @@ //If it is an image and options.thumbnail is true | ||
//console.log(util.inspect(fileStream.listeners('error'))); | ||
@@ -505,4 +477,2 @@ fileWriteStream.on("close", function(file){ | ||
GridStore.exist(db, fileName, function(err, exists){ | ||
assert.ok(!err); | ||
return cb(err, exists); | ||
@@ -531,7 +501,7 @@ }); | ||
collection.find(selectionQuery, { "sort": {"metadata.version":-1}}, function(err, files){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
files.toArray(function(err, filesArray){ | ||
assert.ok(!err); | ||
assert.ok(filesArray && Array.isArray(filesArray) && filesArray.length > 0); | ||
if(err) return cb(err); | ||
if(!(filesArray && Array.isArray(filesArray) && filesArray.length > 0)) return cb(new Error("No files exist for fileName " + fileName)); | ||
@@ -545,8 +515,12 @@ //If there is no version, get the latest version | ||
assert(fileOfInterest.length == 1); | ||
fileOfInterest = fileOfInterest[0]; | ||
if(fileOfInterest.length == 1){ | ||
fileOfInterest = fileOfInterest[0]; | ||
} | ||
else{ | ||
return cb(new Error("Unexpected number of files returned for fileName " + fileSelectionCriteria.fileName, fileOfInterest.length)); | ||
} | ||
} | ||
gridStore.close(function(err, result){ | ||
assert.ok(!err); | ||
return cb(err, fileOfInterest); | ||
@@ -570,6 +544,6 @@ }); | ||
getFileDetails(db, {"fileName": fileName}, options, function(err, fileInfo){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
var latestFileVersion = fileInfo.metadata.version; | ||
incrementFileVersion(latestFileVersion, function(newFileVersion){ | ||
assert.ok(newFileVersion); | ||
if(!newFileVersion) return cb(new Error("File version was not incremented for file " + fileName)); | ||
console.log("New File Version ", newFileVersion); | ||
@@ -594,3 +568,3 @@ createFileWithVersion(db, fileName, fileReadStream, newFileVersion, options, cb); | ||
gridStore.open(function(err, file){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
@@ -604,3 +578,3 @@ if(!file.metadata.thumbnail){ | ||
gridStore.close(function(err, result){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
return cb(undefined, fileReadStream); | ||
@@ -613,3 +587,3 @@ }); | ||
gridStore.close(function(err, result){ | ||
assert.ok(!err); | ||
if(err) return cb(err); | ||
return cb(undefined, fileReadStream); | ||
@@ -616,0 +590,0 @@ }); |
{ | ||
"name": "fh-gridfs", | ||
"version": "0.0.1-4", | ||
"version": "0.0.2-6", | ||
"description": "Wrapper for file storage using gridfs for mongo databases.", | ||
@@ -15,13 +15,15 @@ "scripts": { | ||
"dependencies": { | ||
"mongodb": "*", | ||
"assert": "*", | ||
"archiver": "*", | ||
"gridfs-stream": "*", | ||
"gm": "*", | ||
"async": "*", | ||
"mime": "*", | ||
"lodash": "*", | ||
"rimraf": "*", | ||
"util": "*" | ||
"mongodb": "1.3.19", | ||
"archiver": "0.4.9", | ||
"gridfs-stream": "0.4.0", | ||
"gm": "1.13.1", | ||
"async": "0.2.9", | ||
"mime": "1.2.11", | ||
"lodash": "2.1.0", | ||
"rimraf": "2.2.2" | ||
}, | ||
"devDependencies": { | ||
"assert": "0.4.9", | ||
"util": "0.4.9" | ||
} | ||
} |
@@ -1,1 +0,1 @@ | ||
0.0.1-4 | ||
0.0.2-6 |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Wildcard dependency
QualityPackage has a dependency with a floating version range. This can cause issues if the dependency publishes a new major version.
Found 10 instances in 1 package
24094
8
2
2
456
+ Addedarchiver@0.4.9(transitive)
+ Addedasync@0.2.9(transitive)
+ Addedbson@0.2.2(transitive)
+ Addeddebug@0.7.0(transitive)
+ Addedgm@1.13.1(transitive)
+ Addedgraceful-fs@2.0.3(transitive)
+ Addedgridfs-stream@0.4.0(transitive)
+ Addediconv-lite@0.2.11(transitive)
+ Addedisarray@0.0.1(transitive)
+ Addedkerberos@0.0.3(transitive)
+ Addedlodash@2.1.0(transitive)
+ Addedmime@1.2.11(transitive)
+ Addedmongodb@1.3.19(transitive)
+ Addedreadable-stream@1.0.34(transitive)
+ Addedrimraf@2.2.2(transitive)
+ Addedstream-to-buffer@0.0.1(transitive)
+ Addedstring_decoder@0.10.31(transitive)
+ Addedthrough@2.3.8(transitive)
- Removedassert@*
- Removedutil@*
- Removed@isaacs/cliui@8.0.2(transitive)
- Removed@mongodb-js/saslprep@1.1.9(transitive)
- Removed@pkgjs/parseargs@0.11.0(transitive)
- Removed@types/webidl-conversions@7.0.3(transitive)
- Removed@types/whatwg-url@11.0.5(transitive)
- Removedabort-controller@3.0.0(transitive)
- Removedansi-regex@5.0.16.1.0(transitive)
- Removedansi-styles@4.3.06.2.1(transitive)
- Removedarchiver@7.0.1(transitive)
- Removedarchiver-utils@5.0.2(transitive)
- Removedassert@2.1.0(transitive)
- Removedasync@3.2.6(transitive)
- Removedavailable-typed-arrays@1.0.7(transitive)
- Removedb4a@1.6.7(transitive)
- Removedbalanced-match@1.0.2(transitive)
- Removedbare-events@2.5.0(transitive)
- Removedbase64-js@1.5.1(transitive)
- Removedbrace-expansion@2.0.1(transitive)
- Removedbson@6.9.0(transitive)
- Removedbuffer@6.0.3(transitive)
- Removedbuffer-crc32@1.0.0(transitive)
- Removedcall-bind@1.0.7(transitive)
- Removedcolor-convert@2.0.1(transitive)
- Removedcolor-name@1.1.4(transitive)
- Removedcompress-commons@6.0.2(transitive)
- Removedcrc-32@1.2.2(transitive)
- Removedcrc32-stream@6.0.0(transitive)
- Removedcross-spawn@4.0.27.0.3(transitive)
- Removeddebug@3.2.7(transitive)
- Removeddefine-data-property@1.1.4(transitive)
- Removeddefine-properties@1.2.1(transitive)
- Removedeastasianwidth@0.2.0(transitive)
- Removedemoji-regex@8.0.09.2.2(transitive)
- Removedes-define-property@1.0.0(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedevent-target-shim@5.0.1(transitive)
- Removedevents@3.3.0(transitive)
- Removedfast-fifo@1.3.2(transitive)
- Removedflushwritable@1.0.0(transitive)
- Removedfor-each@0.3.3(transitive)
- Removedforeground-child@3.3.0(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedget-intrinsic@1.2.4(transitive)
- Removedglob@10.4.511.0.0(transitive)
- Removedgm@1.25.0(transitive)
- Removedgopd@1.0.1(transitive)
- Removedgraceful-fs@4.2.11(transitive)
- Removedgridfs-stream@1.1.1(transitive)
- Removedhas-property-descriptors@1.0.2(transitive)
- Removedhas-proto@1.0.3(transitive)
- Removedhas-symbols@1.0.3(transitive)
- Removedhas-tostringtag@1.0.2(transitive)
- Removedhasown@2.0.2(transitive)
- Removedieee754@1.2.1(transitive)
- Removedis-arguments@1.1.1(transitive)
- Removedis-callable@1.2.7(transitive)
- Removedis-fullwidth-code-point@3.0.0(transitive)
- Removedis-generator-function@1.0.10(transitive)
- Removedis-nan@1.3.2(transitive)
- Removedis-stream@2.0.1(transitive)
- Removedis-typed-array@1.1.13(transitive)
- Removedisarray@1.0.0(transitive)
- Removedisexe@2.0.0(transitive)
- Removedjackspeak@3.4.34.0.2(transitive)
- Removedlazystream@1.0.1(transitive)
- Removedlodash@4.17.21(transitive)
- Removedlru-cache@10.4.311.0.14.1.5(transitive)
- Removedmemory-pager@1.5.0(transitive)
- Removedmime@4.0.4(transitive)
- Removedminimatch@10.0.15.1.69.0.5(transitive)
- Removedminipass@7.1.2(transitive)
- Removedmongodb@6.10.0(transitive)
- Removedmongodb-connection-string-url@3.0.1(transitive)
- Removedms@2.1.3(transitive)
- Removednormalize-path@3.0.0(transitive)
- Removedobject-is@1.1.6(transitive)
- Removedobject-keys@1.1.1(transitive)
- Removedobject.assign@4.1.5(transitive)
- Removedpackage-json-from-dist@1.0.1(transitive)
- Removedpath-key@3.1.1(transitive)
- Removedpath-scurry@1.11.12.0.0(transitive)
- Removedpossible-typed-array-names@1.0.0(transitive)
- Removedprocess@0.11.10(transitive)
- Removedprocess-nextick-args@2.0.1(transitive)
- Removedpseudomap@1.0.2(transitive)
- Removedpunycode@2.3.1(transitive)
- Removedqueue-tick@1.0.1(transitive)
- Removedreadable-stream@2.3.84.5.2(transitive)
- Removedreaddir-glob@1.1.3(transitive)
- Removedrimraf@6.0.1(transitive)
- Removedsafe-buffer@5.1.25.2.1(transitive)
- Removedset-function-length@1.2.2(transitive)
- Removedshebang-command@2.0.0(transitive)
- Removedshebang-regex@3.0.0(transitive)
- Removedsignal-exit@4.1.0(transitive)
- Removedsparse-bitfield@3.0.3(transitive)
- Removedstreamx@2.20.1(transitive)
- Removedstring-width@4.2.35.1.2(transitive)
- Removedstring_decoder@1.1.11.3.0(transitive)
- Removedstrip-ansi@6.0.17.1.0(transitive)
- Removedtar-stream@3.1.7(transitive)
- Removedtext-decoder@1.2.1(transitive)
- Removedtr46@4.1.1(transitive)
- Removedutil@0.12.5(transitive)
- Removedutil-deprecate@1.0.2(transitive)
- Removedwebidl-conversions@7.0.0(transitive)
- Removedwhatwg-url@13.0.0(transitive)
- Removedwhich@1.3.12.0.2(transitive)
- Removedwhich-typed-array@1.1.15(transitive)
- Removedwrap-ansi@7.0.08.1.0(transitive)
- Removedyallist@2.1.2(transitive)
- Removedzip-stream@6.0.1(transitive)
Updatedarchiver@0.4.9
Updatedasync@0.2.9
Updatedgm@1.13.1
Updatedgridfs-stream@0.4.0
Updatedlodash@2.1.0
Updatedmime@1.2.11
Updatedmongodb@1.3.19
Updatedrimraf@2.2.2