1- import { json , Router , urlencoded } from 'express'
1+ import { json , NextFunction , Request , Response , Router , urlencoded } from 'express'
22
33import { createLNbitsCallbackController } from '../../factories/controllers/lnbits-callback-controller-factory'
44import { createNodelessCallbackController } from '../../factories/controllers/nodeless-callback-controller-factory'
@@ -9,24 +9,30 @@ import { withController } from '../../handlers/request-handlers/with-controller-
99
1010const router : Router = Router ( )
1111
12- const settings = createSettings ( )
13- const processor = settings . payments ?. processor
12+ const requireProcessor = ( name : string ) =>
13+ ( _req : Request , res : Response , next : NextFunction ) => {
14+ const settings = createSettings ( )
15+ if ( settings . payments ?. processor !== name ) {
16+ res . status ( 403 ) . send ( 'Forbidden' )
17+ return
18+ }
19+ next ( )
20+ }
1421
1522router
16- . post ( '/zebedee' , json ( ) , withController ( createZebedeeCallbackController ) )
17- . post ( '/lnbits' , json ( ) , withController ( createLNbitsCallbackController ) )
18- . post ( '/opennode' , urlencoded ( { extended : false } ) , json ( ) , withController ( createOpenNodeCallbackController ) )
19-
20- if ( processor === 'nodeless' ) {
21- router . post (
23+ . post ( '/zebedee' , requireProcessor ( 'zebedee' ) , json ( ) , withController ( createZebedeeCallbackController ) )
24+ . post ( '/lnbits' , requireProcessor ( 'lnbits' ) , json ( ) , withController ( createLNbitsCallbackController ) )
25+ . post ( '/opennode' , requireProcessor ( 'opennode' ) , urlencoded ( { extended : false } ) , json ( ) , withController ( createOpenNodeCallbackController ) )
26+ . post (
2227 '/nodeless' ,
28+ requireProcessor ( 'nodeless' ) ,
2329 json ( {
2430 verify ( req , _res , buf ) {
2531 ; ( req as any ) . rawBody = buf
2632 } ,
2733 } ) ,
2834 withController ( createNodelessCallbackController ) ,
2935 )
30- }
3136
3237export default router
38+
0 commit comments