1
- import { exists , readFile , unlink , readdir } from 'fs' ;
1
+ import { readFile , unlink , readdir , stat } from 'fs' ;
2
2
import { resolve } from 'path' ;
3
3
4
+ import { logger } from '@config/logger' ;
5
+
4
6
/**
5
7
* FilesystemService
6
8
*
@@ -18,16 +20,18 @@ export class FilesystemService {
18
20
*/
19
21
public static readFolder ( path : string ) : Promise < string [ ] > {
20
22
return new Promise ( ( resolve , reject ) => {
21
- exists ( path , ( exists : boolean ) => {
22
- if ( exists ) {
23
- return readdir ( path , ( err , files ) => {
24
- if ( err ) {
25
- reject ( err ) ;
26
- }
27
- resolve ( files ) ;
28
- } ) ;
23
+ stat ( path , ( err : NodeJS . ErrnoException | null ) => {
24
+ if ( err ) {
25
+ logger . error ( `${ path } does not exists!` ) ;
26
+ reject ( err ) ;
29
27
}
30
- reject ( 'Folder does not exist!' ) ;
28
+
29
+ return readdir ( path , ( err , files ) => {
30
+ if ( err ) {
31
+ reject ( err ) ;
32
+ }
33
+ resolve ( files ) ;
34
+ } ) ;
31
35
} ) ;
32
36
} ) ;
33
37
}
@@ -41,16 +45,18 @@ export class FilesystemService {
41
45
*/
42
46
public static readFile ( path : string , encoding : string = 'utf8' ) : Promise < string > {
43
47
return new Promise ( ( resolve , reject ) => {
44
- exists ( path , ( exists : boolean ) => {
45
- if ( exists ) {
46
- return readFile ( path , encoding , ( err , data ) => {
47
- if ( err ) {
48
- reject ( err ) ;
49
- }
50
- resolve ( data ) ;
51
- } ) ;
48
+ stat ( path , ( err : NodeJS . ErrnoException | null ) => {
49
+ if ( err ) {
50
+ logger . error ( `${ path } does not exists!` ) ;
51
+ reject ( err ) ;
52
52
}
53
- reject ( 'File does not exist!' ) ;
53
+
54
+ return readFile ( path , encoding , ( err , data ) => {
55
+ if ( err ) {
56
+ reject ( err ) ;
57
+ }
58
+ resolve ( data ) ;
59
+ } ) ;
54
60
} ) ;
55
61
} ) ;
56
62
}
@@ -63,16 +69,18 @@ export class FilesystemService {
63
69
*/
64
70
public static deleteFile ( path : string ) : Promise < string | undefined > {
65
71
return new Promise ( ( resolve , reject ) => {
66
- exists ( path , ( exists : boolean ) => {
67
- if ( exists ) {
68
- return unlink ( path , ( err ) => {
69
- if ( err ) {
70
- reject ( err ) ;
71
- }
72
- resolve ( ) ;
73
- } ) ;
72
+ stat ( path , ( err : NodeJS . ErrnoException | null ) => {
73
+ if ( err ) {
74
+ logger . error ( `${ path } does not exists!` ) ;
75
+ reject ( err ) ;
74
76
}
75
- reject ( 'File does not exist!' ) ;
77
+
78
+ return unlink ( path , ( err ) => {
79
+ if ( err ) {
80
+ reject ( err ) ;
81
+ }
82
+ resolve ( ) ;
83
+ } ) ;
76
84
} ) ;
77
85
} ) ;
78
86
}
0 commit comments