diff --git a/cmd/minstrel/main.go b/cmd/minstrel/main.go index 226b43cd..20be252e 100644 --- a/cmd/minstrel/main.go +++ b/cmd/minstrel/main.go @@ -14,6 +14,7 @@ import ( "git.fabledsword.com/bvandeusen/minstrel/internal/auth" "git.fabledsword.com/bvandeusen/minstrel/internal/config" "git.fabledsword.com/bvandeusen/minstrel/internal/db" + "git.fabledsword.com/bvandeusen/minstrel/internal/library" "git.fabledsword.com/bvandeusen/minstrel/internal/logging" "git.fabledsword.com/bvandeusen/minstrel/internal/server" ) @@ -62,7 +63,16 @@ func run() error { return fmt.Errorf("bootstrap admin: %w", err) } - srv := server.New(logger) + scanner := library.New(pool, logger, cfg.Library.ScanPaths) + if cfg.Library.ScanOnStartup && len(cfg.Library.ScanPaths) > 0 { + go func() { + if _, err := scanner.Scan(ctx); err != nil { + logger.Error("startup scan failed", "err", err) + } + }() + } + + srv := server.New(logger, pool, scanner) httpServer := &http.Server{ Addr: cfg.Server.Address, Handler: srv.Router(),