Files
kandev/apps/backend/internal/worktree/provider.go
T
2026-03-05 20:31:17 +00:00

28 lines
757 B
Go

package worktree
import (
"github.com/jmoiron/sqlx"
"github.com/kandev/kandev/internal/common/config"
"github.com/kandev/kandev/internal/common/logger"
)
// Provide creates the worktree manager using separate writer and reader pools.
func Provide(writer, reader *sqlx.DB, cfg *config.Config, log *logger.Logger) (*Manager, func() error, error) {
store, err := NewSQLiteStore(writer, reader)
if err != nil {
return nil, nil, err
}
wtCfg := Config{
Enabled: cfg.Worktree.Enabled,
BasePath: cfg.Worktree.BasePath,
BranchPrefix: "kandev/",
}
wtCfg.SetDataDirFallback(cfg.ResolvedDataDir())
manager, err := NewManager(wtCfg, store, log)
if err != nil {
return nil, nil, err
}
return manager, func() error { return nil }, nil
}