@@ -13,6 +13,13 @@ export class FilesController {
13
13
this . _filesAdapter = filesAdapter ;
14
14
}
15
15
16
+ static getHandler ( ) {
17
+ return ( req , res ) => {
18
+ let config = new Config ( req . params . appId ) ;
19
+ return config . filesController . getHandler ( ) ( req , res ) ;
20
+ }
21
+ }
22
+
16
23
getHandler ( ) {
17
24
return ( req , res ) => {
18
25
let config = new Config ( req . params . appId ) ;
@@ -30,6 +37,13 @@ export class FilesController {
30
37
} ;
31
38
}
32
39
40
+ static createHandler ( ) {
41
+ return ( req , res , next ) => {
42
+ let config = req . config ;
43
+ return config . filesController . createHandler ( ) ( req , res , next ) ;
44
+ }
45
+ }
46
+
33
47
createHandler ( ) {
34
48
return ( req , res , next ) => {
35
49
if ( ! req . body || ! req . body . length ) {
@@ -50,6 +64,7 @@ export class FilesController {
50
64
return ;
51
65
}
52
66
67
+ const filesController = req . config . filesController ;
53
68
// If a content-type is included, we'll add an extension so we can
54
69
// return the same content-type.
55
70
let extension = '' ;
@@ -60,9 +75,9 @@ export class FilesController {
60
75
}
61
76
62
77
let filename = randomHexString ( 32 ) + '_' + req . params . filename + extension ;
63
- this . _filesAdapter . createFile ( req . config , filename , req . body ) . then ( ( ) => {
78
+ filesController . _filesAdapter . createFile ( req . config , filename , req . body ) . then ( ( ) => {
64
79
res . status ( 201 ) ;
65
- var location = this . _filesAdapter . getFileLocation ( req . config , filename ) ;
80
+ var location = filesController . _filesAdapter . getFileLocation ( req . config , filename ) ;
66
81
res . set ( 'Location' , location ) ;
67
82
res . json ( { url : location , name : filename } ) ;
68
83
} ) . catch ( ( error ) => {
@@ -72,6 +87,13 @@ export class FilesController {
72
87
} ;
73
88
}
74
89
90
+ static deleteHandler ( ) {
91
+ return ( req , res , next ) => {
92
+ let config = req . config ;
93
+ return config . filesController . deleteHandler ( ) ( req , res , next ) ;
94
+ }
95
+ }
96
+
75
97
deleteHandler ( ) {
76
98
return ( req , res , next ) => {
77
99
this . _filesAdapter . deleteFile ( req . config , req . params . filename ) . then ( ( ) => {
@@ -114,9 +136,9 @@ export class FilesController {
114
136
}
115
137
}
116
138
117
- getExpressRouter ( ) {
139
+ static getExpressRouter ( ) {
118
140
let router = express . Router ( ) ;
119
- router . get ( '/files/:appId/:filename' , this . getHandler ( ) ) ;
141
+ router . get ( '/files/:appId/:filename' , FilesController . getHandler ( ) ) ;
120
142
121
143
router . post ( '/files' , function ( req , res , next ) {
122
144
next ( new Parse . Error ( Parse . Error . INVALID_FILE_NAME ,
@@ -127,14 +149,14 @@ export class FilesController {
127
149
Middlewares . allowCrossDomain ,
128
150
BodyParser . raw ( { type : '*/*' , limit : '20mb' } ) ,
129
151
Middlewares . handleParseHeaders ,
130
- this . createHandler ( )
152
+ FilesController . createHandler ( )
131
153
) ;
132
154
133
155
router . delete ( '/files/:filename' ,
134
156
Middlewares . allowCrossDomain ,
135
157
Middlewares . handleParseHeaders ,
136
158
Middlewares . enforceMasterKeyAccess ,
137
- this . deleteHandler ( )
159
+ FilesController . deleteHandler ( )
138
160
) ;
139
161
140
162
return router ;
0 commit comments