@@ -68,7 +68,7 @@ countlyFs.gridfs = {};
68
68
**/
69
69
function beforeSave ( category , filename , options , callback , done ) {
70
70
log . d ( "checking file" , filename ) ;
71
- ob . getId ( category , filename , function ( err , res ) {
71
+ ob . getId ( category , filename , async function ( err , res ) {
72
72
log . d ( "file state" , filename , err , res ) ;
73
73
if ( options . forceClean ) {
74
74
ob . clearFile ( category , filename , done ) ;
@@ -80,15 +80,20 @@ countlyFs.gridfs = {};
80
80
else if ( options . writeMode === "overwrite" ) {
81
81
var bucket = new GridFSBucket ( db , { bucketName : category } ) ;
82
82
log . d ( "deleting file" , filename ) ;
83
- bucket . delete ( res , function ( error ) {
84
- log . d ( "deleted" , filename , error ) ;
85
- if ( ! error ) {
86
- setTimeout ( done , 1 ) ;
87
- }
88
- else if ( callback ) {
89
- callback ( error ) ;
90
- }
91
- } ) ;
83
+ let errHandle = null ;
84
+ try {
85
+ await bucket . delete ( res ) ;
86
+ }
87
+ catch ( error ) {
88
+ errHandle = error ;
89
+ }
90
+ log . d ( "deleted" , filename , errHandle ) ;
91
+ if ( ! errHandle ) {
92
+ setTimeout ( done , 1 ) ;
93
+ }
94
+ else if ( callback ) {
95
+ callback ( errHandle ) ;
96
+ }
92
97
}
93
98
else {
94
99
if ( callback ) {
@@ -116,6 +121,7 @@ countlyFs.gridfs = {};
116
121
* });
117
122
*/
118
123
ob . getId = function ( category , filename , callback ) {
124
+ log . d ( "getId" , category , filename ) ;
119
125
db . collection ( category + ".files" ) . findOne ( { filename : filename } , { _id : 1 } , function ( err , res ) {
120
126
if ( callback ) {
121
127
callback ( err , ( res && res . _id ) ? res . _id : false ) ;
@@ -144,6 +150,7 @@ countlyFs.gridfs = {};
144
150
if ( ! options ) {
145
151
options = { } ;
146
152
}
153
+ log . d ( "exists" , category , dest , options ) ;
147
154
var query = { } ;
148
155
if ( options . id ) {
149
156
query . _id = options . id ;
@@ -184,7 +191,7 @@ countlyFs.gridfs = {};
184
191
if ( ! options ) {
185
192
options = { } ;
186
193
}
187
-
194
+ log . d ( "saveFile" , category , dest , source , options ) ;
188
195
var filename = dest . split ( path . sep ) . pop ( ) ;
189
196
beforeSave ( category , filename , options , callback , function ( ) {
190
197
save ( category , filename , fs . createReadStream ( source ) , options , callback ) ;
@@ -218,6 +225,7 @@ countlyFs.gridfs = {};
218
225
if ( ! options ) {
219
226
options = { } ;
220
227
}
228
+ log . d ( "saveData" , category , dest , typeof data , options ) ;
221
229
beforeSave ( category , filename , options , callback , function ( ) {
222
230
var readStream = new Readable ;
223
231
readStream . push ( data ) ;
@@ -253,6 +261,7 @@ countlyFs.gridfs = {};
253
261
if ( ! options ) {
254
262
options = { } ;
255
263
}
264
+ log . d ( "saveStream" , category , dest , typeof readStream , options ) ;
256
265
beforeSave ( category , filename , options , callback , function ( ) {
257
266
save ( category , filename , readStream , options , callback ) ;
258
267
} ) ;
@@ -271,7 +280,7 @@ countlyFs.gridfs = {};
271
280
* console.log("Finished", err);
272
281
* });
273
282
*/
274
- ob . rename = function ( category , dest , source , options , callback ) {
283
+ ob . rename = async function ( category , dest , source , options , callback ) {
275
284
var newname = dest . split ( path . sep ) . pop ( ) ;
276
285
var oldname = source . split ( path . sep ) . pop ( ) ;
277
286
if ( typeof options === "function" ) {
@@ -281,25 +290,35 @@ countlyFs.gridfs = {};
281
290
if ( ! options ) {
282
291
options = { } ;
283
292
}
284
-
293
+ log . d ( "rename" , category , dest , source , options ) ;
285
294
if ( options . id ) {
286
295
let bucket = new GridFSBucket ( db , { bucketName : category } ) ;
287
- bucket . rename ( options . id , newname , function ( error ) {
288
- if ( callback ) {
289
- callback ( error ) ;
290
- }
291
- } ) ;
296
+ let errHandle = null ;
297
+ try {
298
+ await bucket . rename ( options . id , newname ) ;
299
+ }
300
+ catch ( error ) {
301
+ errHandle = error ;
302
+ }
303
+ if ( callback ) {
304
+ callback ( errHandle ) ;
305
+ }
292
306
}
293
307
else {
294
- db . collection ( category + ".files" ) . findOne ( { filename : oldname } , { _id : 1 } , function ( err , res ) {
308
+ db . collection ( category + ".files" ) . findOne ( { filename : oldname } , { _id : 1 } , async function ( err , res ) {
295
309
if ( ! err ) {
296
310
if ( res && res . _id ) {
297
311
let bucket = new GridFSBucket ( db , { bucketName : category } ) ;
298
- bucket . rename ( res . _id , newname , function ( error ) {
299
- if ( callback ) {
300
- callback ( error ) ;
301
- }
302
- } ) ;
312
+ let errHandle = null ;
313
+ try {
314
+ await bucket . rename ( res . _id , newname ) ;
315
+ }
316
+ catch ( error ) {
317
+ errHandle = error ;
318
+ }
319
+ if ( callback ) {
320
+ callback ( errHandle ) ;
321
+ }
303
322
}
304
323
else {
305
324
if ( callback ) {
@@ -337,7 +356,7 @@ countlyFs.gridfs = {};
337
356
if ( ! options ) {
338
357
options = { } ;
339
358
}
340
-
359
+ log . d ( "deleteFile" , category , dest , options ) ;
341
360
if ( options . id ) {
342
361
ob . deleteFileById ( category , options . id , callback ) ;
343
362
}
@@ -372,13 +391,19 @@ countlyFs.gridfs = {};
372
391
* console.log("Finished", err);
373
392
* });
374
393
*/
375
- ob . deleteAll = function ( category , dest , callback ) {
394
+ ob . deleteAll = async function ( category , dest , callback ) {
395
+ log . d ( "deleteAll" , category , dest ) ;
376
396
var bucket = new GridFSBucket ( db , { bucketName : category } ) ;
377
- bucket . drop ( function ( error ) {
378
- if ( callback ) {
379
- callback ( error ) ;
380
- }
381
- } ) ;
397
+ let errHandle = null ;
398
+ try {
399
+ await bucket . drop ( ) ;
400
+ }
401
+ catch ( error ) {
402
+ errHandle = error ;
403
+ }
404
+ if ( callback ) {
405
+ callback ( errHandle ) ;
406
+ }
382
407
} ;
383
408
384
409
/**
@@ -403,7 +428,7 @@ countlyFs.gridfs = {};
403
428
if ( ! options ) {
404
429
options = { } ;
405
430
}
406
-
431
+ log . d ( "getStream" , category , dest , options ) ;
407
432
if ( callback ) {
408
433
if ( options . id ) {
409
434
ob . getStreamById ( category , options . id , callback ) ;
@@ -436,7 +461,7 @@ countlyFs.gridfs = {};
436
461
if ( ! options ) {
437
462
options = { } ;
438
463
}
439
-
464
+ log . d ( "getData" , category , dest , options ) ;
440
465
if ( options . id ) {
441
466
ob . getDataById ( category , options . id , callback ) ;
442
467
}
@@ -482,7 +507,7 @@ countlyFs.gridfs = {};
482
507
if ( ! options ) {
483
508
options = { } ;
484
509
}
485
-
510
+ log . d ( "getSize" , category , dest , options ) ;
486
511
var query = { } ;
487
512
if ( options . id ) {
488
513
query . _id = options . id ;
@@ -517,7 +542,7 @@ countlyFs.gridfs = {};
517
542
if ( ! options ) {
518
543
options = { } ;
519
544
}
520
-
545
+ log . d ( "getStats" , category , dest , options ) ;
521
546
var query = { } ;
522
547
if ( options . id ) {
523
548
query . _id = options . id ;
@@ -554,6 +579,7 @@ countlyFs.gridfs = {};
554
579
* });
555
580
*/
556
581
ob . getDataById = function ( category , id , callback ) {
582
+ log . d ( "getDataById" , category , id ) ;
557
583
var bucket = new GridFSBucket ( db , { bucketName : category } ) ;
558
584
var downloadStream = bucket . openDownloadStream ( id ) ;
559
585
downloadStream . on ( 'error' , function ( error ) {
@@ -585,6 +611,7 @@ countlyFs.gridfs = {};
585
611
* });
586
612
*/
587
613
ob . getStreamById = function ( category , id , callback ) {
614
+ log . d ( "getStreamById" , category , id ) ;
588
615
if ( callback ) {
589
616
var bucket = new GridFSBucket ( db , { bucketName : category } ) ;
590
617
callback ( null , bucket . openDownloadStream ( id ) ) ;
@@ -602,17 +629,17 @@ countlyFs.gridfs = {};
602
629
* });
603
630
*/
604
631
ob . deleteFileById = async function ( category , id , callback ) {
632
+ log . d ( "deleteFileById" , category , id ) ;
605
633
var bucket = new GridFSBucket ( db , { bucketName : category } ) ;
634
+ let errHandle = null ;
606
635
try {
607
636
await bucket . delete ( id ) ;
608
- if ( callback ) {
609
- callback ( null ) ;
610
- }
611
637
}
612
- catch ( ee ) {
613
- if ( callback ) {
614
- callback ( ee ) ;
615
- }
638
+ catch ( error ) {
639
+ errHandle = error ;
640
+ }
641
+ if ( callback ) {
642
+ callback ( errHandle ) ;
616
643
}
617
644
} ;
618
645
@@ -627,6 +654,7 @@ countlyFs.gridfs = {};
627
654
* });
628
655
*/
629
656
ob . clearFile = function ( category , filename , callback ) {
657
+ log . d ( "clearFile" , category , filename ) ;
630
658
db . collection ( category + ".files" ) . deleteMany ( { filename : filename } , function ( err1 , res1 ) {
631
659
log . d ( "deleting files" , category , { filename : filename } , err1 , res1 && res1 . result ) ;
632
660
db . collection ( category + ".chunks" ) . deleteMany ( { files_id : filename } , function ( err2 , res2 ) {
@@ -643,6 +671,7 @@ countlyFs.gridfs = {};
643
671
* @param {function } callback - function called when files found or query errored, providing error object as first param and a list of filename, creation date and size as secondas second
644
672
*/
645
673
ob . listFiles = function ( category , callback ) {
674
+ log . d ( "listFiles" , category ) ;
646
675
const bucket = new GridFSBucket ( db , { bucketName : category } ) ;
647
676
bucket . find ( ) . toArray ( )
648
677
. then ( ( records ) => callback (
0 commit comments