@@ -177,14 +177,15 @@ async function handleResult(req: express.Request, res: express.Response) {
177177 'log'
178178 ] as const ;
179179
180- const p : any = req . params ;
181- const { type } = p ;
182- const { group } = p ;
183- const { name } = p ;
184- const { hardware } = p ;
185- const { timestamp } = p ;
186-
187- if ( ! types . includes ( type ) ) {
180+ const { type, group, name, hardware, timestamp } = req . params as {
181+ type : string ;
182+ group : string ;
183+ name : string ;
184+ hardware : string ;
185+ timestamp ?: string ;
186+ } ;
187+
188+ if ( ! types . includes ( type as ( typeof types ) [ number ] ) ) {
188189 res . status ( 400 ) . json ( { error : `Invalid type ${ type } provided` } ) ;
189190 return ;
190191 }
@@ -214,13 +215,16 @@ async function handleResult(req: express.Request, res: express.Response) {
214215 switch ( type ) {
215216 case 'reference-thumbnail' :
216217 isThumbnail = true ;
217- case 'reference' :
218+ // falls through
219+ case 'reference' : {
218220 const data = loadTestRecord ( `${ basePath } /data.json` ) ;
219221 const folder = referenceImagePath ( group , name , hardware ) ;
220222 path = `${ folder } /${ data . referenceImage } ` ;
221223 break ;
224+ }
222225 case 'candidate-thumbnail' :
223226 isThumbnail = true ;
227+ // falls through
224228 case 'candidate' :
225229 path = candidateImage (
226230 group ,
@@ -231,6 +235,7 @@ async function handleResult(req: express.Request, res: express.Response) {
231235 break ;
232236 case 'difference-thumbnail' :
233237 isThumbnail = true ;
238+ // falls through
234239 case 'difference' :
235240 path = differenceImage (
236241 group ,
@@ -240,7 +245,9 @@ async function handleResult(req: express.Request, res: express.Response) {
240245 ) ;
241246 break ;
242247 case 'log' :
243- path = logFile ( group , name , hardware , new Date ( timestamp ) ) ;
248+ path = logFile ( group , name , hardware , new Date ( timestamp ! ) ) ;
249+ break ;
250+ default :
244251 break ;
245252 }
246253
@@ -273,12 +280,13 @@ async function handleResult(req: express.Request, res: express.Response) {
273280 * - `hardware2`: The second hardware for which to return the comparison
274281 */
275282async function handleCompare ( req : express . Request , res : express . Response ) {
276- const p : any = req . params ;
277- const { type } = p ;
278- const { group } = p ;
279- const { name } = p ;
280- const { hardware1 } = p ;
281- const { hardware2 } = p ;
283+ const { type, group, name, hardware1, hardware2 } = req . params as {
284+ type : string ;
285+ group : string ;
286+ name : string ;
287+ hardware1 : string ;
288+ hardware2 : string ;
289+ } ;
282290
283291 if ( ! [ 'reference' , 'candidate' ] . includes ( type ) ) {
284292 res . status ( 400 ) . json ( { error : `Invalid type ${ type } provided` } ) ;
@@ -430,18 +438,18 @@ async function handleSubmitTest(req: express.Request, res: express.Response) {
430438 return ;
431439 }
432440
433- const files : any = req . files ! ;
434- if ( files . file == null || files . file . length == 0 ) {
441+ const files = req . files as { [ fieldname : string ] : Express . Multer . File [ ] } ;
442+ if ( files [ ' file' ] == null || files [ ' file' ] . length == 0 ) {
435443 res . status ( 400 ) . json ( { error : "Missing field 'file'" } ) ;
436444 return ;
437445 }
438- const file = files . file [ 0 ] ;
446+ const [ file ] = files [ ' file' ] as [ Express . Multer . File ] ;
439447
440- if ( files . log == null || files . log . length == 0 ) {
448+ if ( files [ ' log' ] == null || files [ ' log' ] . length == 0 ) {
441449 res . status ( 400 ) . json ( { error : "Missing field 'log'" } ) ;
442450 return ;
443451 }
444- const log = files . log [ 0 ] ;
452+ const [ log ] = files [ ' log' ] as [ Express . Multer . File ] ;
445453
446454 try {
447455 const png = PNG . sync . read ( file . buffer ) ;
@@ -451,7 +459,7 @@ async function handleSubmitTest(req: express.Request, res: express.Response) {
451459 res . status ( 400 ) . json ( { error : `Image has the wrong size. Expected (${ w } , ${ h } )` } ) ;
452460 return ;
453461 }
454- } catch ( e : any ) {
462+ } catch ( e : unknown ) {
455463 res . status ( 400 ) . json ( { error : `Error loading image: ${ e } ` } ) ;
456464 return ;
457465 }
@@ -585,7 +593,7 @@ function handleRunTest(req: express.Request, res: express.Response) {
585593 res . status ( 400 ) . json ( { error : `Image has the wrong size. Expected (${ w } , ${ h } )` } ) ;
586594 return ;
587595 }
588- } catch ( e : any ) {
596+ } catch ( e : unknown ) {
589597 res . status ( 400 ) . json ( { error : `Error loading image: ${ e } ` } ) ;
590598 return ;
591599 }
0 commit comments