@@ -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 ) {
@@ -391,7 +410,7 @@ countlyFs.gridfs = {};
391
410
if ( ! options ) {
392
411
options = { } ;
393
412
}
394
-
413
+ log . d ( "deleteFile" , category , dest , options ) ;
395
414
if ( options . id ) {
396
415
ob . deleteFileById ( category , options . id , callback ) ;
397
416
}
@@ -426,13 +445,19 @@ countlyFs.gridfs = {};
426
445
* console.log("Finished", err);
427
446
* });
428
447
*/
429
- ob . deleteAll = function ( category , dest , callback ) {
448
+ ob . deleteAll = async function ( category , dest , callback ) {
449
+ log . d ( "deleteAll" , category , dest ) ;
430
450
var bucket = new GridFSBucket ( db , { bucketName : category } ) ;
431
- bucket . drop ( function ( error ) {
432
- if ( callback ) {
433
- callback ( error ) ;
434
- }
435
- } ) ;
451
+ let errHandle = null ;
452
+ try {
453
+ await bucket . drop ( ) ;
454
+ }
455
+ catch ( error ) {
456
+ errHandle = error ;
457
+ }
458
+ if ( callback ) {
459
+ callback ( errHandle ) ;
460
+ }
436
461
} ;
437
462
438
463
/**
@@ -457,7 +482,7 @@ countlyFs.gridfs = {};
457
482
if ( ! options ) {
458
483
options = { } ;
459
484
}
460
-
485
+ log . d ( "getStream" , category , dest , options ) ;
461
486
if ( callback ) {
462
487
if ( options . id ) {
463
488
ob . getStreamById ( category , options . id , callback ) ;
@@ -490,7 +515,7 @@ countlyFs.gridfs = {};
490
515
if ( ! options ) {
491
516
options = { } ;
492
517
}
493
-
518
+ log . d ( "getData" , category , dest , options ) ;
494
519
if ( options . id ) {
495
520
ob . getDataById ( category , options . id , callback ) ;
496
521
}
@@ -536,7 +561,7 @@ countlyFs.gridfs = {};
536
561
if ( ! options ) {
537
562
options = { } ;
538
563
}
539
-
564
+ log . d ( "getSize" , category , dest , options ) ;
540
565
var query = { } ;
541
566
if ( options . id ) {
542
567
query . _id = options . id ;
@@ -571,7 +596,7 @@ countlyFs.gridfs = {};
571
596
if ( ! options ) {
572
597
options = { } ;
573
598
}
574
-
599
+ log . d ( "getStats" , category , dest , options ) ;
575
600
var query = { } ;
576
601
if ( options . id ) {
577
602
query . _id = options . id ;
@@ -608,6 +633,7 @@ countlyFs.gridfs = {};
608
633
* });
609
634
*/
610
635
ob . getDataById = function ( category , id , callback ) {
636
+ log . d ( "getDataById" , category , id ) ;
611
637
var bucket = new GridFSBucket ( db , { bucketName : category } ) ;
612
638
var downloadStream = bucket . openDownloadStream ( id ) ;
613
639
downloadStream . on ( 'error' , function ( error ) {
@@ -639,6 +665,7 @@ countlyFs.gridfs = {};
639
665
* });
640
666
*/
641
667
ob . getStreamById = function ( category , id , callback ) {
668
+ log . d ( "getStreamById" , category , id ) ;
642
669
if ( callback ) {
643
670
var bucket = new GridFSBucket ( db , { bucketName : category } ) ;
644
671
callback ( null , bucket . openDownloadStream ( id ) ) ;
@@ -656,17 +683,17 @@ countlyFs.gridfs = {};
656
683
* });
657
684
*/
658
685
ob . deleteFileById = async function ( category , id , callback ) {
686
+ log . d ( "deleteFileById" , category , id ) ;
659
687
var bucket = new GridFSBucket ( db , { bucketName : category } ) ;
688
+ let errHandle = null ;
660
689
try {
661
690
await bucket . delete ( id ) ;
662
- if ( callback ) {
663
- callback ( null ) ;
664
- }
665
691
}
666
- catch ( ee ) {
667
- if ( callback ) {
668
- callback ( ee ) ;
669
- }
692
+ catch ( error ) {
693
+ errHandle = error ;
694
+ }
695
+ if ( callback ) {
696
+ callback ( errHandle ) ;
670
697
}
671
698
} ;
672
699
@@ -681,6 +708,7 @@ countlyFs.gridfs = {};
681
708
* });
682
709
*/
683
710
ob . clearFile = function ( category , filename , callback ) {
711
+ log . d ( "clearFile" , category , filename ) ;
684
712
db . collection ( category + ".files" ) . deleteMany ( { filename : filename } , function ( err1 , res1 ) {
685
713
log . d ( "deleting files" , category , { filename : filename } , err1 , res1 && res1 . result ) ;
686
714
db . collection ( category + ".chunks" ) . deleteMany ( { files_id : filename } , function ( err2 , res2 ) {
@@ -697,6 +725,7 @@ countlyFs.gridfs = {};
697
725
* @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
698
726
*/
699
727
ob . listFiles = function ( category , callback ) {
728
+ log . d ( "listFiles" , category ) ;
700
729
const bucket = new GridFSBucket ( db , { bucketName : category } ) ;
701
730
bucket . find ( ) . toArray ( )
702
731
. then ( ( records ) => callback (
0 commit comments