diff --git a/lib/gridfs.js b/lib/gridfs.js index c8419ff..209cd73 100644 --- a/lib/gridfs.js +++ b/lib/gridfs.js @@ -184,7 +184,11 @@ class GridFsStorage extends node_events_1.EventEmitter { _removeFile(request, file, cb) { const options = { bucketName: file.bucketName }; const bucket = new mongodb_1.GridFSBucket(this.db, options); - bucket.delete(file.id, cb); + bucket.delete(file.id) + .then(() => { + cb(null); + }) + .catch(cb); } /** * Waits for the MongoDb connection associated to the storage to succeed or fail @@ -303,6 +307,10 @@ class GridFsStorage extends node_events_1.EventEmitter { reject(streamError); }; const emitFile = (f) => { + if (f === undefined) { + // @ts-ignore - outdated types file this does exist + f = writeStream.gridFSFile; + } const storedFile = { id: f._id, filename: f.filename, @@ -531,4 +539,4 @@ exports.GridFsStorageCtr = new Proxy(GridFsStorage, { return new target(...argumentsList); // eslint-disable-line new-cap }, }); -//# sourceMappingURL=gridfs.js.map \ No newline at end of file +//# sourceMappingURL=gridfs.js.map diff --git a/src/gridfs.ts b/src/gridfs.ts index 305318f..3011980 100644 --- a/src/gridfs.ts +++ b/src/gridfs.ts @@ -213,7 +213,11 @@ export class GridFsStorage extends EventEmitter implements StorageEngine { _removeFile(request: any, file, cb: NodeCallback): void { const options = {bucketName: file.bucketName}; const bucket = new GridFSBucket(this.db, options); - bucket.delete(file.id, cb); + bucket.delete(file.id) + .then(() => { + cb(null); + }) + .catch(cb); } /** @@ -349,6 +353,10 @@ export class GridFsStorage extends EventEmitter implements StorageEngine { }; const emitFile = (f) => { + if (f === undefined) { + // @ts-ignore - outdated types file this does exist + f = writeStream.gridFSFile; + } const storedFile: GridFile = { id: f._id, filename: f.filename,