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,6 +52,7 @@ type Config struct {
|
|||||||
QueueProcessor *sync.SyncQueueProcessor
|
QueueProcessor *sync.SyncQueueProcessor
|
||||||
DeviceAuthMiddleware *middleware.DeviceAuthMiddleware
|
DeviceAuthMiddleware *middleware.DeviceAuthMiddleware
|
||||||
LoginTracker *ratelimit.LoginAttemptTracker
|
LoginTracker *ratelimit.LoginAttemptTracker
|
||||||
|
ScannerHandler *handlers.Handler
|
||||||
}
|
}
|
||||||
|
|
||||||
// createJWTMiddleware creates a JWT middleware with proper user context setup
|
// createJWTMiddleware creates a JWT middleware with proper user context setup
|
||||||
@@ -59,6 +60,7 @@ func createJWTMiddleware(cfg *Config) echo.MiddlewareFunc {
|
|||||||
return echojwt.WithConfig(echojwt.Config{
|
return echojwt.WithConfig(echojwt.Config{
|
||||||
SigningKey: []byte(cfg.Cfg.JWTSecret),
|
SigningKey: []byte(cfg.Cfg.JWTSecret),
|
||||||
ContextKey: "user",
|
ContextKey: "user",
|
||||||
|
TokenLookup: "cookie:token,header:Authorization",
|
||||||
SuccessHandler: func(c echo.Context) {
|
SuccessHandler: func(c echo.Context) {
|
||||||
token := c.Get("user").(*jwt.Token)
|
token := c.Get("user").(*jwt.Token)
|
||||||
claims := token.Claims.(jwt.MapClaims)
|
claims := token.Claims.(jwt.MapClaims)
|
||||||
@@ -118,6 +120,10 @@ func RegisterRoutes(cfg *Config) *handlers.Handler {
|
|||||||
jwtMiddleware := createJWTMiddleware(cfg)
|
jwtMiddleware := createJWTMiddleware(cfg)
|
||||||
protected := e.Group("/api", jwtMiddleware)
|
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
|
// Register route groups
|
||||||
registerAuthRoutes(cfg, rateLimitMiddleware)
|
registerAuthRoutes(cfg, rateLimitMiddleware)
|
||||||
registerLibraryRoutes(cfg)
|
registerLibraryRoutes(cfg)
|
||||||
@@ -136,9 +142,6 @@ func RegisterRoutes(cfg *Config) *handlers.Handler {
|
|||||||
registerDocumentationRoutes(cfg)
|
registerDocumentationRoutes(cfg)
|
||||||
e.Static("/static", "web/static")
|
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)
|
// Start background tasks (queue processor and connection cleanup)
|
||||||
scannerHandler.StartBackgroundTasks()
|
scannerHandler.StartBackgroundTasks()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user