diff --git a/cmd/server/main.go b/cmd/server/main.go index b2ebfa1..b6cc90c 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -94,6 +94,9 @@ func main() { queueProcessor := sync.NewSyncQueueProcessor(queries) go queueProcessor.Start(context.Background()) + // Create worker for background tasks + worker := services.NewWorker(3) + koreaderHandler := handlers.NewKOReaderHandler(queries, connManager, queueProcessor) wsHandler := handlers.NewWSHandler(queries, connManager, cfg.JWTSecret, deviceAuthMiddleware) conflictHandler := handlers.NewConflictHandler(queries, connManager) @@ -104,6 +107,12 @@ func main() { conversionService := services.NewConversionService(queries, "/var/bookhoard/cache/kepub") opdsHandler := handlers.NewOPDSHandler(queries, conversionService) + // NEW: Create refactored handlers + collectionHandler := handlers.NewCollectionHandler(queries, connManager) + mediaHandler := handlers.NewMediaHandler(queries, worker) + searchHandler := handlers.NewSearchHandler(queries) + matchingHandler := handlers.NewMatchingHandler(queries, connManager) + e := echo.New() // Set up validator @@ -142,11 +151,15 @@ func main() { AuthHandler: authHandler, LibraryHandler: libraryHandler, DeviceHandler: deviceHandler, + MediaHandler: mediaHandler, + SearchHandler: searchHandler, + MatchingHandler: matchingHandler, KOReaderHandler: koreaderHandler, WSHandler: wsHandler, ConflictHandler: conflictHandler, AnalyticsHandler: analyticsHandler, QueueHandler: queueHandler, + CollectionHandler: collectionHandler, OPDSHandler: opdsHandler, ConnManager: connManager, QueueProcessor: queueProcessor,