feat: add ScannerHandler to router Config
- Add ScannerHandler field to Config struct for frontend route access - Move scannerHandler creation before registerFrontendRoutes call - Enables /progress page to access scanner data
This commit is contained in:
@@ -52,13 +52,15 @@ type Config struct {
|
||||
QueueProcessor *sync.SyncQueueProcessor
|
||||
DeviceAuthMiddleware *middleware.DeviceAuthMiddleware
|
||||
LoginTracker *ratelimit.LoginAttemptTracker
|
||||
ScannerHandler *handlers.Handler
|
||||
}
|
||||
|
||||
// createJWTMiddleware creates a JWT middleware with proper user context setup
|
||||
func createJWTMiddleware(cfg *Config) echo.MiddlewareFunc {
|
||||
return echojwt.WithConfig(echojwt.Config{
|
||||
SigningKey: []byte(cfg.Cfg.JWTSecret),
|
||||
ContextKey: "user",
|
||||
SigningKey: []byte(cfg.Cfg.JWTSecret),
|
||||
ContextKey: "user",
|
||||
TokenLookup: "cookie:token,header:Authorization",
|
||||
SuccessHandler: func(c echo.Context) {
|
||||
token := c.Get("user").(*jwt.Token)
|
||||
claims := token.Claims.(jwt.MapClaims)
|
||||
@@ -118,6 +120,10 @@ func RegisterRoutes(cfg *Config) *handlers.Handler {
|
||||
jwtMiddleware := createJWTMiddleware(cfg)
|
||||
protected := e.Group("/api", jwtMiddleware)
|
||||
|
||||
// Create scanner handler for scanner routes and progress routes
|
||||
scannerHandler := handlers.SetupRoutes(protected, cfg.Queries, cfg.ConnManager, cfg.QueueProcessor)
|
||||
cfg.ScannerHandler = scannerHandler
|
||||
|
||||
// Register route groups
|
||||
registerAuthRoutes(cfg, rateLimitMiddleware)
|
||||
registerLibraryRoutes(cfg)
|
||||
@@ -136,9 +142,6 @@ func RegisterRoutes(cfg *Config) *handlers.Handler {
|
||||
registerDocumentationRoutes(cfg)
|
||||
e.Static("/static", "web/static")
|
||||
|
||||
// Create scanner handler for scanner routes and progress routes
|
||||
scannerHandler := handlers.SetupRoutes(protected, cfg.Queries, cfg.ConnManager, cfg.QueueProcessor)
|
||||
|
||||
// Start background tasks (queue processor and connection cleanup)
|
||||
scannerHandler.StartBackgroundTasks()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user