diff --git a/internal/handlers/ebook.go b/internal/handlers/ebook.go index 6e34453..8cc689e 100644 --- a/internal/handlers/ebook.go +++ b/internal/handlers/ebook.go @@ -142,16 +142,7 @@ func SetupRoutes(g *echo.Group, db *database.Queries, connManager *wsync.Connect admin.PUT("/media-items/:id", h.UpdateMediaItem) admin.DELETE("/media-items/:id", h.DeleteMediaItem) - // Scanner routes (admin only) - admin.POST("/scanner/scan", h.ScanEbooks) - admin.POST("/scanner/start", h.StartScanner) - admin.POST("/scanner/stop", h.StopScanner) - admin.GET("/scanner/status/:jobId", h.GetScanStatus) - - // Watch mode routes (admin only) - admin.POST("/scanner/watch/start", h.StartWatchMode) - admin.POST("/scanner/watch/stop", h.StopWatchMode) - admin.GET("/scanner/watch/status", h.GetWatchModeStatus) + // Scanner routes are registered in router/scanner.go return h } diff --git a/internal/router/scanner.go b/internal/router/scanner.go new file mode 100644 index 0000000..5344498 --- /dev/null +++ b/internal/router/scanner.go @@ -0,0 +1,20 @@ +package router + +import ( + "bookhoard/internal/handlers" + "github.com/labstack/echo/v4" +) + +// registerScannerRoutes registers all scanner-related endpoints +func registerScannerRoutes(admin *echo.Group, h *handlers.Handler) { + // Scanner routes (admin only) + admin.POST("/scanner/scan", h.ScanEbooks) + admin.POST("/scanner/start", h.StartScanner) + admin.POST("/scanner/stop", h.StopScanner) + admin.GET("/scanner/status/:jobId", h.GetScanStatus) + + // Watch mode routes (admin only) + admin.POST("/scanner/watch/start", h.StartWatchMode) + admin.POST("/scanner/watch/stop", h.StopWatchMode) + admin.GET("/scanner/watch/status", h.GetWatchModeStatus) +}