55
66import { Request , Response , NextFunction , Router } from 'express' ;
77import { NostrService } from '../services/nostr.service.js' ;
8- import { NostrEvent , NostrAuthConfig } from '../types.js' ;
8+ import type { NostrEvent , NostrAuthConfig , JWTExpiresIn } from '../types.js' ;
99import { createLogger } from '../utils/logger.js' ;
1010
1111const logger = createLogger ( 'NostrAuthMiddleware' ) ;
1212
13- const DEFAULT_CONFIG : Required < Pick < NostrAuthConfig , 'keyManagementMode' | 'eventTimeoutMs' | 'jwtExpiresIn' > > = {
13+ const DEFAULT_CONFIG : Required < Pick < NostrAuthConfig , 'keyManagementMode' | 'eventTimeoutMs' | 'jwtExpiresIn' | 'port' > > = {
1414 keyManagementMode : 'development' ,
1515 eventTimeoutMs : 300000 , // 5 minutes
16- jwtExpiresIn : '1h'
16+ jwtExpiresIn : '1h' as JWTExpiresIn ,
17+ port : 3000 // Default port
1718} ;
1819
1920/**
@@ -37,14 +38,15 @@ export class NostrAuthMiddleware {
3738 }
3839
3940 // Ensure required properties are present with defaults
40- const fullConfig = {
41+ const fullConfig : NostrAuthConfig = {
4142 ...DEFAULT_CONFIG ,
4243 ...config ,
4344 jwtSecret : config . jwtSecret ,
45+ port : config . port || DEFAULT_CONFIG . port ,
4446 eventTimeoutMs : config . eventTimeoutMs || DEFAULT_CONFIG . eventTimeoutMs ,
4547 jwtExpiresIn : config . jwtExpiresIn || DEFAULT_CONFIG . jwtExpiresIn ,
4648 keyManagementMode : config . keyManagementMode || DEFAULT_CONFIG . keyManagementMode
47- } as NostrAuthConfig ;
49+ } ;
4850
4951 this . nostrService = nostrService || new NostrService ( fullConfig ) ;
5052 this . router = Router ( ) ;
0 commit comments